diff --git a/README.md b/README.md index b2551f6..7c72b4e 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,9 @@ I've created this plugin because I hate ugly and space consuming scrollbars. Sim - Usage of the most recent technologies to ensure maximum efficiency and performance on newer browsers. - Can be used without any dependencies or with jQuery. - Automatic update detection - after the initialization you don't have to worry about updating. + - Extremely powerful scroll method with features like animations, relative coordinates, scrollIntoView and more. - Mouse and touch support. - - Textarea support. + - Textarea and Body support. - Direction RTL support. (with normalization) - Simple and effective scrollbar-styling. diff --git a/css/OverlayScrollbars.css b/css/OverlayScrollbars.css index e5607e3..609280a 100644 --- a/css/OverlayScrollbars.css +++ b/css/OverlayScrollbars.css @@ -2,13 +2,13 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.4.4 + * Version: 1.4.5 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 06.05.2018 + * Date: 18.05.2018 */ /* diff --git a/css/OverlayScrollbars.min.css b/css/OverlayScrollbars.min.css index 4d35615..4ee7ec9 100644 --- a/css/OverlayScrollbars.min.css +++ b/css/OverlayScrollbars.min.css @@ -2,12 +2,12 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.4.4 + * Version: 1.4.5 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 06.05.2018 + * Date: 18.05.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}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}#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.os-viewport::-webkit-scrollbar,.os-viewport-native-scrollbars-invisible#hs-dummy-scrollbar-size::-webkit-scrollbar-corner,.os-viewport-native-scrollbars-invisible.os-viewport::-webkit-scrollbar-corner{display:none!important;width:0!important;height:0!important;visibility:hidden!important;background:transparent!important}.os-content-glue{max-height:100%;max-width:100%;width:100%;pointer-events:none}.os-padding{direction:inherit;position:absolute;overflow:visible;padding:0;margin:0;left:0;top:0;bottom:0;right:0;width:auto!important;height:auto!important;z-index:1}.os-host-overflow > .os-padding{overflow:hidden}.os-viewport{direction:inherit!important;box-sizing:inherit!important;resize:none!important;position:absolute;overflow:hidden;top:0;left:0;bottom:0;right:0;padding:0;margin:0;-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%;height:100%;width:100%;visibility:visible}.os-host-textarea > .os-padding > .os-content{overflow:hidden!important}.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:transparent!important;outline:0 none transparent!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:inherit;border-color:transparent;border-style:solid;box-sizing:border-box}.os-resize-observer-host:after{content:''}.os-resize-observer-host > .os-resize-observer,.os-resize-observer-host:after{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}.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:.001s;animation-duration:.001s;-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 0.3s,visibility 0.3s,top 0.3s,right 0.3s,bottom 0.3s,left .3s;transition:opacity 0.3s,visibility 0.3s,top 0.3s,right 0.3s,bottom 0.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-track{pointer-events:auto;position:relative;height:100%;width:100%;padding:0!important;border:none!important}.os-scrollbar-handle{pointer-events:auto;position:absolute;width:100%;height:100%}.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-vertical{right:auto;left:0}.os-host-rtl > .os-scrollbar-corner{right:auto;left:0}.os-scrollbar-auto-hidden,.os-padding + .os-scrollbar-corner,.os-host-resize-disabled.os-host-scrollbar-horizontal-hidden > .os-scrollbar-corner,.os-host-scrollbar-horizontal-hidden > .os-scrollbar-horizontal,.os-host-resize-disabled.os-host-scrollbar-vertical-hidden > .os-scrollbar-corner,.os-host-scrollbar-vertical-hidden > .os-scrollbar-vertical,.os-scrollbar-horizontal.os-scrollbar-auto-hidden + .os-scrollbar-vertical + .os-scrollbar-corner,.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-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{right:0;left:0}.os-scrollbar:hover,.os-scrollbar-corner.os-scrollbar-corner-resize{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-horizontal,.os-theme-none > .os-scrollbar-vertical,.os-theme-none > .os-scrollbar-corner{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:transparent}.os-theme-dark > .os-scrollbar.os-scrollbar-unusable,.os-theme-light > .os-scrollbar.os-scrollbar-unusable{background:transparent}.os-theme-dark > .os-scrollbar > .os-scrollbar-track,.os-theme-light > .os-scrollbar > .os-scrollbar-track{background:transparent}.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-scrollbar > .os-scrollbar-track > .os-scrollbar-handle,.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle{border-radius:11px;opacity:.4}.os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle{background:#000}.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle{background:#fff}.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:opacity .3s;transition:opacity .3s}.os-theme-dark > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle,.os-theme-light > .os-scrollbar:hover > .os-scrollbar-track > .os-scrollbar-handle{opacity:.55}.os-theme-dark > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active,.os-theme-light > .os-scrollbar > .os-scrollbar-track > .os-scrollbar-handle.active{opacity:.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 dcff0e4..d0e7072 100644 --- a/js/OverlayScrollbars.js +++ b/js/OverlayScrollbars.js @@ -2,19 +2,19 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.4.4 + * Version: 1.4.5 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 06.05.2018 + * Date: 18.05.2018 */ (function (global, factory) { - //if (typeof define === 'function' && define.amd) - // define(function() { return factory(global, global.document, undefined); }); - if (typeof module === 'object' && typeof module.exports === 'object') + if (typeof define === 'function' && define.amd) + define(function() { return factory(global, global.document, undefined); }); + else if (typeof module === 'object' && typeof module.exports === 'object') module.exports = factory(global, global.document, undefined); else factory(global, global.document, undefined); @@ -124,10 +124,28 @@ * @param e The event of which the default action shall be prevented. */ prvD: function(e) { - if(e.preventDefault) - e.preventDefault(); - else - e.returnValue = false; + if(e.preventDefault && e.cancelable) + e.preventDefault(); + else + e.returnValue = false; + }, + + /** + * 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 + * @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.length; i++) { + //Sometiems in IE a "SCRIPT70" Permission denied error occurs if HTML elemtns in a iFrame are compared + try { + if (arr[i] === item) + return i; + } + catch(e) { } + } + return -1; }, /** @@ -212,6 +230,8 @@ var _toStr = Object.prototype.toString; var _strSpace = ' '; var _strEmpty = ''; + var _strScrollLeft = 'scrollLeft'; + var _strScrollTop = 'scrollTop'; var _animations = [ ]; var _cssNumber = { "animationIterationCount": true, @@ -475,12 +495,7 @@ return typeof key === TYPES.u || hasOwnProperty.call(obj, key); }; - var inArray = function(item, arr) { - for (var i = 0; i < arr.length; i++) - if (arr[i] === item) - return i; - return -1; - }; + var inArray = compatibility.inA; var each = function(obj, callback) { var i = 0; @@ -527,7 +542,7 @@ } if(elements) { - if(type(elements) !== TYPES.s && !elements.length) + if(type(elements) !== TYPES.s && !isArrayLike(elements)) elements = [ elements ]; for(i = 0; i < elements.length; i++) @@ -601,26 +616,26 @@ } function setAnimationValue(el, prop, value) { - if(prop === 'scrollLeft') + if(prop === _strScrollLeft) el[prop] = value; - else if(prop === 'scrollTop') + else if(prop === _strScrollTop) el[prop] = value; else setCSSVal(el, prop, value); } function animate(el, props, options, easing, complete, guaranteedNext) { + var hasOptions = isPlainObject(options); var from = { }; var to = { }; + var i = 0; var key; var animObj; - var i = 0; var start; var progress; var step; var specialEasing; var duration; - var hasOptions = isPlainObject(options); if(hasOptions) { easing = options.easing; start = options.start; @@ -647,16 +662,16 @@ if(!animObj) { animObj = { el : el, - q : [], + q : [] }; _animations.push(animObj); } for (key in props) { - if(key === 'scrollLeft' || key === 'scrollTop') + if(key === _strScrollLeft || key === _strScrollTop) from[key] = el[key]; else - from[key] = new FakejQuery(el).css(key); + from[key] = FakejQuery(el).css(key); } for (key in from) @@ -678,7 +693,7 @@ props : to, duration : hasOptions ? options : duration, easing : easing, - complete : complete, + complete : complete }; if (qPos === -1) { qPos = animObj.q.length; @@ -772,132 +787,8 @@ } FakejQuery.prototype = { - each : function(callback) { - return each(this, callback); - }, - append : function(child) { - return this.each(function() { insertAdjacentElement(this, 'beforeend', child); }); - }, - - prepend : function(child) { - return this.each(function() { insertAdjacentElement(this, 'afterbegin', child); }); - }, - - before : function(child) { - return this.each(function() { insertAdjacentElement(this, 'beforebegin', child); }); - }, - - after : function(child) { - return this.each(function() { insertAdjacentElement(this, 'afterend', child); }); - }, - - hover: function(over, out) { - return this.on('mouseenter', over).on('mouseleave', out || over); - }, - - first : function() { - return new FakejQuery(this[0]); - }, - - last : function() { - return new FakejQuery(this[this.length - 1]); - }, - - find : function(selector) { - var children = [ ]; - var i; - this.each(function() { - var el = this; - var ch = el.querySelectorAll(selector); - for(i = 0; i < ch.length; i++) - children.push(ch[i]); - }); - return new FakejQuery(children); - }, - - hide : function() { - return this.each(function() { this.style.display = 'none'; }); - }, - - show : function() { - return this.each(function() { this.style.display = 'block'; }); - }, - - attr : function(attrName, value) { - for(var i = 0; i < this.length; i++) { - var el = this[i]; - if(value === undefined) - return el.getAttribute(attrName); - el.setAttribute(attrName, value); - } - return this; - }, - - removeAttr : function(attrName) { - return this.each(function() { this.removeAttribute(attrName); }); - }, - - prop : function(propertyName, value) { - for(var i = 0; i < this.length; i++) { - var el = this[i]; - if(value === undefined) - return el[propertyName]; - el[propertyName] = value; - } - return this; - }, - - val : function(value) { - var el = this[0]; - if(!value) - return el.value; - el.value = value; - return this; - }, - - scrollLeft : function(value) { - for(var i = 0; i < this.length; i++) { - var el = this[i]; - if(value === undefined) - return el.scrollLeft; - el.scrollLeft = value; - } - return this; - }, - - scrollTop : function(value) { - for(var i = 0; i < this.length; i++) { - var el = this[i]; - if(value === undefined) - return el.scrollTop; - el.scrollTop = value; - } - return this; - }, - - children : function(selector) { - var children = [ ]; - var el; - var ch; - var i; - - this.each(function() { - el = this; - ch = el.children; - - for(i = 0; i < ch.length; i++) { - var el = ch[i]; - if(selector) { - if((el.matches && el.matches(selector)) || matches(el, selector)) - children.push(el); - } - else - children.push(el); - } - }); - return new FakejQuery(children); - }, + //EVENTS: on : function(eventName, handler) { eventName = (eventName || _strEmpty).match(_rnothtmlwhite) || [_strEmpty]; @@ -939,6 +830,17 @@ }); }, + one : function (eventName, handler) { + return this.each(function() { + var el = FakejQuery(this); + var oneHandler = function(e) { + handler.call(this, e); + el.off(eventName, oneHandler); + }; + el.on(eventName, oneHandler); + }); + }, + trigger : function(eventName) { var el; var event; @@ -955,156 +857,38 @@ }); }, - hasClass : function(className) { - var elem, i = 0; - var classNamePrepared = _strSpace + className + _strSpace; - - while ((elem = this[ i++ ])) { - if(elem.classList) { - if(elem.classList.contains(className)) - return true; - } - else if (elem.nodeType === 1 && (_strSpace + stripAndCollapse(elem.className) + _strSpace).indexOf(classNamePrepared) > -1 ) - return true; - } - - return false; + hover: function(over, out) { + return this.on('mouseenter', over).on('mouseleave', out || over); }, - addClass : function(className) { - var classes; - var elem; - var cur; - var curValue; - var clazz; - var finalValue; - var supportClassList = null; - var i = 0; - var v = 0; - if (className) { - classes = className.match( _rnothtmlwhite ) || []; + //DOM NODE INSERTING / REMOVING: - while ((elem = this[i++])) { - if(supportClassList === undefined) - supportClassList = elem.classList !== undefined; - - if(supportClassList) { - while ((clazz = classes[v++])) - elem.classList.add(clazz); - } - else { - curValue = elem.className; - cur = elem.nodeType === 1 && (_strSpace + stripAndCollapse(curValue) + _strSpace); - - if (cur) { - while ((clazz = classes[v++])) - if (cur.indexOf(_strSpace + clazz + _strSpace) < 0) - cur += clazz + _strSpace; - - finalValue = stripAndCollapse(cur); - if (curValue !== finalValue) - elem.className = finalValue; - } - } - } - } - - return this; + append : function(child) { + return this.each(function() { insertAdjacentElement(this, 'beforeend', child); }); }, - removeClass : function(className) { - var classes; - var elem; - var cur; - var curValue; - var clazz; - var finalValue; - var supportClassList = null; - var i = 0; - var v = 0; + prepend : function(child) { + return this.each(function() { insertAdjacentElement(this, 'afterbegin', child); }); + }, - if (className) { - classes = className.match(_rnothtmlwhite) || []; + before : function(child) { + return this.each(function() { insertAdjacentElement(this, 'beforebegin', child); }); + }, - while ((elem = this[i++])) { - if(supportClassList === undefined) - supportClassList = elem.classList !== undefined; - - if(supportClassList) { - while ((clazz = classes[v++])) - elem.classList.remove(clazz); - } - else { - curValue = elem.className; - cur = elem.nodeType === 1 && (_strSpace + stripAndCollapse(curValue) + _strSpace); - - if (cur) { - while ((clazz = classes[v++])) - while (cur.indexOf(_strSpace + clazz + _strSpace) > -1) - cur = cur.replace(_strSpace + clazz + _strSpace, _strSpace); - - finalValue = stripAndCollapse(cur); - if (curValue !== finalValue) - elem.className = finalValue; - } - } - } - } - - return this; + after : function(child) { + return this.each(function() { insertAdjacentElement(this, 'afterend', child); }); }, remove : function() { return this.each(function() { var el = this; - if(el.parentNode != null) - el.parentNode.removeChild(el); + var parentNode = el.parentNode; + if(parentNode != null) + parentNode.removeChild(el); }); }, - offset : function() { - var el = this[0]; - var rect = el.getBoundingClientRect(); - var scrollLeft = window.pageXOffset || document.documentElement.scrollLeft; - var scrollTop = window.pageYOffset || document.documentElement.scrollTop; - return { - top: rect.top + scrollTop, - left: rect.left + scrollLeft - }; - }, - - position : function() { - var el = this[0]; - return { - top: el.offsetTop, - left: el.offsetLeft - }; - }, - - css : function(styles, val) { - var el; - var key; - - if(type(styles) === TYPES.s) { - if(val === undefined) { - el = this[0]; - return window.getComputedStyle ? window.getComputedStyle(el, null).getPropertyValue(styles) : el.currentStyle[styles]; - } - else { - return this.each(function() { - setCSSVal(this, styles, val); - }); - } - } - else { - return this.each(function() { - for(key in styles) - setCSSVal(this, key, styles[key]); - }); - } - }, - unwrap : function() { var parents = [ ]; var i; @@ -1131,7 +915,7 @@ wrapAll : function(wrapperHTML) { var i; var nodes = this; - var wrapper = new FakejQuery(wrapperHTML)[0]; + var wrapper = FakejQuery(wrapperHTML)[0]; var deepest = wrapper; var parent = nodes[0].parentNode; var previousSibling = nodes[0].previousSibling; @@ -1149,7 +933,7 @@ wrapInner : function(wrapperHTML) { return this.each(function() { - var el = new FakejQuery(this); + var el = FakejQuery(this); var contents = el.contents(); if (contents.length) @@ -1160,7 +944,287 @@ }, wrap : function(wrapperHTML) { - return this.each(function() { new FakejQuery(this).wrapAll(wrapperHTML); }); + return this.each(function() { FakejQuery(this).wrapAll(wrapperHTML); }); + }, + + + //DOM NODE MANIPULATION / INFORMATION: + + css : function(styles, val) { + var el; + var key; + var cptStyle; + var getCptStyle = window.getComputedStyle; + 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.style[styles]; + } + else { + return this.each(function() { + setCSSVal(this, styles, val); + }); + } + } + else { + return this.each(function() { + for(key in styles) + setCSSVal(this, key, styles[key]); + }); + } + }, + + hasClass : function(className) { + var elem, i = 0; + var classNamePrepared = _strSpace + className + _strSpace; + var classList; + + 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 ) + return true; + } + + return false; + }, + + addClass : function(className) { + var classes; + var elem; + var cur; + var curValue; + var clazz; + var finalValue; + var supportClassList; + var elmClassList; + var i = 0; + var v = 0; + + if (className) { + classes = className.match( _rnothtmlwhite ) || []; + + while ((elem = this[i++])) { + elmClassList = elem.classList; + if(supportClassList === undefined) + supportClassList = elmClassList !== undefined; + + if(supportClassList) { + while ((clazz = classes[v++])) + elmClassList.add(clazz); + } + else { + curValue = elem.className + _strEmpty; + cur = elem.nodeType === 1 && (_strSpace + stripAndCollapse(curValue) + _strSpace); + + if (cur) { + while ((clazz = classes[v++])) + if (cur.indexOf(_strSpace + clazz + _strSpace) < 0) + cur += clazz + _strSpace; + + finalValue = stripAndCollapse(cur); + if (curValue !== finalValue) + elem.className = finalValue; + } + } + } + } + + return this; + }, + + removeClass : function(className) { + var classes; + var elem; + var cur; + var curValue; + var clazz; + var finalValue; + var supportClassList; + var elmClassList; + var i = 0; + var v = 0; + + if (className) { + classes = className.match(_rnothtmlwhite) || []; + + while ((elem = this[i++])) { + elmClassList = elem.classList; + if(supportClassList === undefined) + supportClassList = elmClassList !== undefined; + + if(supportClassList) { + while ((clazz = classes[v++])) + elmClassList.remove(clazz); + } + else { + curValue = elem.className + _strEmpty; + cur = elem.nodeType === 1 && (_strSpace + stripAndCollapse(curValue) + _strSpace); + + if (cur) { + while ((clazz = classes[v++])) + while (cur.indexOf(_strSpace + clazz + _strSpace) > -1) + cur = cur.replace(_strSpace + clazz + _strSpace, _strSpace); + + finalValue = stripAndCollapse(cur); + if (curValue !== finalValue) + elem.className = finalValue; + } + } + } + } + + return this; + }, + + hide : function() { + return this.each(function() { this.style.display = 'none'; }); + }, + + show : function() { + return this.each(function() { this.style.display = 'block'; }); + }, + + attr : function(attrName, value) { + for(var i = 0; i < this.length; i++) { + var el = this[i]; + if(value === undefined) + return el.getAttribute(attrName); + el.setAttribute(attrName, value); + } + return this; + }, + + removeAttr : function(attrName) { + return this.each(function() { this.removeAttribute(attrName); }); + }, + + offset : function() { + var el = this[0]; + var rect = el.getBoundingClientRect(); + var scrollLeft = window.pageXOffset || document.documentElement[_strScrollLeft]; + var scrollTop = window.pageYOffset || document.documentElement[_strScrollTop]; + return { + top: rect.top + scrollTop, + left: rect.left + scrollLeft + }; + }, + + position : function() { + var el = this[0]; + return { + top: el.offsetTop, + left: el.offsetLeft + }; + }, + + scrollLeft : function(value) { + for(var i = 0; i < this.length; i++) { + var el = this[i]; + if(value === undefined) + return el[_strScrollLeft]; + el[_strScrollLeft] = value; + } + return this; + }, + + scrollTop : function(value) { + for(var i = 0; i < this.length; i++) { + var el = this[i]; + if(value === undefined) + return el[_strScrollTop]; + el[_strScrollTop] = value; + } + return this; + }, + + val : function(value) { + var el = this[0]; + if(!value) + return el.value; + el.value = value; + return this; + }, + + + //DOM TRAVERSAL: + + first : function() { + return this.eq(0); + }, + + last : function() { + return this.eq(-1); + }, + + eq : function(index) { + return FakejQuery(this[index >= 0 ? index : this.length + index]); + }, + + find : function(selector) { + var children = [ ]; + var i; + this.each(function() { + var el = this; + var ch = el.querySelectorAll(selector); + for(i = 0; i < ch.length; i++) + children.push(ch[i]); + }); + return FakejQuery(children); + }, + + children : function(selector) { + var children = [ ]; + var el; + var ch; + var i; + + this.each(function() { + ch = this.children; + for(i = 0; i < ch.length; i++) { + el = ch[i]; + if(selector) { + if((el.matches && el.matches(selector)) || matches(el, selector)) + children.push(el); + } + else + children.push(el); + } + }); + return FakejQuery(children); + }, + + parent : function(selector) { + var parents = [ ]; + var parent; + this.each(function() { + parent = this.parentNode; + if(selector ? FakejQuery(parent).is(selector) : true) + parents.push(parent); + }); + return FakejQuery(parents); + }, + + is : function(selector) { + var el; + var elStyleDisplay; + var i; + for(i = 0; i < this.length; i++) { + el = this[i]; + elStyleDisplay = el.style.display; + if(selector === ":visible") + return elStyleDisplay !== 'none'; + if(selector === ":hidden") + return elStyleDisplay === 'none'; + if((el.matches && el.matches(selector)) || matches(el, selector)) + return true; + } + return false; }, contents : function() { @@ -1174,29 +1238,15 @@ contents.push(childs[i]); }); - return new FakejQuery(contents); + return FakejQuery(contents); }, - parent : function() { - var parents = [ ]; - this.each(function() { parents.push(this.parentNode); }); - return new FakejQuery(parents); + each : function(callback) { + return each(this, callback); }, - is : function(selector) { - var el; - var i; - for(i = 0; i < this.length; i++) { - el = this[i]; - if(selector === ":visible") - return el.style.display !== 'none'; - if(selector === ":hidden") - return el.style.display === 'none'; - if((el.matches && el.matches(selector)) || matches(el, selector)) - return true; - } - return false; - }, + + //ANIMATION: animate : function(props, duration, easing, complete) { return this.each(function() { animate(this, props, duration, easing, complete); }); @@ -1220,7 +1270,7 @@ return FakejQuery; })(COMPATIBILITY); - var INSTANCES = (function(helper) { + var INSTANCES = (function(compatibility) { var _targets = [ ]; var _instancePropertyString = '__overlayScrollbars__'; @@ -1239,7 +1289,7 @@ * @param target The target element. */ function unregisterInstanceFromTarget(target) { - var index = helper.inArray(target, _targets); + var index = compatibility.inA(target, _targets); if (index > -1) { delete target[_instancePropertyString]; _targets.splice(index, 1); @@ -1261,10 +1311,9 @@ * @returns {*} The registered instance of the target or undefined if there isn't any. */ function getRegisteredInstanceFromTarget(target) { - for(var i = 0; i < _targets.length; i++) - if(target === _targets[i]) - return target[_instancePropertyString]; - + var index = compatibility.inA(target, _targets); + if (index > -1) + return _targets[index][_instancePropertyString]; } return { @@ -1276,7 +1325,7 @@ has : targetHasRegisteredInstance, get : getRegisteredInstanceFromTarget }; - })(FRAMEWORK); + })(COMPATIBILITY); var PLUGIN = (function(compatibility, instances, helper) { var _pluginsGlobals; var _pluginsAutoUpdateLoop; @@ -1501,7 +1550,7 @@ var bodyElement = helper('body'); var scrollbarDummyElement = helper('
=G[e.lt]&&$[e.lt]+ht[e._wh]<=G[e.lt]+Ee[e._wh],nt[e.xy]=ht[e._wh]i:r0||O){var yt={};if(dt&&(yt[nn]=M.x),vt&&(yt[rn]=M.y),O)it.animate(yt,r);else{var mt={duration:r,complete:c};if(mi(a)===i.a){var wt={};wt[nn]=a[0],wt[rn]=a[1],mt.specialEasing=wt}else mt.easing=a;it.animate(yt,mt)}}else dt&&it[nn](M.x),vt&&it[rn](M.y)},Se.scrollStop=function(t,e,n){it.stop(t,e,n)},Se.getElements=function(){return{target:J[0],host:Z[0],padding:rt[0],viewport:it[0],content:at[0],scrollbarHorizontal:{scrollbar:lt[0],track:ut[0],handle:ft[0]},scrollbarVertical:{scrollbar:ht[0],track:pt[0],handle:dt[0]},scrollbarCorner:ct}},Se.getState=function(t){var e=function(t){if(!l.isPlainObject(t))return t;var e=wi(!0,{},t),n=function(t,n){e.hasOwnProperty(t)&&(e[n]=e[t],delete e[t])};return n("w",qe),n("h",_e),delete e.c,e},n={sleeping:e(B)||!1,autoUpdate:e(!se),widthAuto:e(xt),heightAuto:e(bt),padding:e(Ct),overflowAmount:e(Wt),hideOverflow:e(gt),hasOverflow:e(wt),contentScrollSize:e(yt),viewportSize:e(Ee),hostSize:e(vt)};return mi(t)===i.s?hi(n,t):n},Mi(e,u))return c.add(e,Se),Se;Se=n}function hr(t,e,n){for(var r=e.split(Je),i=0;i 9||!m){t.prepend(fi(Dn,fi({className:jn,dir:"ltr"},fi(jn,fi(Fn))+fi(jn,fi({className:Fn,style:"width: 200%; height: 200%"})))));var p,d,v,g,x=t[0][c][0][c][0],b=l(x[c][1]),M=l(x[c][0]),O=l(M[0][c][0]),C=x[o.oW],S=x[o.oH],z=2,T=f.nativeScrollbarSize,E=function(){M[nn](n)[rn](n),b[nn](n)[rn](n)},H=function(){d=0,p&&(C=v,S=g,u())},k=function(t){return v=x[o.oW],g=x[o.oH],p=v!=C||g!=S,t&&p&&!d?(a.cAF()(d),d=a.rAF()(H)):t||H(),E(),t&&(a.prvD(t),a.stpP(t)),!1},I={},W={};W[Ne]=-(T.y+1)*z,W[Re]=T.x*-z,W[De]=T.y*-z,W[je]=-(T.x+1)*z,l(x).css(W),M.on(Xe,k),b.on(Xe,k),t.on(s,function(){k(!1)}),I[qe]=n,I[_e]=n,O.css(I),E()}else{var L=K[0],P=L.attachEvent,N=!1!==w;if(P)t.prepend(fi(Dn)),ui(t,Ge+Dn)[0].attachEvent("onresize",u);else{var R=L.createElement(i.o);R.setAttribute("tabindex","-1"),R.setAttribute(o.c,Dn),R.onload=function(){var t=this.contentDocument.defaultView;t.addEventListener("resize",u),t.document.documentElement.style.display="none"},R.type="text/html",N&&t.prepend(R),R.data="about:blank",N||t.prepend(R),t.on(s,u)}}if(t[0]===et[0]){var D=function(){var e=Z.css("direction"),r={},i=0,o=!1;return e!==Tt&&("ltr"===e?(r[je]=0,r[Re]=Ve,i=n):(r[je]=Ve,r[Re]=0,i=y.n?-n:y.i?0:n),et.children().first().css(r),t[nn](i)[rn](n),Tt=e,o=!0),o};D(),t.on(Xe,function(t){return D()&&Qr(),a.prvD(t),a.stpP(t),!1})}}function vr(t){if(A){var e=t.contents()[0];e[dn].disconnect(),delete e[dn]}else bi(t.children(Ge+Dn).first())}function yr(t){if(t!==n&&A){var e=t.contents()[0];e[dn].unobserve(e)}}function mr(t){if(t!==n&&A){var e=t.contents()[0];e[dn].observe(e)}}function wr(){ce&&!se&&(oe.observe(Z[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[o.i,o.c,o.s]}),ae.observe(H?J[0]:at[0],{attributes:!0,attributeOldValue:!0,subtree:!H,childList:!H,characterData:!H,attributeFilter:H?["wrap","cols","rows"]:[o.i,o.c,o.s]}),se=!0)}function gr(){ce&&se&&(oe.disconnect(),ae.disconnect(),se=!1)}function xr(){if(!B){var t=et[0],e={w:t[o.sW],h:t[o.sH]};if(T){var n=vi(e,Xt);Xt=e,n&&Qr(!0,!1)}else Xt=e}}function br(){me&&$r(!0)}function Mr(){me&&!G.hasClass(nr)&&$r(!1)}function Or(){ye&&($r(!0),clearTimeout(he),he=setTimeout(function(){ye&&$r(!1)},100))}function Cr(t){var e=Q.callbacks;B||(q!==n?clearTimeout(q):((ve||ye)&&$r(!0),ci()||Z.addClass(Cn),ei(e.onScrollStart,t)),Jr(!0,it[nn]()),Jr(!1,it[rn]()),ei(e.onScroll,t),q=setTimeout(function(){Sr(),ei(e.onScrollStop,t)},ke))}function Sr(){clearTimeout(q),q=n,(ve||ye)&&$r(!1),ci()||Z.removeClass(Cn)}function Ar(){Ur(),Se.update(Ve)}function zr(t){var e=t.keyCode;if(!si(e)){if(0===lr.length){var n=function(){Ur(),Se.update(Ve)};n(),le=setInterval(n,1e3/60)}-1===l.inArray(e,lr)&&lr.push(e)}}function Tr(t){var e=t.keyCode;if(!si(e)){var n=l.inArray(e,lr);n>-1&&lr.splice(n,1),0===lr.length&&(Ur(),Se.update(Ve),clearInterval(le))}}function Er(){setTimeout(function(){Ur(),Se.update(Ve)},50)}function Hr(){ue=!0}function kr(){ue=!1,clearInterval(le),lr=[],Ur(),Se.update(Ve)}function Ir(t){return J[nn](y.i&&Zt?9999999:0),J[rn](0),a.prvD(t),a.stpP(t),!1}function Wr(t){if(!B){var e=(t.originalEvent||t).touches!==n;(1===a.mBtn(t)||e)&&(se&&(xe=!0,gr()),ur=a.page(t),fr.w=Z[0][o.oW]-(I?0:L),fr.h=Z[0][o.oH]-(I?0:P),K.on(hn,Nr).on(sn,Lr).on(an,Pr),G.addClass(nr),ct.setCapture&&ct.setCapture(),a.prvD(t),a.stpP(t))}}function Lr(t){var e=a.page(t),n={};(Oe||Me)&&(n[qe]=fr.w+e.x-ur.x),(Ce||Me)&&(n[_e]=fr.h+e.y-ur.y),Z.css(n),a.stpP(t)}function Pr(t){var e=t!==n;K.off(hn,Nr).off(sn,Lr).off(an,Pr),G.removeClass(nr),ct.releaseCapture&&ct.releaseCapture(),e&&(xe&&wr(),Se.update(Ve)),xe=!1}function Nr(t){return a.prvD(t),!1}function Rr(){Qr()}function Dr(){var t={};return k&&ot&&(t.w=oi(ot.css(Fe+qe)),t.h=oi(ot.css(Fe+_e)),t.c=vi(t,ie),t.f=!0),ie=t,t.c}function jr(t,e){var r=e!==n&&null!==e?e.split(Je):Qe,i=t!==n&&null!==t?t.split(Je):Qe;if(r===Qe&&i===Qe)return!1;var o,a,s,c,u=ii(i,r),f=!1,h=ee!==n&&null!==ee?ee.split(Je):[Qe],p=te!==n&&null!==te?te.split(Je):[Qe],d=l.inArray(rr,u),v=u[o];for(d>-1&&u.splice(d,1),o=0;o 0&&T&&i-V 0?ft:rr)),ae&&(!0===oe?(gr(),h.add(Se)):null===oe&&m?(gr(),h.add(Se)):(h.remove(Se),wr())),Qt)if(Ut)if(nt===n&&(nt=l(fi(Nn)),rt.before(nt)),W)tt.show();else{tt=l(fi(Rn)),nt.before(tt);var ze={w:-1,h:-1};dr(tt,function(){var t={w:tt[0][o.oW],h:tt[0][o.oH]};vi(t,ze)&&(T&&bt&&t.h>0||xt&&t.w>0?Qr():(T&&!bt&&0===t.h||!xt&&0===t.w)&&Qr()),ze=t}),W=!0,null!==x&&tt.css(_e,x+"(100% + 1px)")}else W&&tt.hide();r&&(et.find("*").trigger(Xe),W&&tt.find("*").trigger(Xe));var Te,ke=Z.css("direction"),Ie=di(ke,zt,r),Ge=Z.css("box-sizing"),Ze=di(Ge,Ot,r),tn={c:r,t:oi(Z.css(Le+Ne)),r:oi(Z.css(Le+Re)),b:oi(Z.css(Le+De)),l:oi(Z.css(Le+je))};try{Te=W?tt[0].getBoundingClientRect():null}catch(Fi){return}I="border-box"===Ge;var en=(F="rtl"===ke)?je:Re,an=F?Re:je,un=Z[0],fn=rt[0],hn=!1,pn=!(!W||"none"===Z.css(Ue))&&(0===Math.round(Te.right-Te.left)&&(!!Ft||un[o.cW]-L>0));if(Ut&&!pn){var dn=un[o.oW],vn=nt.css(qe);nt.css(qe,Ve);var yn=un[o.oW];nt.css(qe,vn),(hn=dn!==yn)||(nt.css(qe,dn+1),yn=un[o.oW],nt.css(qe,vn),hn=dn!==yn)}var mn=(pn||hn)&&Ut,wn=di(mn,xt,r),gn=!mn&&xt,xn=!!W&&0===Math.round(Te.bottom-Te.top),bn=di(xn,bt,r),Tn=!xn&&bt,En="-"+qe,Hn=mn&&I||!I,kn=xn&&I||!I,In={c:r,t:kn?oi(Z.css(Pe+Ne+En)):0,r:Hn?oi(Z.css(Pe+Re+En)):0,b:kn?oi(Z.css(Pe+De+En)):0,l:Hn?oi(Z.css(Pe+je+En)):0},Wn={c:r,t:oi(Z.css(We+Ne)),r:oi(Z.css(We+Re)),b:oi(Z.css(We+De)),l:oi(Z.css(We+je))},Ln={h:String(Z.css(Be+_e)),w:String(Z.css(Be+qe))},Dn={},jn={};if(L=tn.l+tn.r,P=tn.t+tn.b,tn.c=yi(tn,Ct),N=In.l+In.r,R=In.t+In.b,In.c=yi(In,St),D=Wn.l+Wn.r,j=Wn.t+Wn.b,Wn.c=yi(Wn,At),Ln.ih=oi(Ln.h),Ln.iw=oi(Ln.w),Ln.ch=Ln.h.indexOf("px")>-1,Ln.cw=Ln.w.indexOf("px")>-1,Ln.c=vi(Ln,Mt,r),zt=ke,Ot=Ge,xt=mn,bt=xn,Ct=tn,St=In,At=Wn,Mt=Ln,Ie&&W&&tt.css(Ue,an),tn.c||Ie||Bt||wn||bn||Ze||Qt){var Fn={},Bn={};ni(jn,We,[-tn.t,-tn.r,-tn.b,-tn.l]),Ft?(ni(Fn,Qe,[tn.t,tn.r,tn.b,tn.l]),ni(H?Bn:Dn,Le)):(ni(Fn,Qe),ni(H?Bn:Dn,Le,[tn.t,tn.r,tn.b,tn.l])),rt.css(Fn),J.css(Bn)}Ee={w:fn[o.oW],h:fn[o.oH]};var qn=!!H&&Ur();if(xn&&(bn||Bt||Ze||Ln.c||tn.c||In.c)?(Ln.cw&&(Dn[Be+_e]=Ln.ch?Ln.ih-(Ft?P:0)+(I?-R:P):Qe),Dn[_e]=Ve):(bn||Bt)&&(Dn[Be+_e]=Qe,Dn[_e]=Ye),mn&&(wn||Bt||Ze||Ln.c||tn.c||In.c||Ie)?(Ln.cw&&(Dn[Be+qe]=Ln.cw?Ln.iw-(Ft?L:0)+(I?-N:L)+(d.y?v.y:0):Qe),Dn[qe]=Ve,jn[Be+qe]=Ye):(wn||Bt)&&(Dn[Be+qe]=Qe,Dn[qe]=Ye,Dn[Ue]=Qe,jn[Be+qe]=Qe),mn&&(Ln.cw||(Dn[Be+qe]=Qe),jn[qe]=H&&fe?qn.dw:Ve,Dn[qe]=Ve,Dn[Ue]=an),xn&&(Ln.ch||(Dn[Be+_e]=Qe),jn[_e]=H?ge?qn.dh:Ve:at[0][o.cH]),Ut&&nt.css(jn),at.css(Dn),Dn={},jn={},wt=wt||{x:!1,y:!1},t||e||Ie||Ze||Bt||wn||mn||bn||xn||Ln.c||Xt||le||_t||dt||U||he||xe||jt||Bt||he||xe||r){var _n="overflow",Un=_n+"-x",Qn=_n+"-y",Vn="hidden",Xn="visible",Yn=z&&(d.x||d.y||Ee.w 0&&(jn[qe]=Math.max(1,jn[qe]),jn[_e]=Math.max(1,jn[_e])),H&&st.css(Cr),nt.css(jn)}mn&&(Dn[qe]=Ye),!mn||I||se||(Dn[Ue]="none"),at.css(Dn),Dn={};var Sr=nr.getBoundingClientRect(),Ar={w:Math.max(nr[o.sW],ar[o.sW]),h:Math.max(nr[o.sH],ar[o.sH])};if(Yn&&at.css(_n,Qe),Sr.width){var zr=Sr.width,Tr=Sr.height,Er=.001;Ar.w+=oi(zr+Er)-zr,Ar.h+=oi(Tr+Er)-Tr}Ar.c=e=vi(Ar,yt,r),yt=Ar,t=vi(ur={w:un[o.cW],h:un[o.cH]},vt),vt=ur,Ee={w:fn[o.oW],h:fn[o.oH]};var Hr={x:"v-s"===ce.x,y:"v-s"===ce.y},kr={x:"v-h"===ce.x,y:"v-h"===ce.y},Ir={x:"s"===ce.x,y:"s"===ce.y},Lr={x:Math.max(0,Math.round(100*(Ar.w-ur.w+(Ft?L:0)))/100),y:Math.max(0,Math.round(100*(Ar.h-ur.h+(Ft?P:0)))/100)},Pr=H&&(0===Ee.w||0===Ee.h);Pr&&(Lr.x=0,Lr.y=0);var Nr={x:Lr.x>0,y:Lr.y>0},Rr={x:Nr.x,y:Nr.y};(Hr.x||kr.x)&&(Rr.x=Nr.y&&!Hr.y&&!kr.y),(Hr.y||kr.y)&&(Rr.y=Nr.x&&!Hr.x&&!kr.x),Rr.xs=!!Rr.x&&(Ir.x||Hr.x),Rr.ys=!!Rr.y&&(Ir.y||Hr.y);var jr={x:Nr.x&&Rr.xs,y:Nr.y&&Rr.ys},Fr=Wt;if(Lr.c=vi(Lr,Wt,Ke,$e,r),Wt=Lr,Nr.c=vi(Nr,wt,Ke,$e,r),wt=Nr,Rr.c=vi(Rr,gt,Ke,$e,r),gt=Rr,d.x||d.y){var Br=r,qr={};if((Nr.x||Nr.y)&&(qr.w=d.y&&Nr.y?Ar.w+v.y:Qe,qr.h=d.x&&Nr.x?Ar.h+v.x:Qe,Br=di(qr,mt,r),mt=qr),Nr.c||Rr.c||Ar.c||Ie||wn||bn||mn||xn||Xt){var _r="px solid transparent";Dn[Pe+an]=Qe,Dn[We+an]=Qe,d.x&&Nr.x&&Rr.xs?(xn&&(Dn[We+De]=Vt?Qe:v.x),Dn[Pe+De]=xn||Vt?Qe:v.x+_r):(qr.h=Qe,Br=!0,Dn[Pe+De]=Qe,Dn[We+De]=Qe),d.y&&Nr.y&&Rr.ys?(mn&&(Dn[We+en]=Vt?Qe:v.y),Dn[Pe+en]=Vt?Qe:v.y+_r):(qr.w=Qe,Br=!0,Dn[Pe+en]=Qe,Dn[We+en]=Qe)}if(Vt&&(qr.w=Qe,qr.h=Qe,Br=!0),Br){var Vr={};Vr[qe]=Rr.y?qr.w:Qe,Vr[_e]=Rr.x?qr.h:Qe,ot===n&&(ot=l(fi(Pn)),it.prepend(ot)),ot.css(Vr)}at.css(Dn)}var Xr={};Fn={};if(t||Nr.c||Rr.c||Ar.c||le||Ze||Xt||Ie||_t||bn){Xr[an]=Qe;var Yr=function(){Xr[De]=Qe,Ae.h=0},ti=function(){Xr[en]=Qe,Ae.w=0};if(Nr.x&&Rr.xs?(Xr[Un]=Xe,Vt?Yr():(Xr[De]=-(d.x?v.x:b.x),Ae.h=d.x?v.y:0)):(Xr[Un]=Qe,Yr()),Nr.y&&Rr.ys?(Xr[Qn]=Xe,Vt?ti():(Xr[en]=-(d.y?v.y:b.y),Ae.w=d.y?v.x:0)):(Xr[Qn]=Qe,ti()),(Ee.h -1,ji=Ri.y>-1;(Di||ji)&&(ji&&it[rn](Ri.y),Di&&(F&&Zt&&y.i?it[nn](0):it[nn](Ri.x)))}Dt=Ti}else H||(F&&y.i&&d.y&&Nr.x&&Zt&&(c.l+=Ae.w||0),it[nn](c.l),it[rn](c.t));Ie&&ei(A,{isRTL:F,dir:ke}),t&&ei(q,{width:vt.w,height:vt.h}),e&&ei(E,{width:yt.w,height:yt.h}),(Nr.c||Rr.c)&&ei(O,{x:Nr.x,y:Nr.y,xScrollable:Rr.xs,yScrollable:Rr.ys,clipped:Rr.x||Rr.y}),Lr.c&&ei(C,{x:Lr.x,y:Lr.y})}k&&(Nr.c||ie.c)&&(ie.f||Dr(),d.y&&Nr.x&&at.css(Fe+qe,ie.w+v.y),d.x&&Nr.y&&at.css(Fe+_e,ie.h+v.x),ie.c=!1),mr(et),mr(tt),ei(M,{forced:r})}}function Vr(t){U=wi(!0,{},U,O.v(t,O.t,!0)),Q=wi(!0,{},Q,O.v(t,O.t,!1,!0))}function Xr(){lt=l(fi(qn+Je+tr)),ut=l(fi(_n)),ft=l(fi(Qn)),ht=l(fi(qn+Je+er)),pt=l(fi(_n)),dt=l(fi(Qn)),lt.append(ut),ut.append(ft),ht.append(pt),pt.append(dt),rt.after(ht),rt.after(lt),M&&(lt.on(pn,function(t){t.target===lt[0]&&(Gr(!0),Jr(!0,it[nn]()))}),ht.on(pn,function(t){t.target===ht[0]&&(Gr(!1),Jr(!1,it[rn]()))})),Yr(!0),Yr(!1),ct=l(fi(Kn)),Z.append(ct)}function Yr(t){var e,r,i,o=ti(t),s=o.xy,c=Xe+o.LT,l="active",u=1,f=function(){u=.5},h=function(){u=1},p=function(n){var i=o.i.tl,l=o.i.hl,u=o.i.ms*((l/2+a.page(n)[s]-r-l/2)/(i-l));u=isFinite(u)?u:0,F&&t&&(y.n||!y.n&&!y.i)&&(u*=-1),it[c](e+u),S||a.prvD(n)},d=function(t){t=t||t.originalEvent,xi(G,nr),xi(o.h,l),xi(o.t,l),xi(o.s,l),S?(pr(K,sn,p),pr(K,an,d),pr(K,un,v),pr(K,fn,m)):K.off(sn,p).off(an,d).off(un,v).off(fn,m),K.off(hn,Nr),h(),e=n,r=n,i!==n&&(Se.scrollStop(),clearTimeout(i),i=n);var a=Z[0].getBoundingClientRect();t.clientX>=a.left&&t.clientX<=a.right&&t.clientY>=a.top&&t.clientY<=a.bottom||Mr(),(ve||ye)&&$r(!1)},v=function(t){16==t.keyCode&&f()},m=function(t){16==t.keyCode&&h()};o.h.on(on,function(i){if(!B){var u=(i.originalEvent||i).touches!==n;ci()||!Gt||u&&!we||(1===a.mBtn(i)||u)&&(e=(e=it[c]())===n?0:e,(F&&t&&!y.n||!F)&&(e=e<0?0:e),r=a.page(i)[s],gi(G,nr),gi(o.h,l),gi(o.s,l),S?(hr(K,sn,p),hr(K,an,d)):K.on(sn,p).on(an,d),K.on(hn,Nr),a.prvD(i))}}),o.t.on(on,function(e){if(!B){var c=(e.originalEvent||e).touches!==n;if(!ci()&&$t&&(!c||we)&&(1===a.mBtn(e)||c)){var h,p=Ee[o._wh],w=o.t.offset()[o.lt],g=!0;e.shiftKey&&f();var x=function(){var e=o.i.ho,a=o.i.hl,s=r-w,c=200*u,l=g?Math.max(333,c):c,f={},d=F&&t&&(!y.i&&!y.n||Zt),v=e>s;d&&(v=e =s;d&&(m=h?e+a>=s:e<=s),m?(clearTimeout(i),Se.scrollStop(),i=n):i=setTimeout(x,l),g=!1};r=a.page(e)[s],gi(G,nr),gi(o.t,l),gi(o.s,l),S?(hr(K,an,d),hr(K,un,v),hr(K,fn,m)):K.on(an,d).on(un,v).on(fn,m),K.on(hn,Nr),x(),a.prvD(e)}}}).hover(function(){(ve||ye)&&(ge=!0,$r(!0))},function(){(ve||ye)&&(ge=!1,$r(!1))}),o.s.on(on,function(t){a.stpP(t)})}function Kr(t,e,n){var r=t?gn:xn,i=t?lt:ht;e?Z.removeClass(r):Z.addClass(r),n?i.removeClass(Xn):i.addClass(Xn)}function $r(t,e){if(clearTimeout(fe),t)lt.removeClass(Yn),ht.removeClass(Yn);else{var n="active",r=function(){if(!ge){var t=ft.hasClass(n)||dt.hasClass(n);!t&&(ve||ye||me)&<.addClass(Yn),!t&&(ve||ye||me)&&ht.addClass(Yn)}};pe>0&&!0!==e?fe=setTimeout(r,pe):r()}}function Gr(t){var e={},n=ti(t),r=Math.min(1,(vt[n._wh]-(Et?t?L:P:0))/yt[n._wh]);e[n.wh]=Math.floor(100*r*1e5)/1e5+"%",ci()||n.h.css(e),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=r}function Jr(t,e){var n,r,i=F&&t,o={},a=ti(t),s="translate(",c="transform",l=it[0][Xe+a.WH]-it[0]["client"+a.WH],u=a.i.hl,f=a.t[0]["offset"+a.WH],h=f-u;y.n&&i&&(l*=-1),r=e/l,r=isNaN(r)?0:Math.min(1,r),a.i.ms=l,a.i.cs=e,a.i.csr=r,h*=r,h=isNaN(h)?0:h,i&&(y.n||!y.n&&!y.i)&&(h=f-u-h),h=Math.max(0,h),C?(i&&(h=-(f-u-h)),n=t?s+h+"px, 0px)":s+"0px, "+h+"px)",o["-webkit-"+c]=n,o["-moz-"+c]=n,o["-ms-"+c]=n,o["-o-"+c]=n,o[c]=n):o[a.lt]=h,ci()||a.h.css(o),a.i.ho=h,a.i.tl=f}function Zr(t,e){var n=e?"removeClass":"addClass",r=t?pt:dt,i=t?Un:Vn;(t?ut:ft)[n](i),r[n](i)}function ti(t){return{wh:t?qe:_e,WH:t?"Width":"Height",lt:t?je:Ne,LT:t?"Left":"Top",xy:t?Ke:$e,XY:t?"X":"Y",_wh:t?"w":"h",_lt:t?"l":"t",t:t?ut:pt,h:t?ft:dt,s:t?lt:ht,i:t?ze:Te}}function ei(t,e){T&&l.isFunction(t)&&t.call(Se,e)}function ni(t,e,r){r===n&&(r=[Qe,Qe,Qe,Qe]),t[e+Ne]=r[0],t[e+Re]=r[1],t[e+De]=r[2],t[e+je]=r[3]}function ri(e){return typeof t.HTMLElement===i.o?e instanceof t.HTMLElement:e&&typeof e===i.o&&null!==e&&1===e.nodeType&&typeof e.nodeName===i.s}function ii(t,e){var n,r=[],i=[];for(n=0;nu&&(l=r+1,u=e);return{cursorRow:f,cursorCol:h,rows:s,cols:u,wRow:l,pos:t,max:o}}}function si(t){for(var e=0;e "+(e||Qe)+""}function hi(t,e){for(var n,r=e.split(Ge),o=0;o 9||!m?J.on("input",Ar):J.on(un,zr).on(fn,Tr)}else gi(J,mn),(Z=J).wrapInner(fi(Ln)).wrapInner(fi(kn)).wrapInner(fi(Hn)),at=ui(Z,Ge+Ln),it=ui(Z,Ge+kn),rt=ui(Z,Ge+Hn),at.on(pn,function(t){!0!==Pt&&_r((t=t.originalEvent||t).propertyName)&&Qr(Ve)});if(Xr(),S?hr(it,Xe,Cr):it.on(Xe,Cr),g&&gi(it,d.x&&d.y?Wn:In),ce){var s,c,u,h,p,O,I=a.mO(),W=a.now();oe=new I(function(t){if(T&&!B){var e,n=!1;l.each(t,function(){if(s=(e=this).target,c=e.attributeName,n=c===o.c?jr(e.oldValue,s.className):c!==o.s||e.oldValue!==s.style.cssText)return!1}),n&&Se.update(Ve)}}),ae=new I(function(t){if(T&&!B){var e=!1;l.each(t,function(){return!(e=Fr(this))}),e&&(h=a.now(),p=bt||xt,O=function(){W=h,H&&Ur(),p?Se.update():Se.update(Ve)},clearTimeout(u),sr<=0||h-W>sr||!p?O():u=setTimeout(O,sr))}})}return k&&(gi($,yn),it[nn](n.l),it[rn](n.t)),et=l(fi("os-resize-observer-host")),Z.prepend(et),dr(et,xr),xr(),Se.update(Ve),setTimeout(function(){M&&!E&&gi(Z,bn)},333),T=!0,ei(r.onInitialized),T}}return t[r]=function(e,i){if(0===arguments.length)return this;C();var o,a,s=[];return l.isPlainObject(i)?e&&e.length?(l.each(e,function(){o=this,console.log(o),o!==n&&s.push(z(o,i,u,f))}),a=s.length>1?s:s[0]):a=z(e,i,u,f):e&&(e.length&&e.length>0?(l.each(e,function(){o=c.get(this),"!"===i?o instanceof t[r]&&s.push(o):s.push(o)}),a=s.length>1?s:s[0]):a=c.get(e)),a},t[r].globals=function(){C();var t=l.extend(!0,{},u);return delete t.msie,t},t[r].defaultOptions=function(t){C();var e=u.defaultOptions;if(t===n)return l.extend(!0,{},e);u.defaultOptions=l.extend(!0,{},e,O.v(t,O.t,!0))},t[r]}(a,function(t){var e=[],r="__overlayScrollbars__";function i(t,n){t[r]=n,e.push(t)}function o(n){var i=t.inArray(n,e);i>-1&&(delete n[r],e.splice(i,1))}function a(t){return s(t)!==n}function s(t){for(var n=0;n 0&&n-1 in t)}function S(t){return(t.match(o)||[]).join(s)}function C(t,e){for(var r=(t.parentNode||n).querySelectorAll(e)||[],i=r.length;i--;)if(r[i]==t)return!0;return!1}function A(t,n,e){v(e)===i.s?t.insertAdjacentHTML(n,e):e.nodeType?t.insertAdjacentElement(n,e):t.insertAdjacentElement(n,e[0])}function z(t,n,r){try{t.style[n]!==e&&(t.style[n]=E(n,r))}catch(i){}}function E(t,n){return h[t.toLowerCase()]||v(n)!==i.n||(n=n+="px"),n}function H(t,n){var e,r;!1!==n&&t.q.splice(0,1),t.q.length>0?(r=t.q[0],T(t.el,r.props,r.duration,r.easing,r.complete,!0)):(e=b(t,f))>-1&&f.splice(e,1)}function k(t,n,e){n===u?t[n]=e:n===l?t[n]=e:z(t,n,e)}function T(t,n,e,i,o,a){var s,c,h,d,v,m,x=w(e),O={},S={},C=0;for(x?(i=e.easing,e.start,h=e.progress,d=e.step,v=e.specialEasing,o=e.complete,m=e.duration):m=e,v=v||{},m=m||400,i=i||"swing",a=a||!1;C 0)L=r.now(),P=function(){for(s in A=r.now(),N=A-L,z=D.stop||N>=m,E=1-(Math.max(0,L+m-A)/m||0),S)T=O[s],W=S[s],I=(W-T)*p[v[s]||i](E,E*m,0,1,m)+T,k(t,s,I),y(d)&&d(I,{elem:t,prop:s,start:T,now:I,end:W,pos:E,options:{easing:i,speacialEasing:v,duration:m,complete:o,step:d},startTime:L});y(h)&&h({},E,Math.max(0,m-N)),z?(H(c),y(o)&&o()):D.frame=r.rAF()(P)},D.frame=r.rAF()(P);else{for(s in S)k(t,s,S[s]);H(c)}}}function W(t,n,e){for(var i,o,a,s=0;s 0){if((o=i.q[0]).stop=!0,r.cAF()(o.frame),i.q.splice(0,1),e)for(a in o.props)k(t,a,o.props[a]);n?i.q=[]:H(i,!1)}break}}return M.prototype={on:function(t,n){var e,r;return t=(t||c).match(o)||[c],this.each(function(){r=this;try{if(r.addEventListener)for(e=0;e 0;)i=i.childNodes[0];for(n=0;e.length-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=M(this),e=n.contents();e.length?e.wrapAll(t):n.append(t)})},wrap:function(t){return this.each(function(){M(this).wrapAll(t)})},css:function(n,r){var o,a,s,c=t.getComputedStyle;return v(n)===i.s?r===e?(o=this[0],s=c?c(o,null):o.currentStyle[n],c&&null!=s?s.getPropertyValue(n):o.style[n]):this.each(function(){z(this,n,r)}):this.each(function(){for(a in n)z(this,a,n[a])})},hasClass:function(t){for(var n,e,r=0,i=s+t+s;n=this[r++];)if(e=n.classList){if(e.contains(t))return!0}else if(1===n.nodeType&&(s+S(n.className+c)+s).indexOf(i)>-1)return!0;return!1},addClass:function(t){var n,r,i,a,u,l,f,h,p=0,d=0;if(t)for(n=t.match(o)||[];r=this[p++];)if(h=r.classList,f===e&&(f=h!==e),f)for(;u=n[d++];)h.add(u);else if(a=r.className+c,i=1===r.nodeType&&s+S(a)+s){for(;u=n[d++];)i.indexOf(s+u+s)<0&&(i+=u+s);a!==(l=S(i))&&(r.className=l)}return this},removeClass:function(t){var n,r,i,a,u,l,f,h,p=0,d=0;if(t)for(n=t.match(o)||[];r=this[p++];)if(h=r.classList,f===e&&(f=h!==e),f)for(;u=n[d++];)h.remove(u);else if(a=r.className+c,i=1===r.nodeType&&s+S(a)+s){for(;u=n[d++];)for(;i.indexOf(s+u+s)>-1;)i=i.replace(s+u+s,s);a!==(l=S(i))&&(r.className=l)}return this},hide:function(){return this.each(function(){this.style.display="none"})},show:function(){return this.each(function(){this.style.display="block"})},attr:function(t,n){for(var r=0;r =0?t:this.length+t])},find:function(t){var n,e=[];return this.each(function(){var r=this.querySelectorAll(t);for(n=0;n 0?"\r\nValid strings are: [ "+k.join(", ").split(d).join(", ")+" ].":"")),delete t[s]}}};return c(s,n,a),o?u.extend(!0,a,s):!u.isEmptyObject(s)&&e&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(s,null,2)),a}});function S(){l||(l=new C(O.d)),f||(f=new A(l))}function C(r){var i=this,s="overflow",l="hidden",f="scroll",h=u("body"),p=u(' '),d=p[0],v=u(p.children("div").eq(0)),y=d[o.oH];h.append(p),0===y&&p.hide().show();var m,g,w,b,x,M,O,S,C,A=H(d),z={x:0===A.x,y:0===A.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.style[t]!==e&&(r=!0),!r)for(a=t.charAt(0).toUpperCase()+t.substr(1);s0?m=C(g[b](x+5,g[w](".",x)),10):M>0?m=C(g[b](S+3,g[w](".",S)),10):O>0&&(m=C(g[b](O+5,g[w](".",O)),10)),m),cssCalc:function(){var t,e,r=n.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(t=0;t 0){var t=a.wW(),l=a.wH(),f=t-n,d=l-e;if(0===f&&0===d)return;var v=Math.round(t/(n/100)),y=Math.round(l/(e/100)),m=Math.abs(f),g=Math.abs(d),w=Math.abs(v),b=Math.abs(y),x=s(),M=m>2&&g>2,O=!o(w,b);!(M&&O&&(x!==r&&r>0))||(h.append(p),i.nativeScrollbarSize=H(p[0]),p.remove(),u.each(c.all(),function(){c.has(this)&&c.get(this).update("zoom")})),n=t,e=l,r=x}})}function o(t,n){var e=Math.abs(t),r=Math.abs(n);return!(e===r||e+1===r||e-1===r)}function s(){var n=t.screen.deviceXDPI||0,e=t.screen.logicalXDPI||1;return t.devicePixelRatio||n/e}}()}function A(t){var n,r=this,i="autoUpdate",o=i+"Interval",s=[],c=[],l=!1,f=33,h=f,p=a.now(),d=function(){if(s.length>0&&l){n=a.rAF()(function(){d()});var t=a.now(),r=t-p;if(r>h){p=t-r%h;for(var u=f,v=0;v w&&(y.update("auto"),c[v]=new Date(b+=w)),u=Math.max(1,Math.min(u,w))}}h=u}}else h=f};r.add=function(n){-1===u.inArray(n,s)&&(s.push(n),c.push(a.now()),s.length>0&&!l&&(l=!0,t.autoUpdateLoop=l,d()))},r.remove=function(r){var i=u.inArray(r,s);i>-1&&(c.splice(i,1),s.splice(i,1),0===s.length&&l&&(l=!1,t.autoUpdateLoop=l,n!==e&&(a.cAF()(n),n=-1)))}}function z(l,f,h,p){if(oi(l)){if(c.has(l)){var d=c.get(l);return d.options(f),d}var v,y,m,g,w,b,x,M,S,C,A,z,E,H,k,T,W,I,L,P,N,q,D,R,j,F,B,U,_,Q,V,X,Y,K,$,G,J,Z,tt,nt,et,rt,it,ot,at,st,ct,ut,lt,ft,ht,pt,dt,vt,yt,mt,gt,wt,bt,xt,Mt,Ot,St,Ct,At,zt,Et,Ht,kt,Tt,Wt,It,Lt,Pt,Nt,qt,Dt,Rt,jt,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,pn,dn,vn,yn,mn,gn,wn,bn,xn,Mn,On,Sn,Cn,An,zn,En=new t[r],Hn={},kn={},Tn={},Wn={},In={},Ln=175,Pn="-hidden",Nn="margin-",qn="padding-",Dn="border-",Rn="top",jn="right",Fn="bottom",Bn="left",Un="min-",_n="max-",Qn="width",Vn="height",Xn="float",Yn="",Kn="auto",$n="scroll",Gn="100%",Jn="x",Zn="y",te=".",ne=" ",ee="scrollbar",re="-horizontal",ie="-vertical",oe=$n+"Left",ae=$n+"Top",se="mousedown touchstart",ce="mouseup touchend touchcancel",ue="mousemove touchmove",le="mouseenter",fe="mouseleave",he="keydown",pe="keyup",de="selectstart",ve="transitionend webkitTransitionEnd oTransitionEnd",ye="__overlayScrollbarsRO__",me="os-",ge=me+"html",we=me+"host",be=we+"-textarea",xe=we+"-"+ee+re+Pn,Me=we+"-"+ee+ie+Pn,Oe=we+"-transition",Se=we+"-rtl",Ce=we+"-resize-disabled",Ae=we+"-scrolling",ze=we+"-overflow",Ee=ze+"-x",He=ze+"-y",ke=me+"textarea",Te=ke+"-cover",We=me+"padding",Ie=me+"viewport",Le=Ie+"-native-scrollbars-invisible",Pe=Ie+"-native-scrollbars-overlaid",Ne=me+"content",qe=me+"content-arrange",De=me+"content-glue",Re=me+"size-auto-observer",je=me+"resize-observer",Fe=me+"resize-observer-item",Be=Fe+"-final",Ue=me+"text-inherit",_e=me+ee,Qe=_e+"-track",Ve=Qe+"-off",Xe=_e+"-handle",Ye=Xe+"-off",Ke=_e+"-unusable",$e=_e+"-"+Kn+Pn,Ge=_e+"-corner",Je=Ge+"-resize",Ze=Je+"-both",tr=Je+re,nr=Je+ie,er=_e+re,rr=_e+ie,ir=me+"dragging",or=me+"theme-none",ar={},sr=33,cr=[],ur=11,lr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],fr=[],hr={},pr={};if(En.sleep=function(){U=!0},En.update=function(t){var n,e,r="zoom"===t,i="img",o="load";t===Kn?(n=_r(),e=Ur(),(n||e)&&Xr(!1,e)):r?Xr(!0,!0):(t=U||t,U=!1,Xr(!1,!1,t)),T||r||ct.find(i).each(function(t,n){-1===a.inA(n,cr)&&(n=u(n)).off(o,Rr).on(o,Rr)})},En.options=function(t,n){if(u.isEmptyObject(t)||!u.isPlainObject(t)){if(wi(t)===i.s){if(arguments.length>=2){var e={};return vi(e,t,n),Yr(e),void Xr()}return di(V,t)}return V}Yr(t);var r=U||!1;U=!1,Xr(),U=r},En.destroy=function(){k=!0,p.remove(En),xr(),mr(rt),P&&mr(et),Oi(rt),it!==e&&Oi(it),st!==e&&Oi(st),P&&Oi(et),A?(vr(nt,ue,Cr),vr(nt,le,Or),vr(nt,fe,Sr)):nt.off(ue,Cr).off(le,Or).off(fe,Sr),Oi(ft),Oi(dt),lt&&Oi(lt),Sn||qr(),ct.contents().unwrap().unwrap().unwrap(),W&&Mi(J,ge),T?(tt.off($n,Lr).off("drop",Tr).off("focus",Wr).off("focusout",Ir),w>9||!g?tt.off("input",Er):tt.off(he,Hr).off(pe,kr),Oi(ut),Mi(tt,ke+ne+Ue).unwrap().removeAttr(o.s),Oi(nt)):(Mi(tt,we),Mi(nt,[we,Ce,Se,xe,Me,Oe,Ae,ze,Ee,He,or,en].join(ne)));for(var t=0;t 0)n.x=t[0],n.y=t[1];else if(wi(t)===i.s||wi(t)===i.n)n.x=t,n.y=t;else if(wi(t)===i.o){for(var e in t=bi({},t),g=0,t)t.hasOwnProperty(e)&&(g>2&&delete t[e],g++);var r=function(n){var e=n?w:b;for(g=0;g 2){var v=r.substr(0,2);for(g=0;g /g,(p?"-":Yn)+Gn))[d](/px/g,Yn))[d](/%/g,f+l*(h&&m.n?-1:1)/100))[d](/vw/g,f+Wn.w))[d](/vh/g,f+Wn.h),a=si(t.parseFloat(t.eval(r)).toFixed())}else wi(r)===i.n&&(a=r);if(!isNaN(a)&&a!==e&&wi(a)===i.n){var y=nn&&h,w=u*(y&&m.n?-1:1),b=y&&m.i,M=y&&m.n;switch(w=b?l-w:w,o){case"+=":s=w+a;break;case"-=":s=w-a;break;case"*=":s=w*a;break;case"/=":s=w/a;break;default:s=a}b&&(s=l-s),M&&(s*=-1),h&&m.n?(s=Math.max(l,s),s=Math.min(0,s)):(s=Math.min(l,s),s=Math.max(0,s)),s===u&&(s=e)}return s};if(L||P){var R=L?I:u(I);if(0===R.length)return;if(W){var j,F,U,_=n.axis,Q=n.block,V=wi(Q),X=n.margin,Y=wi(X);if(V===i.s)Q=[Q,Q];else if(V===i.a)if((F=Q.length)>2||F<1)Q=e;else{for(j=!0,1===F&&(Q[1]=A),g=0;g =G[r]&&$[r]+ht[e]<=G[r]+Wn[e],et[i]=ht[e] s:a 0||O){var yt={};if(dt&&(yt[oe]=M.x),vt&&(yt[ae]=M.y),O)at.animate(yt,r);else{var mt={duration:r,complete:c};if(wi(a)===i.a){var gt={};gt[oe]=a[0],gt[ae]=a[1],mt.specialEasing=gt}else mt.easing=a;at.animate(yt,mt)}}else dt&&at[oe](M.x),vt&&at[ae](M.y)},En.scrollStop=function(t,n,e){at.stop(t,n,e)},En.getElements=function(){return{target:tt[0],host:nt[0],padding:ot[0],viewport:at[0],content:ct[0],scrollbarHorizontal:{scrollbar:ft[0],track:ht[0],handle:pt[0]},scrollbarVertical:{scrollbar:dt[0],track:vt[0],handle:yt[0]},scrollbarCorner:lt}},En.getState=function(t){var n=function(t){if(!u.isPlainObject(t))return t;var n=bi(!0,{},t),e=function(t,e){n.hasOwnProperty(t)&&(n[e]=n[t],delete n[t])};return e("w",Qn),e("h",Vn),delete n.c,n},e={sleeping:n(U)||!1,autoUpdate:n(!ln),widthAuto:n(Mt),heightAuto:n(Ot),padding:n(At),overflowAmount:n(Pt),hideOverflow:n(xt),hasOverflow:n(bt),contentScrollSize:n(gt),viewportSize:n(Wn),hostSize:n(mt),documentMixed:n(I)};return wi(t)===i.s?di(e,t):e},Si(l,f))return c.add(l,En),En;En=e}function dr(t,n,e){for(var r=n.split(ne),i=0;i9||!g){t.prepend(pi(je,pi({className:Fe,dir:"ltr"},pi(Fe,pi(Be))+pi(Fe,pi({className:Be,style:"width: 200%; height: 200%"})))));var d,v,y,b,x=t[0][l][0][l][0],M=u(x[l][1]),O=u(x[l][0]),S=u(O[0][l][0]),C=x[o.oW],A=x[o.oH],E=2,H=h.nativeScrollbarSize,k=function(){O[oe](r)[ae](r),M[oe](r)[ae](r)},T=function(){v=0,d&&(C=y,A=b,f())},W=function(t){return y=x[o.oW],b=x[o.oH],d=y!=C||b!=A,t&&d&&!v?(a.cAF()(v),v=a.rAF()(T)):t||T(),k(),t&&(a.prvD(t),a.stpP(t)),!1},I={},L={};L[Rn]=-(H.y+1)*E,L[jn]=H.x*-E,L[Fn]=H.y*-E,L[Bn]=-(H.x+1)*E,u(x).css(L),O.on($n,W),M.on($n,W),t.on(c,function(){W(!1)}),I[Qn]=r,I[Vn]=r,S.css(I),k()}else{var P=G[0],N=P.attachEvent,q=w!==e;if(N)t.prepend(pi(je)),hi(t,te+je)[0].attachEvent("onresize",f);else{var D=P.createElement(i.o);D.setAttribute("tabindex","-1"),D.setAttribute(o.c,je),D.onload=function(){var t=this.contentDocument.defaultView;t.addEventListener("resize",f),t.document.documentElement.style.display="none"},D.type="text/html",q&&t.prepend(D),D.data="about:blank",q||t.prepend(D),t.on(c,f)}}if(t[0]===rt[0]){var R=function(){var n=nt.css("direction"),e={},i=0,o=!1;return n!==kt&&("ltr"===n?(e[Bn]=0,e[jn]=Kn,i=r):(e[Bn]=Kn,e[jn]=0,i=m.n?-r:m.i?0:r),rt.children().eq(0).css(e),t[oe](i)[ae](r),kt=n,o=!0),o};R(),t.on($n,function(t){return R()&&Xr(),a.prvD(t),a.stpP(t),!1})}}function mr(t){if(z){var n=t.contents()[0];n[ye].disconnect(),delete n[ye]}else Oi(t.children(te+je).eq(0))}function gr(t){if(t!==e&&z){var n=t.contents()[0];n[ye].unobserve(n)}}function wr(t){if(t!==e&&z){var n=t.contents()[0];n[ye].observe(n)}}function br(){fn&&!ln&&(cn.observe(nt[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[o.i,o.c,o.s]}),un.observe(T?tt[0]:ct[0],{attributes:!0,attributeOldValue:!0,subtree:!T,childList:!T,characterData:!T,attributeFilter:T?["wrap","cols","rows"]:[o.i,o.c,o.s]}),ln=!0)}function xr(){fn&&ln&&(cn.disconnect(),un.disconnect(),ln=!1)}function Mr(){if(!U){var t=rt[0],n={w:t[o.sW],h:t[o.sH]};if(H){var e=mi(n,Kt);Kt=n,e&&Xr(!0,!1)}else Kt=n}}function Or(){bn&&Jr(!0)}function Sr(){bn&&!Z.hasClass(ir)&&Jr(!1)}function Cr(){wn&&(Jr(!0),clearTimeout(vn),vn=setTimeout(function(){wn&&!k&&Jr(!1)},100))}function Ar(t){var n=X.callbacks;U||(_!==e?clearTimeout(_):((gn||wn)&&Jr(!0),li()||xi(nt,Ae),ri(n.onScrollStart,t)),ti(!0,at[oe]()),ti(!1,at[ae]()),ri(n.onScroll,t),_=setTimeout(function(){k||(zr(),ri(n.onScrollStop,t))},Ln))}function zr(){clearTimeout(_),_=e,(gn||wn)&&Jr(!1),li()||Mi(nt,Ae)}function Er(){Vr(),En.update(Kn)}function Hr(t){var n=t.keyCode;if(!ui(n)){if(0===fr.length){var e=function(){Vr(),En.update(Kn)};e(),hn=setInterval(e,1e3/60)}-1===u.inArray(n,fr)&&fr.push(n)}}function kr(t){var n=t.keyCode;if(!ui(n)){var e=u.inArray(n,fr);e>-1&&fr.splice(e,1),0===fr.length&&(Vr(),En.update(Kn),clearInterval(hn))}}function Tr(){setTimeout(function(){k||(Vr(),En.update(Kn))},50)}function Wr(){pn=!0}function Ir(){pn=!1,clearInterval(hn),fr=[],Vr(),En.update(Kn)}function Lr(t){return tt[oe](m.i&&nn?9999999:0),tt[ae](0),a.prvD(t),a.stpP(t),!1}function Pr(t){if(!U){var n=(t.originalEvent||t).touches!==e;(1===a.mBtn(t)||n)&&(ln&&(On=!0,xr()),hr=a.page(t),pr.w=nt[0][o.oW]-(L?0:N),pr.h=nt[0][o.oH]-(L?0:q),G.on(de,Dr).on(ue,Nr).on(ce,qr),xi(Z,ir),lt.setCapture&<.setCapture(),a.prvD(t),a.stpP(t))}}function Nr(t){var n=a.page(t),e={};(An||Cn)&&(e[Qn]=pr.w+n.x-hr.x),(zn||Cn)&&(e[Vn]=pr.h+n.y-hr.y),nt.css(e),a.stpP(t)}function qr(t){var n=t!==e;G.off(de,Dr).off(ue,Nr).off(ce,qr),Mi(Z,ir),lt.releaseCapture&<.releaseCapture(),n&&(On&&br(),En.update(Kn)),On=!1}function Dr(t){return a.prvD(t),!1}function Rr(){Xr()}function jr(){var t={};return W&&st&&(t.w=si(st.css(Un+Qn)),t.h=si(st.css(Un+Vn)),t.c=mi(t,sn),t.f=!0),sn=t,t.c}function Fr(t,n){var r=n!==e&&null!==n?n.split(ne):Yn,i=t!==e&&null!==t?t.split(ne):Yn;if(r===Yn&&i===Yn)return!1;var o,a,s,c,l=ai(i,r),f=!1,h=rn!==e&&null!==rn?rn.split(ne):[Yn],p=en!==e&&null!==en?en.split(ne):[Yn],d=u.inArray(or,l),v=l[o];for(d>-1&&l.splice(d,1),o=0;o 0&&H&&i-Y 0?ht:or)),cn&&(!0===Kt?(xr(),p.add(En)):null===Kt&&g?(xr(),p.add(En)):(p.remove(En),br())),Vt)if(Qt)if(it===e&&(it=u(pi(De)),ot.before(it)),P)et.show();else{et=u(pi(Re)),it.before(et);var On={w:-1,h:-1};yr(et,function(){var t={w:et[0][o.oW],h:et[0][o.oH]};mi(t,On)&&(H&&Ot&&t.h>0||Mt&&t.w>0?Xr():(H&&!Ot&&0===t.h||!Mt&&0===t.w)&&Xr()),On=t}),P=!0,null!==x&&et.css(Vn,x+"(100% + 1px)")}else P&&et.hide();r&&(rt.find("*").trigger($n),P&&et.find("*").trigger($n));var kn,Tn=nt.css("direction"),Ln=yi(Tn,Ht,r),Pn=nt.css("box-sizing"),te=yi(Pn,Ct,r),ee={c:r,t:si(nt.css(qn+Rn)),r:si(nt.css(qn+jn)),b:si(nt.css(qn+Fn)),l:si(nt.css(qn+Bn))};try{kn=P?et[0].getBoundingClientRect():null}catch(Fi){return}L="border-box"===Pn;var re=(B="rtl"===Tn)?Bn:jn,ie=B?jn:Bn,ce=nt[0],he=ot[0],pe=!1,de=!(!P||"none"===nt.css(Xn))&&(0===Math.round(kn.right-kn.left)&&(!!Ft||ce[o.cW]-N>0));if(Qt&&!de){var ve=ce[o.oW],ye=it.css(Qn);it.css(Qn,Kn);var me=ce[o.oW];it.css(Qn,ye),(pe=ve!==me)||(it.css(Qn,ve+1),me=ce[o.oW],it.css(Qn,ye),pe=ve!==me)}var ge=(de||pe)&&Qt,we=yi(ge,Mt,r),be=!ge&&Mt,xe=!!P&&0===Math.round(kn.bottom-kn.top),Me=yi(xe,Ot,r),Oe=!xe&&Ot,ke="-"+Qn,Te=ge&&L||!L,We=xe&&L||!L,Ie={c:r,t:We?si(nt.css(Dn+Rn+ke)):0,r:Te?si(nt.css(Dn+jn+ke)):0,b:We?si(nt.css(Dn+Fn+ke)):0,l:Te?si(nt.css(Dn+Bn+ke)):0},Le={c:r,t:si(nt.css(Nn+Rn)),r:si(nt.css(Nn+jn)),b:si(nt.css(Nn+Fn)),l:si(nt.css(Nn+Bn))},Pe={h:String(nt.css(_n+Vn)),w:String(nt.css(_n+Qn))},Ne={},je={};if(N=ee.l+ee.r,q=ee.t+ee.b,ee.c=gi(ee,At),D=Ie.l+Ie.r,R=Ie.t+Ie.b,Ie.c=gi(Ie,zt),j=Le.l+Le.r,F=Le.t+Le.b,Le.c=gi(Le,Et),Pe.ih=si(Pe.h),Pe.iw=si(Pe.w),Pe.ch=Pe.h.indexOf("px")>-1,Pe.cw=Pe.w.indexOf("px")>-1,Pe.c=mi(Pe,St,r),Ht=Tn,Ct=Pn,Mt=ge,Ot=xe,At=ee,zt=Ie,Et=Le,St=Pe,Ln&&P&&et.css(Xn,ie),ee.c||Ln||Bt||we||Me||te||Vt){var Fe={},Be={};ii(je,Nn,[-ee.t,-ee.r,-ee.b,-ee.l]),Ft?(ii(Fe,Yn,[ee.t,ee.r,ee.b,ee.l]),ii(T?Be:Ne,qn)):(ii(Fe,Yn),ii(T?Be:Ne,qn,[ee.t,ee.r,ee.b,ee.l])),ot.css(Fe),tt.css(Be)}Wn={w:he[o.oW],h:he[o.oH]};var Ue=!!T&&Vr();if(xe&&(Me||Bt||te||Pe.c||ee.c||Ie.c)?(Pe.cw&&(Ne[_n+Vn]=Pe.ch?Pe.ih-(Ft?q:0)+(L?-R:q):Yn),Ne[Vn]=Kn):(Me||Bt)&&(Ne[_n+Vn]=Yn,Ne[Vn]=Gn),ge&&(we||Bt||te||Pe.c||ee.c||Ie.c||Ln)?(Pe.cw&&(Ne[_n+Qn]=Pe.cw?Pe.iw-(Ft?N:0)+(L?-D:N)+(v.y?y.y:0):Yn),Ne[Qn]=Kn,je[_n+Qn]=Gn):(we||Bt)&&(Ne[_n+Qn]=Yn,Ne[Qn]=Gn,Ne[Xn]=Yn,je[_n+Qn]=Yn),ge&&(Pe.cw||(Ne[_n+Qn]=Yn),je[Qn]=T&&hn?Ue.dw:Kn,Ne[Qn]=Kn,Ne[Xn]=ie),xe&&(Pe.ch||(Ne[_n+Vn]=Yn),je[Vn]=T?vn?Ue.dh:Kn:ct[0][o.cH]),Qt&&it.css(je),ct.css(Ne),Ne={},je={},bt=bt||{x:!1,y:!1},t||n||Ln||te||Bt||we||ge||Me||xe||Pe.c||Yt||fn||_t||vt||Q||dn||Mn||kt||Bt||dn||Mn||r){var _e="overflow",Qe=_e+"-x",Ve=_e+"-y",Xe="hidden",Ye="visible",Ke=E&&(v.x||v.y||Wn.w 0&&(je[Qn]=Math.max(1,je[Qn]),je[Vn]=Math.max(1,je[Vn])),T&&ut.css(Mr),it.css(je)}ge&&(Ne[Qn]=Gn),!ge||L||ln||(Ne[Xn]="none"),ct.css(Ne),Ne={};var Ar=rr.getBoundingClientRect(),zr={w:Math.max(rr[o.sW],ir[o.sW]),h:Math.max(rr[o.sH],ir[o.sH])};if(Ke&&ct.css(_e,Yn),Ar.width){var Er=Ar.width,Hr=Ar.height,kr=.001;zr.w+=si(Er+kr)-Er,zr.h+=si(Hr+kr)-Hr}zr.c=n=mi(zr,gt,r),gt=zr,t=mi(fr={w:ce[o.cW],h:ce[o.cH]},mt),mt=fr,Wn={w:he[o.oW],h:he[o.oH]};var Tr={x:"v-s"===un.x,y:"v-s"===un.y},Wr={x:"v-h"===un.x,y:"v-h"===un.y},Ir={x:"s"===un.x,y:"s"===un.y},Lr={x:Math.max(0,Math.round(100*(zr.w-fr.w+(Ft?N:0)))/100),y:Math.max(0,Math.round(100*(zr.h-fr.h+(Ft?q:0)))/100)},Nr=T&&(0===Wn.w||0===Wn.h);Nr&&(Lr.x=0,Lr.y=0);var qr={x:Lr.x>0,y:Lr.y>0},Dr={x:qr.x,y:qr.y};(Tr.x||Wr.x)&&(Dr.x=qr.y&&!Tr.y&&!Wr.y),(Tr.y||Wr.y)&&(Dr.y=qr.x&&!Tr.x&&!Wr.x),Dr.xs=!!Dr.x&&(Ir.x||Tr.x),Dr.ys=!!Dr.y&&(Ir.y||Tr.y);var Rr={x:qr.x&&Dr.xs,y:qr.y&&Dr.ys},Fr=Pt;if(Lr.c=mi(Lr,Pt,Jn,Zn,r),Pt=Lr,qr.c=mi(qr,bt,Jn,Zn,r),bt=qr,Dr.c=mi(Dr,xt,Jn,Zn,r),xt=Dr,v.x||v.y){var Br=r,Ur={};if((qr.x||qr.y)&&(Ur.w=v.y&&qr.y?zr.w+y.y:Yn,Ur.h=v.x&&qr.x?zr.h+y.x:Yn,Br=yi(Ur,wt,r),wt=Ur),qr.c||Dr.c||zr.c||Ln||we||Me||ge||xe||Yt){var _r="px solid transparent";Ne[Dn+ie]=Yn,Ne[Nn+ie]=Yn,v.x&&qr.x&&Dr.xs?(xe&&(Ne[Nn+Fn]=Xt?Yn:y.x),Ne[Dn+Fn]=xe||Xt?Yn:y.x+_r):(Ur.h=Yn,Br=!0,Ne[Dn+Fn]=Yn,Ne[Nn+Fn]=Yn),v.y&&qr.y&&Dr.ys?(ge&&(Ne[Nn+re]=Xt?Yn:y.y),Ne[Dn+re]=Xt?Yn:y.y+_r):(Ur.w=Yn,Br=!0,Ne[Dn+re]=Yn,Ne[Nn+re]=Yn)}if(Xt&&(Ur.w=Yn,Ur.h=Yn,Br=!0),Br){var Qr={};Qr[Qn]=Dr.y?Ur.w:Yn,Qr[Vn]=Dr.x?Ur.h:Yn,st===e&&(st=u(pi(qe)),at.prepend(st)),st.css(Qr)}ct.css(Ne)}var Yr={};Fe={};if(t||qr.c||Dr.c||zr.c||fn||te||Yt||Ln||_t||Me){Yr[ie]=Yn;var Kr=function(){Yr[Fn]=Yn,Hn.h=0},$r=function(){Yr[re]=Yn,Hn.w=0};if(qr.x&&Dr.xs?(Yr[Qe]=$n,Xt?Kr():(Yr[Fn]=-(v.x?y.x:M.x),Hn.h=v.x?y.y:0)):(Yr[Qe]=Yn,Kr()),qr.y&&Dr.ys?(Yr[Ve]=$n,Xt?$r():(Yr[re]=-(v.y?y.y:M.y),Hn.w=v.y?y.x:0)):(Yr[Ve]=Yn,$r()),(Wn.h -1,ji=Di.y>-1;(Ri||ji)&&(ji&&at[ae](Di.y),Ri&&(B&&nn&&m.i?at[oe](0):at[oe](Di.x)))}jt=Hi}else T||(B&&m.i&&v.y&&qr.x&&nn&&(c.l+=Hn.w||0),at[oe](c.l),at[ae](c.t));Ln&&ri(C,{isRTL:B,dir:Tn}),t&&ri(I,{width:mt.w,height:mt.h}),n&&ri(z,{width:gt.w,height:gt.h}),(qr.c||Dr.c)&&ri(O,{x:qr.x,y:qr.y,xScrollable:Dr.xs,yScrollable:Dr.ys,clipped:Dr.x||Dr.y}),Lr.c&&ri(S,{x:Lr.x,y:Lr.y})}W&&(qr.c||sn.c)&&(sn.f||jr(),v.y&&qr.x&&ct.css(Un+Qn,sn.w+y.y),v.x&&qr.y&&ct.css(Un+Vn,sn.h+y.x),sn.c=!1),wr(rt),wr(et),ri(w,{forced:r})}}function Yr(t){V=bi(!0,{},V,O.v(t,O.t,!0)),X=bi(!0,{},X,O.v(t,O.t,!1,!0))}function Kr(){ft=u(pi(_e+ne+er)),ht=u(pi(Qe)),pt=u(pi(Xe)),dt=u(pi(_e+ne+rr)),vt=u(pi(Qe)),yt=u(pi(Xe)),ft.append(ht),ht.append(pt),dt.append(vt),vt.append(yt),ot.after(dt),ot.after(ft),S&&(ft.on(ve,function(t){t.target===ft[0]&&(Zr(!0),ti(!0,at[oe]()))}),dt.on(ve,function(t){t.target===dt[0]&&(Zr(!1),ti(!1,at[ae]()))})),$r(!0),$r(!1),lt=u(pi(Ge)),nt.append(lt)}function $r(t){var n,r,i,o=ei(t),s=o.xy,c=$n+o.LT,u="active",l=1,f=function(){l=.5},h=function(){l=1},p=function(e){var i=o.i.tl,u=o.i.hl,l=o.i.ms*((u/2+a.page(e)[s]-r-u/2)/(i-u));l=isFinite(l)?l:0,B&&t&&(m.n||!m.n&&!m.i)&&(l*=-1),at[c](n+l),A||a.prvD(e)},d=function(t){t=t||t.originalEvent,Mi(Z,ir),Mi(o.h,u),Mi(o.t,u),Mi(o.s,u),G.off(ue,p).off(ce,d).off(he,v).off(pe,y).off(de,Dr),h(),n=e,r=e,i!==e&&(En.scrollStop(),clearTimeout(i),i=e);var a=nt[0].getBoundingClientRect();t.clientX>=a.left&&t.clientX<=a.right&&t.clientY>=a.top&&t.clientY<=a.bottom||Sr(),(gn||wn)&&Jr(!1)},v=function(t){16==t.keyCode&&f()},y=function(t){16==t.keyCode&&h()};o.h.on(se,function(i){if(!U){var l=(i.originalEvent||i).touches!==e;li()||!Zt||l&&!xn||(1===a.mBtn(i)||l)&&(n=(n=at[c]())===e?0:n,(B&&t&&!m.n||!B)&&(n=n<0?0:n),r=a.page(i)[s],xi(Z,ir),xi(o.h,u),xi(o.s,u),G.on(ue,p).on(ce,d).on(de,Dr),!w&&I||a.prvD(i),a.stpP(i))}}),o.t.on(se,function(n){if(!U){var c=(n.originalEvent||n).touches!==e;if(!li()&&Jt&&(!c||xn)&&(1===a.mBtn(n)||c)){var h,p=Wn[o._wh],g=o.t.offset()[o.lt],w=!0;n.shiftKey&&f();var b=function(){if(!k){var n=o.i.ho,a=o.i.hl,s=r-g,c=200*l,u=w?Math.max(333,c):c,f={},d=B&&t&&(!m.i&&!m.n||nn),v=n>s;d&&(v=n =s;d&&(y=h?n+a>=s:n<=s),y?(clearTimeout(i),En.scrollStop(),i=e):i=setTimeout(b,u),w=!1}};r=a.page(n)[s],xi(Z,ir),xi(o.t,u),xi(o.s,u),G.on(ce,d).on(he,v).on(pe,y).on(de,Dr),b(),a.prvD(n),a.stpP(n)}}}).hover(function(){(gn||wn)&&(Mn=!0,Jr(!0))},function(){(gn||wn)&&(Mn=!1,Jr(!1))}),o.s.on(se,function(t){a.stpP(t)})}function Gr(t,n,e){var r=t?xe:Me,i=t?ft:dt;n?Mi(nt,r):xi(nt,r),e?Mi(i,Ke):xi(i,Ke)}function Jr(t,n){if(clearTimeout(dn),t)Mi(ft,$e),Mi(dt,$e);else{var e="active",r=function(){if(!Mn&&!k){var t=pt.hasClass(e)||yt.hasClass(e);!t&&(gn||wn||bn)&&xi(ft,$e),!t&&(gn||wn||bn)&&xi(dt,$e)}};yn>0&&!0!==n?dn=setTimeout(r,yn):r()}}function Zr(t){var n={},e=ei(t),r=1e6,i=Math.min(1,(mt[e._wh]-(Tt?t?N:q:0))/gt[e._wh]);n[e.wh]=Math.floor(100*i*r)/r+"%",li()||e.h.css(n),e.i.hl=e.h[0]["offset"+e.WH],e.i.hlr=i}function ti(t,n){var e,r,i=B&&t,o={},a=ei(t),s="translate(",c="transform",u=at[0][$n+a.WH]-at[0]["client"+a.WH],l=a.i.hl,f=a.t[0]["offset"+a.WH],h=f-l;m.n&&i&&(u*=-1),r=n/u,r=isNaN(r)?0:Math.min(1,r),a.i.ms=u,a.i.cs=n,a.i.csr=r,h*=r,h=isNaN(h)?0:h,i&&(m.n||!m.n&&!m.i)&&(h=f-l-h),h=Math.max(0,h),C?(i&&(h=-(f-l-h)),e=t?s+h+"px, 0)":s+"0, "+h+"px)",o["-webkit-"+c]=e,o["-moz-"+c]=e,o["-ms-"+c]=e,o["-o-"+c]=e,o[c]=e):o[a.lt]=h,li()||a.h.css(o),a.i.ho=h,a.i.tl=f}function ni(t,n){var e=n?"removeClass":"addClass",r=t?vt:yt,i=t?Ve:Ye;(t?ht:pt)[e](i),r[e](i)}function ei(t){return{wh:t?Qn:Vn,WH:t?"Width":"Height",lt:t?Bn:Rn,LT:t?"Left":"Top",xy:t?Jn:Zn,XY:t?"X":"Y",_wh:t?"w":"h",_lt:t?"l":"t",t:t?ht:vt,h:t?pt:yt,s:t?ft:dt,i:t?kn:Tn}}function ri(t,n){H&&u.isFunction(t)&&t.call(En,n)}function ii(t,n,r){r===e&&(r=[Yn,Yn,Yn,Yn]),t[n+Rn]=r[0],t[n+jn]=r[1],t[n+Fn]=r[2],t[n+Bn]=r[3]}function oi(n){var e="ownerDocument",r="HTMLElement",o=n&&n[e]&&n[e].parentWindow||t;return typeof o[r]===i.o?n instanceof o[r]:n&&typeof n===i.o&&null!==n&&1===n.nodeType&&typeof n.nodeName===i.s}function ai(t,n){var e,r,i=[],o=[];for(e=0;ef&&(l=r+1,f=n);return{cR:h,cC:p,r:c,c:f,w:l,p:t,m:a}}}function ui(t){for(var n=0;n "+(n||Yn)+""}function di(t,n){for(var e,r=n.split(te),o=0;o 9||!g?tt.on("input",Er):tt.on(he,Hr).on(pe,kr)}else xi(tt,we),(nt=tt).wrapInner(pi(Ne)).wrapInner(pi(Ie)).wrapInner(pi(We)),ct=hi(nt,te+Ne),at=hi(nt,te+Ie),ot=hi(nt,te+We),ct.on(ve,function(t){!0!==qt&&Qr((t=t.originalEvent||t).propertyName)&&Xr(Kn)});if(Kr(),A?dr(at,$n,Ar):at.on($n,Ar),b&&xi(at,v.x&&v.y?Pe:Le),fn){var c,l,f,p,d,O,L=a.mO(),P=a.now();cn=new L(function(t){if(H&&!U){var n,e=!1;u.each(t,function(){if(c=(n=this).target,l=n.attributeName,e=l===o.c?Fr(n.oldValue,c.className):l!==o.s||n.oldValue!==c.style.cssText)return!1}),e&&En.update(Kn)}}),un=new L(function(t){if(H&&!U){var n=!1;u.each(t,function(){return!(n=Br(this))}),n&&(p=a.now(),d=Ot||Mt,O=function(){k||(P=p,T&&Vr(),d?En.update():En.update(Kn))},clearTimeout(f),ur<=0||p-P>ur||!d?O():f=setTimeout(O,ur))}})}return W&&(xi(J,ge),at[oe](r.l),at[ae](r.t)),rt=u(pi("os-resize-observer-host")),nt.prepend(rt),yr(rt,Mr),Mr(),En.update(Kn),setTimeout(function(){S&&!k&&xi(nt,Oe)},333),H=!0,ri(i.onInitialized),H}}return t[r]=function(n,i){if(0===arguments.length)return this;S();var o,a,s=[];return u.isPlainObject(i)?n&&n.length?(u.each(n,function(){(o=this)!==e&&s.push(z(o,i,l,f))}),a=s.length>1?s:s[0]):a=z(n,i,l,f):n&&(n.length&&n.length>0?(u.each(n,function(){o=c.get(this),"!"===i?o instanceof t[r]&&s.push(o):s.push(o)}),a=s.length>1?s:s[0]):a=c.get(n)),a},t[r].globals=function(){S();var t=u.extend(!0,{},l);return delete t.msie,t},t[r].defaultOptions=function(t){S();var n=l.defaultOptions;if(t===e)return u.extend(!0,{},n);l.defaultOptions=u.extend(!0,{},n,O.v(t,O.t,!0))},t[r]}(a,function(t){var n=[],r="__overlayScrollbars__";function i(t,e){t[r]=e,n.push(t)}function o(e){var i=t.inA(e,n);i>-1&&(delete e[r],n.splice(i,1))}function a(t){return s(t)!==e}function s(e){var i=t.inA(e,n);if(i>-1)return n[i][r]}return{all:function(){return n},add:i,rem:o,has:a,get:s}}(a),c);return s&&s.fn&&(s.fn.overlayScrollbars=function(t){var n=this;return s.isPlainObject(t)?(s.each(n,function(){u(this,t)}),n):u(n,t)}),u}); \ No newline at end of file diff --git a/js/jquery.overlayScrollbars.js b/js/jquery.overlayScrollbars.js index 753970d..27bc9e6 100644 --- a/js/jquery.overlayScrollbars.js +++ b/js/jquery.overlayScrollbars.js @@ -2,19 +2,19 @@ * OverlayScrollbars * https://github.com/KingSora/OverlayScrollbars * - * Version: 1.4.4 + * Version: 1.4.5 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 06.05.2018 + * Date: 18.05.2018 */ (function (global, factory) { - //if (typeof define === 'function' && define.amd) - // define(['jquery'], function(jQuery) { return factory(global, global.document, undefined, jQuery); }); - if (typeof module === 'object' && typeof module.exports === 'object') + if (typeof define === 'function' && define.amd) + define(['jquery'], function(framework) { return factory(global, global.document, undefined, framework); }); + else if (typeof module === 'object' && typeof module.exports === 'object') module.exports = factory(global, global.document, undefined, require('jquery')); else factory(global, global.document, undefined, global.jQuery); @@ -124,12 +124,30 @@ * @param e The event of which the default action shall be prevented. */ prvD: function(e) { - if(e.preventDefault) + if(e.preventDefault && e.cancelable) e.preventDefault(); else e.returnValue = false; }, + /** + * 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 + * @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.length; i++) { + //Sometiems in IE a "SCRIPT70" Permission denied error occurs if HTML elemtns in a iFrame are compared + try { + if (arr[i] === item) + return i; + } + catch(e) { } + } + return -1; + }, + /** * Gets the pageX and pageY values of the given mouse event. * @param e The mouse event of which the pageX and pageX shall be got. @@ -208,7 +226,7 @@ var JQUERY = framework; var FRAMEWORK = framework; - var INSTANCES = (function(helper) { + var INSTANCES = (function(compatibility) { var _targets = [ ]; var _instancePropertyString = '__overlayScrollbars__'; @@ -227,7 +245,7 @@ * @param target The target element. */ function unregisterInstanceFromTarget(target) { - var index = helper.inArray(target, _targets); + var index = compatibility.inA(target, _targets); if (index > -1) { delete target[_instancePropertyString]; _targets.splice(index, 1); @@ -249,10 +267,9 @@ * @returns {*} The registered instance of the target or undefined if there isn't any. */ function getRegisteredInstanceFromTarget(target) { - for(var i = 0; i < _targets.length; i++) - if(target === _targets[i]) - return target[_instancePropertyString]; - + var index = compatibility.inA(target, _targets); + if (index > -1) + return _targets[index][_instancePropertyString]; } return { @@ -264,7 +281,7 @@ has : targetHasRegisteredInstance, get : getRegisteredInstanceFromTarget }; - })(FRAMEWORK); + })(COMPATIBILITY); var PLUGIN = (function(compatibility, instances, helper) { var _pluginsGlobals; var _pluginsAutoUpdateLoop; @@ -489,7 +506,7 @@ var bodyElement = helper('body'); var scrollbarDummyElement = helper(' '); var scrollbarDummyElement0 = scrollbarDummyElement[0]; - var dummyContainerChild = helper(scrollbarDummyElement.children('div').first()); + var dummyContainerChild = helper(scrollbarDummyElement.children('div').eq(0)); var IEBUGFIX = scrollbarDummyElement0[LEXICON.oH]; //IE9 causes a bug where offsetHeight is zero for no reason bodyElement.append(scrollbarDummyElement); @@ -524,7 +541,7 @@ var trident = ua[strIndexOf]('Trident/'); var edge = ua[strIndexOf]('Edge/'); var rv = ua[strIndexOf]('rv:'); - var result = false; + var result; var parseInt = window.parseInt; // IE 10 or older => return version number @@ -837,6 +854,7 @@ var _destroyed; var _isTextarea; var _isBody; + var _documentMixed; //general: var _isBorderBox; @@ -887,7 +905,7 @@ var _strScrollLeft = _strScroll + 'Left'; var _strScrollTop = _strScroll + 'Top'; var _strMouseTouchDownEvent = 'mousedown touchstart'; - var _strMouseTouchUpEvent = 'mouseup touchend'; + var _strMouseTouchUpEvent = 'mouseup touchend touchcancel'; var _strMouseTouchMoveEvent = 'mousemove touchmove'; var _strMouseTouchEnter = 'mouseenter'; var _strMouseTouchLeave = 'mouseleave'; @@ -1073,7 +1091,7 @@ function addPassiveEventListener(element, eventNames, listener) { var events = eventNames.split(_strSpace); for (var i = 0; i < events.length; i++) - element[0].addEventListener(events[i], listener, {passive: true}); + element[0].addEventListener(events[i].trim(), listener, {passive: true}); } /** @@ -1085,7 +1103,7 @@ function removePassiveEventListener(element, eventNames, listener) { var events = eventNames.split(_strSpace); for (var i = 0; i < events.length; i++) - element[0].removeEventListener(events[i], listener); + element[0].removeEventListener(events[i].trim(), listener, {passive: true}); } @@ -1206,7 +1224,7 @@ else { var doc = _documentElement[0]; var attachEvent = doc.attachEvent; - var isIE = _msieVersion !== false; + var isIE = _msieVersion !== undefined; if (attachEvent) { targetElement.prepend(generateDiv(_classNameResizeObserverElement)); findFirst(targetElement, _strDot + _classNameResizeObserverElement)[0].attachEvent('onresize', callback); @@ -1249,7 +1267,7 @@ css[_strRight] = 0; scrollLeftValue = _rtlScrollBehavior.n ? -constMaximum : _rtlScrollBehavior.i ? 0 : constMaximum; } - _sizeObserverElement.children().first().css(css); + _sizeObserverElement.children().eq(0).css(css); targetElement[_strScrollLeft](scrollLeftValue)[_strScrollTop](constMaximum); _cssDirectionDetectedCache = dir; result = true; @@ -1278,7 +1296,7 @@ delete element[_strResizeObserverProperty]; } else { - remove(targetElement.children(_strDot + _classNameResizeObserverElement).first()); + remove(targetElement.children(_strDot + _classNameResizeObserverElement).eq(0)); } } @@ -1294,7 +1312,7 @@ } /* else { - targetElement = targetElement.children(_strDot + _classNameResizeObserverElement).first(); + targetElement = targetElement.children(_strDot + _classNameResizeObserverElement).eq(0); var w = targetElement.css(_strWidth); var h = targetElement.css(_strHeight); var css = {}; @@ -1321,7 +1339,7 @@ var css = { }; css[_strHeight] = _strEmpty; css[_strWidth] = _strEmpty; - targetElement.children(_strDot + _classNameResizeObserverElement).first().css(css); + targetElement.children(_strDot + _classNameResizeObserverElement).eq(0).css(css); } */ } @@ -1417,7 +1435,7 @@ refreshScrollbarsAutoHide(true); clearTimeout(_scrollbarsAutoHideMoveTimeoutId); _scrollbarsAutoHideMoveTimeoutId = setTimeout(function () { - if (_scrollbarsAutoHideMove) + if (_scrollbarsAutoHideMove && !_destroyed) refreshScrollbarsAutoHide(false); }, 100); } @@ -1440,7 +1458,7 @@ refreshScrollbarsAutoHide(true); if (!nativeOverlayScrollbarsAreActive()) - _hostElement.addClass(_classNameHostScrolling); + addClass(_hostElement, _classNameHostScrolling); callCallback(optionsCallbacks.onScrollStart, event); } @@ -1450,8 +1468,10 @@ callCallback(optionsCallbacks.onScroll, event); _scrollStopTimeoutId = setTimeout(function () { - viewportOnScrollStop(); - callCallback(optionsCallbacks.onScrollStop, event); + if(!_destroyed) { + viewportOnScrollStop(); + callCallback(optionsCallbacks.onScrollStop, event); + } }, _scrollStopDelay); } @@ -1465,7 +1485,7 @@ refreshScrollbarsAutoHide(false); if (!nativeOverlayScrollbarsAreActive()) - _hostElement.removeClass(_classNameHostScrolling); + removeClass(_hostElement, _classNameHostScrolling); } /** @@ -1519,8 +1539,10 @@ */ function textareaOnDrop() { setTimeout(function () { - textareaUpdate(); - _base.update(_strAuto); + if(!_destroyed) { + textareaUpdate(); + _base.update(_strAuto); + } }, 50); } @@ -1580,7 +1602,7 @@ .on(_strMouseTouchMoveEvent, scrollbarCornerOnResize) .on(_strMouseTouchUpEvent, scrollbarCornerOnResized); - _bodyElement.addClass(_classNameDragging); + addClass(_bodyElement, _classNameDragging); if (_scrollbarCornerElement.setCapture) _scrollbarCornerElement.setCapture(); @@ -1615,7 +1637,7 @@ .off(_strMouseTouchMoveEvent, scrollbarCornerOnResize) .off(_strMouseTouchUpEvent, scrollbarCornerOnResized); - _bodyElement.removeClass(_classNameDragging); + removeClass(_bodyElement, _classNameDragging); if (_scrollbarCornerElement.releaseCapture) _scrollbarCornerElement.releaseCapture(); @@ -1958,10 +1980,11 @@ } //abort update due to: + //destroyed //swallowing //sleeping //host is hidden or has false display - if (swallow || _isSleeping || (_initialized && !force && _hostElement.is(':hidden')) || _hostElement.css('display') === 'inline') + if (_destroyed || swallow || _isSleeping || (_initialized && !force && _hostElement.is(':hidden')) || _hostElement.css('display') === 'inline') return; _lastUpdateTime = now; @@ -2952,15 +2975,15 @@ //handle scroll if (_isTextarea && contentSizeChanged) { var textareaInfo = getTextareaInfo(); - if (textareaInfo !== undefined) { + if (textareaInfo) { var textareaRowsChanged = _textareaInfoCache === undefined ? true : textareaInfo.rows !== _textareaInfoCache.rows; - var widestRow = textareaInfo.wRow; - var cursorRow = textareaInfo.cursorRow; - var cursorCol = textareaInfo.cursorCol; - var lastRow = textareaInfo.rows; - var lastCol = textareaInfo.cols; - var cursorPos = textareaInfo.pos; - var cursorMax = textareaInfo.max; + var cursorRow = textareaInfo.cR; + var cursorCol = textareaInfo.cC; + var widestRow = textareaInfo.w; + var lastRow = textareaInfo.r; + var lastCol = textareaInfo.c; + var cursorPos = textareaInfo.p; + var cursorMax = textareaInfo.m; var cursorIsLastPosition = (cursorMax === cursorPos && _textareaHasFocus); var doScroll = { x: (!textareaAutoWrapping && (cursorCol === lastCol && cursorRow === widestRow)) ? _overflowAmountCache.x : -1, @@ -3139,19 +3162,11 @@ removeClass(scrollbarVars.t, strActive); removeClass(scrollbarVars.s, strActive); - if (_supportPassiveEvents) { - removePassiveEventListener(_documentElement, _strMouseTouchMoveEvent, handleDragMove); - removePassiveEventListener(_documentElement, _strMouseTouchUpEvent, documentMouseTouchUp); - removePassiveEventListener(_documentElement, _strKeyDownEvent, documentKeyDown); - removePassiveEventListener(_documentElement, _strKeyUpEvent, documentKeyUp); - } - else { - _documentElement.off(_strMouseTouchMoveEvent, handleDragMove) - .off(_strMouseTouchUpEvent, documentMouseTouchUp) - .off(_strKeyDownEvent, documentKeyDown) - .off(_strKeyUpEvent, documentKeyUp); - } - _documentElement.off(_strSelectStartEvent, documentOnSelectStart); + _documentElement.off(_strMouseTouchMoveEvent, handleDragMove) + .off(_strMouseTouchUpEvent, documentMouseTouchUp) + .off(_strKeyDownEvent, documentKeyDown) + .off(_strKeyUpEvent, documentKeyUp) + .off(_strSelectStartEvent, documentOnSelectStart); decreaseTrackScrollAmount(); mouseDownScroll = undefined; @@ -3195,21 +3210,17 @@ mouseDownScroll = mouseDownScroll < 0 ? 0 : mouseDownScroll; mouseDownOffset = compatibility.page(event)[xy]; - addClass(_bodyElement, _classNameDragging); addClass(scrollbarVars.h, strActive); addClass(scrollbarVars.s, strActive); - if (_supportPassiveEvents) { - addPassiveEventListener(_documentElement, _strMouseTouchMoveEvent, handleDragMove); - addPassiveEventListener(_documentElement, _strMouseTouchUpEvent, documentMouseTouchUp); - } - else { - _documentElement.on(_strMouseTouchMoveEvent, handleDragMove) - .on(_strMouseTouchUpEvent, documentMouseTouchUp); - } - _documentElement.on(_strSelectStartEvent, documentOnSelectStart); - compatibility.prvD(event); + _documentElement.on(_strMouseTouchMoveEvent, handleDragMove) + .on(_strMouseTouchUpEvent, documentMouseTouchUp) + .on(_strSelectStartEvent, documentOnSelectStart); + + if(_msieVersion || !_documentMixed) + compatibility.prvD(event); + compatibility.stpP(event); } }); scrollbarVars.t.on(_strMouseTouchDownEvent, function (event) { @@ -3229,43 +3240,45 @@ if (event.shiftKey) increaseTrackScrollAmount(); var scrollAction = function () { - var handleOffset = scrollbarVars.i.ho; - var handleLength = scrollbarVars.i.hl; - var mouseOffset = mouseDownOffset - trackOffset; - var scrollDuration = 200 * scrollDurationFactor; - var timeoutDelay = isFirstIteration ? Math.max(333, scrollDuration) : scrollDuration; - var scrollObj = {}; - var rtlIsNormal = _isRTL && isHorizontal && ((!_rtlScrollBehavior.i && !_rtlScrollBehavior.n) || _normalizeRTLCache); - var decreaseScrollCondition = handleOffset > mouseOffset; + if(!_destroyed) { + var handleOffset = scrollbarVars.i.ho; + var handleLength = scrollbarVars.i.hl; + var mouseOffset = mouseDownOffset - trackOffset; + var scrollDuration = 200 * scrollDurationFactor; + var timeoutDelay = isFirstIteration ? Math.max(333, scrollDuration) : scrollDuration; + var scrollObj = {}; + var rtlIsNormal = _isRTL && isHorizontal && ((!_rtlScrollBehavior.i && !_rtlScrollBehavior.n) || _normalizeRTLCache); + var decreaseScrollCondition = handleOffset > mouseOffset; - if (rtlIsNormal) - decreaseScrollCondition = handleOffset < mouseOffset; + if (rtlIsNormal) + decreaseScrollCondition = handleOffset < mouseOffset; - if (decreaseScrollCondition) { - if (decreaseScroll === undefined) - decreaseScroll = true; - scrollObj[scrollbarVars.xy] = '-=' + scrollDistance; - } - else { - if (decreaseScroll === undefined) - decreaseScroll = false; - scrollObj[scrollbarVars.xy] = '+=' + scrollDistance; - } - _base.scrollStop(); - _base.scroll(scrollObj, scrollDuration, 'linear'); - - var finishedCondition = decreaseScroll ? handleOffset <= mouseOffset : handleOffset + handleLength >= mouseOffset; - if (rtlIsNormal) - finishedCondition = decreaseScroll ? handleOffset + handleLength >= mouseOffset : handleOffset <= mouseOffset; - - if (finishedCondition) { - clearTimeout(trackTimeout); + if (decreaseScrollCondition) { + if (decreaseScroll === undefined) + decreaseScroll = true; + scrollObj[scrollbarVars.xy] = '-=' + scrollDistance; + } + else { + if (decreaseScroll === undefined) + decreaseScroll = false; + scrollObj[scrollbarVars.xy] = '+=' + scrollDistance; + } _base.scrollStop(); - trackTimeout = undefined; + _base.scroll(scrollObj, scrollDuration, 'linear'); + + var finishedCondition = decreaseScroll ? handleOffset <= mouseOffset : handleOffset + handleLength >= mouseOffset; + if (rtlIsNormal) + finishedCondition = decreaseScroll ? handleOffset + handleLength >= mouseOffset : handleOffset <= mouseOffset; + + if (finishedCondition) { + clearTimeout(trackTimeout); + _base.scrollStop(); + trackTimeout = undefined; + } + else + trackTimeout = setTimeout(scrollAction, timeoutDelay); + isFirstIteration = false; } - else - trackTimeout = setTimeout(scrollAction, timeoutDelay); - isFirstIteration = false; }; mouseDownOffset = compatibility.page(event)[xy]; @@ -3274,20 +3287,14 @@ addClass(scrollbarVars.t, strActive); addClass(scrollbarVars.s, strActive); - if (_supportPassiveEvents) { - addPassiveEventListener(_documentElement, _strMouseTouchUpEvent, documentMouseTouchUp); - addPassiveEventListener(_documentElement, _strKeyDownEvent, documentKeyDown); - addPassiveEventListener(_documentElement, _strKeyUpEvent, documentKeyUp); - } - else { - _documentElement.on(_strMouseTouchUpEvent, documentMouseTouchUp) - .on(_strKeyDownEvent, documentKeyDown) - .on(_strKeyUpEvent, documentKeyUp); - } - _documentElement.on(_strSelectStartEvent, documentOnSelectStart); + _documentElement.on(_strMouseTouchUpEvent, documentMouseTouchUp) + .on(_strKeyDownEvent, documentKeyDown) + .on(_strKeyUpEvent, documentKeyUp) + .on(_strSelectStartEvent, documentOnSelectStart); scrollAction(); compatibility.prvD(event); + compatibility.stpP(event); } }).hover(function () { //make sure both scrollbars will stay visible if one scrollbar is hovered if autoHide is "scroll". if (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove) { @@ -3316,14 +3323,14 @@ var scrollbarElement = isHorizontal ? _scrollbarHorizontalElement : _scrollbarVerticalElement; if (shallBeVisible) - _hostElement.removeClass(scrollbarClassName); + removeClass(_hostElement, scrollbarClassName); else - _hostElement.addClass(scrollbarClassName); + addClass(_hostElement, scrollbarClassName); if (canScroll) - scrollbarElement.removeClass(_classNameScrollbarUnusable); + removeClass(scrollbarElement, _classNameScrollbarUnusable); else - scrollbarElement.addClass(_classNameScrollbarUnusable); + addClass(scrollbarElement, _classNameScrollbarUnusable); } /** @@ -3335,19 +3342,19 @@ clearTimeout(_scrollbarsAutoHideTimeoutId); if (shallBeVisible) { //if(_hasOverflowCache.x && _hideOverflowCache.xs) - _scrollbarHorizontalElement.removeClass(_classNameScrollbarAutoHidden); + removeClass(_scrollbarHorizontalElement, _classNameScrollbarAutoHidden); //if(_hasOverflowCache.y && _hideOverflowCache.ys) - _scrollbarVerticalElement.removeClass(_classNameScrollbarAutoHidden); + removeClass(_scrollbarVerticalElement, _classNameScrollbarAutoHidden); } else { var strActive = 'active'; var hide = function () { - if (!_scrollbarsAutoHideFlagScrollAndHovered) { + if (!_scrollbarsAutoHideFlagScrollAndHovered && !_destroyed) { var anyActive = _scrollbarHorizontalHandleElement.hasClass(strActive) || _scrollbarVerticalHandleElement.hasClass(strActive); if (!anyActive && (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove || _scrollbarsAutoHideLeave)) - _scrollbarHorizontalElement.addClass(_classNameScrollbarAutoHidden); + addClass(_scrollbarHorizontalElement, _classNameScrollbarAutoHidden); if (!anyActive && (_scrollbarsAutoHideScroll || _scrollbarsAutoHideMove || _scrollbarsAutoHideLeave)) - _scrollbarVerticalElement.addClass(_classNameScrollbarAutoHidden); + addClass(_scrollbarVerticalElement, _classNameScrollbarAutoHidden); } }; if (_scrollbarsAutoHideDelay > 0 && delayfree !== true) @@ -3364,10 +3371,10 @@ function refreshScrollbarHandleLength(isHorizontal) { var handleCSS = {}; var scrollbarVars = getScrollbarVars(isHorizontal); - + var digit = 1000000; //get and apply intended handle length var handleRatio = Math.min(1, (_hostSizeCache[scrollbarVars._wh] - (_paddingAbsoluteCache ? (isHorizontal ? _paddingX : _paddingY) : 0)) / _contentScrollSizeCache[scrollbarVars._wh]); - handleCSS[scrollbarVars.wh] = (Math.floor(handleRatio * 100 * 100000) / 100000) + "%"; //the last * 100000 / 100000 is for flooring to the 4th digit + handleCSS[scrollbarVars.wh] = (Math.floor(handleRatio * 100 * digit) / digit) + "%"; //the last * digit / digit is for flooring to the 4th digit if (!nativeOverlayScrollbarsAreActive()) scrollbarVars.h.css(handleCSS); @@ -3421,7 +3428,8 @@ if (_supportTransform) { if (isRTLisHorizontal) offset = -(trackLength - handleLength - offset); - translateValue = isHorizontal ? strTranslateBrace + offset + 'px, 0px)' : strTranslateBrace + '0px, ' + offset + 'px)'; + //offset = (offset / trackLength * 100) * (trackLength / handleLength); in % + translateValue = isHorizontal ? strTranslateBrace + offset + 'px, 0)' : strTranslateBrace + '0, ' + offset + 'px)'; handleCSS['-webkit-' + strTransform] = translateValue; handleCSS['-moz-' + strTransform] = translateValue; handleCSS['-ms-' + strTransform] = translateValue; @@ -3512,8 +3520,11 @@ * @returns {boolean} True the given object is a HTMLElement, false otherwise. */ function isHTMLElement(o) { + var strOwnerDocument = 'ownerDocument'; + var strHTMLElement = 'HTMLElement'; + var wnd = o && o[strOwnerDocument] ? (o[strOwnerDocument].parentWindow || window) : window; return ( - typeof window.HTMLElement === TYPES.o ? o instanceof window.HTMLElement : //DOM2 + typeof wnd[strHTMLElement] === TYPES.o ? o instanceof wnd[strHTMLElement] : //DOM2 o && typeof o === TYPES.o && o !== null && o.nodeType === 1 && typeof o.nodeName === TYPES.s ); } @@ -3525,22 +3536,20 @@ * @returns {Array} The differences between the two arrays. */ function getArrayDifferences(a1, a2) { - var a = []; - var diff = []; + var a = [ ]; + var diff = [ ]; var i; - for (i = 0; i < a1.length; i++) { + var k; + for (i = 0; i < a1.length; i++) a[a1[i]] = true; - } for (i = 0; i < a2.length; i++) { - if (a[a2[i]]) { + if (a[a2[i]]) delete a[a2[i]]; - } else { + else a[a2[i]] = true; - } } - for (var k in a) { + for (k in a) diff.push(k); - } return diff; } @@ -3559,24 +3568,26 @@ */ function getTextareaInfo() { //read needed values - var textareaCursorPosition = _targetElement.prop('selectionStart'); + var textareaCursorPosition = _targetElement[0].selectionStart; if (textareaCursorPosition === undefined) return; + + var strLength = 'length'; var textareaValue = _targetElement.val(); - var textareaLength = textareaValue.length; + var textareaLength = textareaValue[strLength]; var textareaRowSplit = textareaValue.split("\n"); - var textareaLastRow = textareaRowSplit.length; + var textareaLastRow = textareaRowSplit[strLength]; var textareaCurrentCursorRowSplit = textareaValue.substr(0, textareaCursorPosition).split("\n"); var widestRow = 0; var textareaLastCol = 0; - var cursorRow = textareaCurrentCursorRowSplit.length; - var cursorCol = textareaCurrentCursorRowSplit[textareaCurrentCursorRowSplit.length - 1].length; + var cursorRow = textareaCurrentCursorRowSplit[strLength]; + var cursorCol = textareaCurrentCursorRowSplit[textareaCurrentCursorRowSplit[strLength] - 1][strLength]; var rowCols; var i; //get widest Row and the last column of the textarea - for (i = 0; i < textareaRowSplit.length; i++) { - rowCols = textareaRowSplit[i].length; + for (i = 0; i < textareaRowSplit[strLength]; i++) { + rowCols = textareaRowSplit[i][strLength]; if (rowCols > textareaLastCol) { widestRow = i + 1; textareaLastCol = rowCols; @@ -3584,13 +3595,13 @@ } return { - cursorRow: cursorRow, - cursorCol: cursorCol, - rows: textareaLastRow, - cols: textareaLastCol, - wRow: widestRow, - pos: textareaCursorPosition, - max: textareaLength + cR: cursorRow, //cursorRow + cC: cursorCol, //cursorCol + r: textareaLastRow, //rows + c: textareaLastCol, //cols + w: widestRow, //wRow + p: textareaCursorPosition, //pos + m: textareaLength //max }; } @@ -3630,7 +3641,7 @@ * @returns {*} The first element which is a child of the given element and matches the givens selector. */ function findFirst(el, selector) { - return helper.prototype.find.call(el, selector).first(); + return helper.prototype.find.call(el, selector).eq(0); } /** @@ -3835,7 +3846,7 @@ } if(!_isTextarea && !isZoom) { _contentElement.find(imgElementSelector).each(function(i, el) { - var index = helper.inArray(el, _imgs); + var index = compatibility.inA(el, _imgs); if (index === -1) { el = helper(el); el.off(imgElementLoadEvent, imgOnLoad).on(imgElementLoadEvent, imgOnLoad); @@ -4001,11 +4012,11 @@ * * 3. Can be a object with a HTML or jQuery element with additional settings: * { - * el : [HTMLElement, jQuery element], MUST be defined, else this object isn't valid. - * axis : [string], Default value is 'xy'. - * block : [string], Default value is 'begin'. - * margin : [number, array, boolean] Default value is false. - * } + * el : [HTMLElement, jQuery element], MUST be defined, else this object isn't valid. + * axis : [string], Default value is 'xy'. + * block : [string], Default value is 'begin'. + * margin : [number, array, boolean] Default value is false. + * } * * Possible axis settings are: * 'x' Scrolls only the x axis. @@ -4017,7 +4028,7 @@ * 'begin' Both axis shall be docked to the "begin" edge. - The element will be docked to the top and left edge of the viewport. * 'end' Both axis shall be docked to the "end" edge. - The element will be docked to the bottom and right edge of the viewport. (If direction is RTL to the bottom and left edge.) * 'center' Both axis shall be docked to "center". - The element will be centered in the viewport. - * 'nearest' The element will be docked to the nearest edges. + * 'nearest' The element will be docked to the nearest edges, but only if it isn't in view. * [ string, string ] Specify Begin or End for each axis individually. * * Possible margin settings are: -- The actual margin of the element wont be affect, this option affects only the final scroll offset. @@ -4360,18 +4371,21 @@ }; var finalizeBlock = function(isX) { var scrollbarVars = getScrollbarVars(isX); - var divide = blockIsCenter[scrollbarVars.xy] ? 2 : 1; - var elementCenterOffset = elementOffset[scrollbarVars.lt] + (elementSize[scrollbarVars._wh] / 2); - var viewportCenterOffset = viewportOffset[scrollbarVars.lt] + (_viewportSize[scrollbarVars._wh] / 2); + var wh = scrollbarVars._wh; + var lt = scrollbarVars.lt; + var xy = scrollbarVars.xy; + var divide = blockIsCenter[xy] ? 2 : 1; + var elementCenterOffset = elementOffset[lt] + (elementSize[wh] / 2); + var viewportCenterOffset = viewportOffset[lt] + (_viewportSize[wh] / 2); - if(blockIsNearest[scrollbarVars.xy]) { + if(blockIsNearest[xy]) { //if element is completely in view don't scroll on this axis - doNothing[scrollbarVars.xy] = elementSize[scrollbarVars._wh] <= _viewportSize[scrollbarVars._wh] && elementOffset[scrollbarVars.lt] >= viewportOffset[scrollbarVars.lt] && elementOffset[scrollbarVars.lt] + elementSize[scrollbarVars._wh] <= viewportOffset[scrollbarVars.lt] + _viewportSize[scrollbarVars._wh]; - blockIsEnd[scrollbarVars.xy] = elementSize[scrollbarVars._wh] < _viewportSize[scrollbarVars._wh] ? elementCenterOffset > viewportCenterOffset : elementCenterOffset < viewportCenterOffset; + doNothing[xy] = elementSize[wh] <= _viewportSize[wh] && elementOffset[lt] >= viewportOffset[lt] && elementOffset[lt] + elementSize[wh] <= viewportOffset[lt] + _viewportSize[wh]; + blockIsEnd[xy] = elementSize[wh] < _viewportSize[wh] ? elementCenterOffset > viewportCenterOffset : elementCenterOffset < viewportCenterOffset; } - if (blockIsEnd[scrollbarVars.xy] || blockIsCenter[scrollbarVars.xy]) - elementScrollCoordinates[scrollbarVars.xy] -= ((_viewportSize[scrollbarVars._wh] / divide) - (elementSize[scrollbarVars._wh] / divide)) * (isX && _isRTL && _normalizeRTLCache ? -1 : 1); + if (blockIsEnd[xy] || blockIsCenter[xy]) + elementScrollCoordinates[xy] -= ((_viewportSize[wh] / divide) - (elementSize[wh] / divide)) * (isX && _isRTL && _normalizeRTLCache ? -1 : 1); }; finalizeBlock(true); finalizeBlock(false); @@ -4489,7 +4503,8 @@ hasOverflow: prepare(_hasOverflowCache), contentScrollSize: prepare(_contentScrollSizeCache), viewportSize: prepare(_viewportSize), - hostSize: prepare(_hostSizeCache) + hostSize: prepare(_hostSizeCache), + documentMixed : prepare(_documentMixed) }; if (type(stateProperty) === TYPES.s) return getObjectPropVal(obj, stateProperty); @@ -4537,6 +4552,7 @@ _targetElement = helper(targetElement); _isTextarea = _targetElement.is('textarea'); _isBody = _targetElement.is('body'); + _documentMixed = _documentElement[0] !== document; var initBodyScroll; if (_isBody) { @@ -4659,16 +4675,18 @@ now = compatibility.now(); sizeAuto = (_heightAutoCache || _widthAutoCache); action = function () { - contentLastUpdate = now; + if(!_destroyed) { + contentLastUpdate = now; - //if cols, rows or wrap attr was changed - if (_isTextarea) - textareaUpdate(); + //if cols, rows or wrap attr was changed + if (_isTextarea) + textareaUpdate(); - if (sizeAuto) - _base.update(); - else - _base.update(_strAuto); + if (sizeAuto) + _base.update(); + else + _base.update(_strAuto); + } }; clearTimeout(contentTimeout); if (_mutationObserverContentLag <= 0 || now - contentLastUpdate > _mutationObserverContentLag || !sizeAuto) @@ -4681,7 +4699,7 @@ //build resize observer for the host element if (_isBody) { - addClass(_htmlElement, _classNameHTMLElement) + addClass(_htmlElement, _classNameHTMLElement); //apply the body scroll to handle it right in the update method _viewportElement[_strScrollLeft](initBodyScroll.l); @@ -4733,7 +4751,6 @@ if (pluginTargetElements && pluginTargetElements.length) { helper.each(pluginTargetElements, function () { inst = this; - console.log(inst); if(inst !== undefined) arr.push(OverlayScrollbarsInstance(inst, options, _pluginsGlobals, _pluginsAutoUpdateLoop)); }); diff --git a/js/jquery.overlayScrollbars.min.js b/js/jquery.overlayScrollbars.min.js index ac2f84a..20858ca 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.4.4 + * Version: 1.4.5 * * Copyright KingSora. * https://github.com/KingSora * * Released under the MIT license. - * Date: 06.05.2018 + * Date: 18.05.2018 */ -!function(t,e){"object"==typeof module&&"object"==typeof module.exports?module.exports=e(t,t.document,undefined,require("jquery")):e(t,t.document,undefined,t.jQuery)}("undefined"!=typeof window?window:this,function(t,e,n,r){"use strict";var o="OverlayScrollbars",i={o:"object",f:"function",a:"array",s:"string",b:"boolean",n:"number",u:"undefined",z:"null"},a={c:"class",s:"style",i:"id",oH:"offsetHeight",cH:"clientHeight",sH:"scrollHeight",oW:"offsetWidth",cW:"clientWidth",sW:"scrollWidth"},s=r,l=r,c=function(r,l,c){var u,f,h,d,v,p,y,x,w,m,b,g,S,z=(h=[i.b,i.n,i.s,i.a,i.o,i.f,i.z],d=" ",v=":",p=[i.z,i.s],y=i.b,x=i.n,w=[i.z,y],m=[i.z,i.f],g={className:["os-theme-dark",p],resize:["none","n:none b:both h:horizontal v:vertical"],sizeAutoCapable:[!0,y],clipAlways:[!0,y],normalizeRTL:[!0,y],paddingAbsolute:[!1,y],autoUpdate:[null,w],autoUpdateInterval:[33,x],nativeScrollbarsOverlaid:{showNativeScrollbars:[!1,y],initialize:[!0,y]},overflowBehavior:{x:["scroll",b="v-h:visible-hidden v-s:visible-scroll s:scroll h:hidden"],y:["scroll",b]},scrollbars:{visibility:["auto","v:visible h:hidden a:auto"],autoHide:["never","n:never s:scroll l:leave m:move"],autoHideDelay:[800,x],dragScrolling:[!0,y],clickScrolling:[!1,y],touchSupport:[!0,y]},textarea:{dynWidth:[!1,y],dynHeight:[!1,y]},callbacks:{onInitialized:[null,m],onInitializationWithdrawn:[null,m],onDestroyed:[null,m],onScrollStart:[null,m],onScroll:[null,m],onScrollStop:[null,m],onOverflowChanged:[null,m],onOverflowAmountChanged:[null,m],onDirectionChanged:[null,m],onContentSizeChanged:[null,m],onHostSizeChanged:[null,m],onUpdated:[null,m]}},{d:(S=function(t){var e=function(n){var r,o,a;for(r in n)n.hasOwnProperty(r)&&(o=n[r],(a=c.type(o))===i.a?n[r]=o[t?1:0]:a===i.o&&(n[r]=e(o)));return n};return e(c.extend(!0,{},g))})(),t:S(!0),v:function(t,e,n,r,o){var a={},s=c.extend(!0,{},t),l=function(t,e,o,a){for(var s in e)if(e.hasOwnProperty(s)&&t.hasOwnProperty(s)){var u,f,p,y,x,w,m,b,g=!1,S=e[s],z=c.type(S),O=c.type(S)!==i.a?[S]:S,C=t[s],M=c.type(C),H=a?a+".":"",W='The option "'+H+s+"\" wasn't set, because",k=[],A=[];if(z===i.o)o[s]={},l(C,S,o[s],H+s),c.isEmptyObject(C)&&delete t[s];else{for(w=0;w0?"\r\nValid strings are: [ "+A.join(", ").split(v).join(", ")+" ].":"")),delete t[s]}}};return l(s,e,a),o?c.extend(!0,a,s):!c.isEmptyObject(s)&&n&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(s,null,2)),a}});function O(){u||(u=new C(z.d)),f||(f=new M(u))}function C(o){var i=this,s="overflow",u="hidden",f="scroll",h=c("body"),d=c(' '),v=d[0],p=c(d.children("div").first()),y=v[a.oH];h.append(d),0===y&&d.hide().show();var x,w,m,b,g,S,z,O,C,M=k(v),H={x:0===M.x,y:0===M.y};function W(t){var r=!1,o="Webkit Moz ms O".split(" "),i=e.createElement("div"),a=null,s=0;if(t=t.toLowerCase(),i.style[t]!==n&&(r=!0),!r)for(a=t.charAt(0).toUpperCase()+t.substr(1);s0?O=C(x[m](b+5,x[w](".",b)),10):g>0?O=C(x[m](z+3,x[w](".",z)),10):S>0&&(O=C(x[m](S+5,x[w](".",S)),10)),O),cssCalc:function(){var t,n,r=e.createElement("div"),o=["calc","-webkit-calc","-moz-calc","-o-calc"];for(t=0;t 0){var t=r.wW(),u=r.wH(),f=t-e,v=u-n;if(0===f&&0===v)return;var p=Math.round(t/(e/100)),y=Math.round(u/(n/100)),x=Math.abs(f),w=Math.abs(v),m=Math.abs(p),b=Math.abs(y),g=s(),S=x>2&&w>2,z=!a(m,b);!(S&&z&&(g!==o&&o>0))||(h.append(d),i.nativeScrollbarSize=k(d[0]),d.remove(),c.each(l.all(),function(){l.has(this)&&l.get(this).update("zoom")})),e=t,n=u,o=g}})}function a(t,e){var n=Math.abs(t),r=Math.abs(e);return!(n===r||n+1===r||n-1===r)}function s(){var e=t.screen.deviceXDPI||0,n=t.screen.logicalXDPI||1;return t.devicePixelRatio||e/n}}()}function M(t){var e,o=this,i="autoUpdate",a=i+"Interval",s=[],l=[],u=!1,f=33,h=f,d=r.now(),v=function(){if(s.length>0&&u){e=r.rAF()(function(){v()});var t=r.now(),o=t-d;if(o>h){d=t-o%h;for(var c=f,p=0;p m&&(y.update("auto"),l[p]=new Date(b+=m)),c=Math.max(1,Math.min(c,m))}}h=c}}else h=f};o.add=function(e){-1===c.inArray(e,s)&&(s.push(e),l.push(r.now()),s.length>0&&!u&&(u=!0,t.autoUpdateLoop=u,v()))},o.remove=function(o){var i=c.inArray(o,s);i>-1&&(l.splice(i,1),s.splice(i,1),0===s.length&&u&&(u=!1,t.autoUpdateLoop=u,e!==n&&(r.cAF()(e),e=-1)))}}function H(e,u,f,h){if(ro(e)){if(l.has(e)){var d=l.get(e);return d.options(u),d}var v,p,y,x,w,m,b,g,S,O,C,M,H,W,k,A,T,E,L,R,D,P,N,_,F,I,j,U,B,V,q,X,Y,K,J,Q,G,Z,$,tt,et,nt,rt,ot,it,at,st,lt,ct,ut,ft,ht,dt,vt,pt,yt,xt,wt,mt,bt,gt,St,zt,Ot,Ct,Mt,Ht,Wt,kt,At,Tt,Et,Lt,Rt,Dt,Pt,Nt,_t,Ft,It,jt,Ut,Bt,Vt,qt,Xt,Yt,Kt,Jt,Qt,Gt,Zt,$t,te,ee,ne,re,oe,ie,ae,se,le,ce,ue,fe,he,de,ve,pe,ye,xe,we,me,be,ge,Se,ze,Oe,Ce=new t[o],Me={},He={},We={},ke={},Ae={},Te=175,Ee="-hidden",Le="margin-",Re="padding-",De="border-",Pe="top",Ne="right",_e="bottom",Fe="left",Ie="min-",je="max-",Ue="width",Be="height",Ve="float",qe="",Xe="auto",Ye="scroll",Ke="100%",Je="x",Qe="y",Ge=".",Ze=" ",$e="scrollbar",tn="-horizontal",en="-vertical",nn=Ye+"Left",rn=Ye+"Top",on="mousedown touchstart",an="mouseup touchend",sn="mousemove touchmove",ln="mouseenter",cn="mouseleave",un="keydown",fn="keyup",hn="selectstart",dn="transitionend webkitTransitionEnd oTransitionEnd",vn="__overlayScrollbarsRO__",pn="os-",yn=pn+"html",xn=pn+"host",wn=xn+"-textarea",mn=xn+"-"+$e+tn+Ee,bn=xn+"-"+$e+en+Ee,gn=xn+"-transition",Sn=xn+"-rtl",zn=xn+"-resize-disabled",On=xn+"-scrolling",Cn=xn+"-overflow",Mn=Cn+"-x",Hn=Cn+"-y",Wn=pn+"textarea",kn=Wn+"-cover",An=pn+"padding",Tn=pn+"viewport",En=Tn+"-native-scrollbars-invisible",Ln=Tn+"-native-scrollbars-overlaid",Rn=pn+"content",Dn=pn+"content-arrange",Pn=pn+"content-glue",Nn=pn+"size-auto-observer",_n=pn+"resize-observer",Fn=pn+"resize-observer-item",In=Fn+"-final",jn=pn+"text-inherit",Un=pn+$e,Bn=Un+"-track",Vn=Bn+"-off",qn=Un+"-handle",Xn=qn+"-off",Yn=Un+"-unusable",Kn=Un+"-"+Xe+Ee,Jn=Un+"-corner",Qn=Jn+"-resize",Gn=Qn+"-both",Zn=Qn+tn,$n=Qn+en,tr=Un+tn,er=Un+en,nr=pn+"dragging",rr=pn+"theme-none",or={},ir=33,ar=[],sr=11,lr=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],cr=[],ur={},fr={};if(Ce.sleep=function(){j=!0},Ce.update=function(t){var e,n,r="zoom"===t,o="img",i="load";t===Xe?(e=Ur(),n=jr(),(e||n)&&qr(!1,n)):r?qr(!0,!0):(t=j||t,j=!1,qr(!1,!1,t)),A||r||at.find(o).each(function(t,e){-1===c.inArray(e,ar)&&(e=c(e)).off(i,Nr).on(i,Nr)})},Ce.options=function(t,e){if(c.isEmptyObject(t)||!c.isPlainObject(t)){if(wo(t)===i.s){if(arguments.length>=2){var n={};return vo(n,t,e),Xr(n),void qr()}return ho(V,t)}return V}Xr(t);var r=j||!1;j=!1,qr(),j=r},Ce.destroy=function(){k=!0,h.remove(Ce),mr(),pr(et),L&&pr(tt),So(et),nt!==n&&So(nt),it!==n&&So(it),L&&So(tt),C?(dr($,sn,zr),dr($,ln,gr),dr($,cn,Sr)):$.off(sn,zr).off(ln,gr).off(cn,Sr),So(ct),So(ht),lt&&So(lt),ge||Dr(),at.contents().unwrap().unwrap().unwrap(),T&&go(Q,yn),A?(Z.off(Ye,Er).off("drop",kr).off("focus",Ar).off("focusout",Tr),w>9||!x?Z.off("input",Mr):Z.off(un,Hr).off(fn,Wr),So(st),go(Z,Wn+Ze+jn).unwrap().removeAttr(a.s),So($)):(go(Z,xn),go($,[xn,zn,Sn,mn,bn,gn,On,Cn,Mn,Hn,rr,te].join(Ze)));for(var t=0;t 0)e.x=t[0],e.y=t[1];else if(wo(t)===i.s||wo(t)===i.n)e.x=t,e.y=t;else if(wo(t)===i.o){for(var n in t=mo({},t),w=0,t)t.hasOwnProperty(n)&&(w>2&&delete t[n],w++);var r=function(e){var n=e?m:b;for(w=0;w 2){var p=r.substr(0,2);for(w=0;w /g,(d?"-":qe)+Ke))[v](/px/g,qe))[v](/%/g,f+u*(h&&y.n?-1:1)/100))[v](/vw/g,f+ke.w))[v](/vh/g,f+ke.h),a=io(t.parseFloat(t.eval(r)).toFixed())}else wo(r)===i.n&&(a=r);if(!isNaN(a)&&a!==n&&wo(a)===i.n){var x=$t&&h,m=c*(x&&y.n?-1:1),b=x&&y.i,S=x&&y.n;switch(m=b?u-m:m,o){case"+=":s=m+a;break;case"-=":s=m-a;break;case"*=":s=m*a;break;case"/=":s=m/a;break;default:s=a}b&&(s=u-s),S&&(s*=-1),h&&y.n?(s=Math.max(u,s),s=Math.min(0,s)):(s=Math.min(u,s),s=Math.max(0,s)),s===c&&(s=n)}return s};if(R||D){var F=R?L:c(L);if(0===F.length)return;if(E){var j,U,B,V=e.axis,q=e.block,X=wo(q),Y=e.margin,K=wo(Y);if(X===i.s)q=[q,q];else if(X===i.a)if((U=q.length)>2||U<1)q=n;else{for(j=!0,1===U&&(q[1]=M),w=0;w=G[e.lt]&&Q[e.lt]+ht[e._wh]<=G[e.lt]+ke[e._wh],nt[e.xy]=ht[e._wh] o:r 0||z){var yt={};if(vt&&(yt[nn]=S.x),pt&&(yt[rn]=S.y),z)ot.animate(yt,r);else{var xt={duration:r,complete:l};if(wo(o)===i.a){var wt={};wt[nn]=o[0],wt[rn]=o[1],xt.specialEasing=wt}else xt.easing=o;ot.animate(yt,xt)}}else vt&&ot[nn](S.x),pt&&ot[rn](S.y)},Ce.scrollStop=function(t,e,n){ot.stop(t,e,n)},Ce.getElements=function(){return{target:Z[0],host:$[0],padding:rt[0],viewport:ot[0],content:at[0],scrollbarHorizontal:{scrollbar:ct[0],track:ut[0],handle:ft[0]},scrollbarVertical:{scrollbar:ht[0],track:dt[0],handle:vt[0]},scrollbarCorner:lt}},Ce.getState=function(t){var e=function(t){if(!c.isPlainObject(t))return t;var e=mo(!0,{},t),n=function(t,n){e.hasOwnProperty(t)&&(e[n]=e[t],delete e[t])};return n("w",Ue),n("h",Be),delete e.c,e},n={sleeping:e(j)||!1,autoUpdate:e(!se),widthAuto:e(bt),heightAuto:e(gt),padding:e(Ot),overflowAmount:e(Lt),hideOverflow:e(mt),hasOverflow:e(wt),contentScrollSize:e(yt),viewportSize:e(ke),hostSize:e(pt)};return wo(t)===i.s?ho(n,t):n},zo(e,u))return l.add(e,Ce),Ce;Ce=n}function hr(t,e,n){for(var r=e.split(Ze),o=0;o 9||!x){t.prepend(fo(_n,fo({className:Fn,dir:"ltr"},fo(Fn,fo(In))+fo(Fn,fo({className:In,style:"width: 200%; height: 200%"})))));var d,v,p,m,b=t[0][l][0][l][0],g=c(b[l][1]),S=c(b[l][0]),z=c(S[0][l][0]),O=b[a.oW],C=b[a.oH],H=2,W=f.nativeScrollbarSize,k=function(){S[nn](n)[rn](n),g[nn](n)[rn](n)},A=function(){v=0,d&&(O=p,C=m,u())},T=function(t){return p=b[a.oW],m=b[a.oH],d=p!=O||m!=C,t&&d&&!v?(r.cAF()(v),v=r.rAF()(A)):t||A(),k(),t&&(r.prvD(t),r.stpP(t)),!1},E={},L={};L[Pe]=-(W.y+1)*H,L[Ne]=W.x*-H,L[_e]=W.y*-H,L[Fe]=-(W.x+1)*H,c(b).css(L),S.on(Ye,T),g.on(Ye,T),t.on(s,function(){T(!1)}),E[Ue]=n,E[Be]=n,z.css(E),k()}else{var R=J[0],D=R.attachEvent,P=!1!==w;if(D)t.prepend(fo(_n)),uo(t,Ge+_n)[0].attachEvent("onresize",u);else{var N=R.createElement(i.o);N.setAttribute("tabindex","-1"),N.setAttribute(a.c,_n),N.onload=function(){var t=this.contentDocument.defaultView;t.addEventListener("resize",u),t.document.documentElement.style.display="none"},N.type="text/html",P&&t.prepend(N),N.data="about:blank",P||t.prepend(N),t.on(s,u)}}if(t[0]===et[0]){var _=function(){var e=$.css("direction"),r={},o=0,i=!1;return e!==Wt&&("ltr"===e?(r[Fe]=0,r[Ne]=Xe,o=n):(r[Fe]=Xe,r[Ne]=0,o=y.n?-n:y.i?0:n),et.children().first().css(r),t[nn](o)[rn](n),Wt=e,i=!0),i};_(),t.on(Ye,function(t){return _()&&qr(),r.prvD(t),r.stpP(t),!1})}}function pr(t){if(M){var e=t.contents()[0];e[vn].disconnect(),delete e[vn]}else So(t.children(Ge+_n).first())}function yr(t){if(t!==n&&M){var e=t.contents()[0];e[vn].unobserve(e)}}function xr(t){if(t!==n&&M){var e=t.contents()[0];e[vn].observe(e)}}function wr(){le&&!se&&(ie.observe($[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[a.i,a.c,a.s]}),ae.observe(A?Z[0]:at[0],{attributes:!0,attributeOldValue:!0,subtree:!A,childList:!A,characterData:!A,attributeFilter:A?["wrap","cols","rows"]:[a.i,a.c,a.s]}),se=!0)}function mr(){le&&se&&(ie.disconnect(),ae.disconnect(),se=!1)}function br(){if(!j){var t=et[0],e={w:t[a.sW],h:t[a.sH]};if(W){var n=yo(e,Yt);Yt=e,n&&qr(!0,!1)}else Yt=e}}function gr(){xe&&Qr(!0)}function Sr(){xe&&!G.hasClass(nr)&&Qr(!1)}function zr(){ye&&(Qr(!0),clearTimeout(he),he=setTimeout(function(){ye&&Qr(!1)},100))}function Or(t){var e=q.callbacks;j||(U!==n?clearTimeout(U):((pe||ye)&&Qr(!0),lo()||$.addClass(On),eo(e.onScrollStart,t)),Zr(!0,ot[nn]()),Zr(!1,ot[rn]()),eo(e.onScroll,t),U=setTimeout(function(){Cr(),eo(e.onScrollStop,t)},Te))}function Cr(){clearTimeout(U),U=n,(pe||ye)&&Qr(!1),lo()||$.removeClass(On)}function Mr(){Vr(),Ce.update(Xe)}function Hr(t){var e=t.keyCode;if(!so(e)){if(0===cr.length){var n=function(){Vr(),Ce.update(Xe)};n(),ce=setInterval(n,1e3/60)}-1===c.inArray(e,cr)&&cr.push(e)}}function Wr(t){var e=t.keyCode;if(!so(e)){var n=c.inArray(e,cr);n>-1&&cr.splice(n,1),0===cr.length&&(Vr(),Ce.update(Xe),clearInterval(ce))}}function kr(){setTimeout(function(){Vr(),Ce.update(Xe)},50)}function Ar(){ue=!0}function Tr(){ue=!1,clearInterval(ce),cr=[],Vr(),Ce.update(Xe)}function Er(t){return Z[nn](y.i&&$t?9999999:0),Z[rn](0),r.prvD(t),r.stpP(t),!1}function Lr(t){if(!j){var e=(t.originalEvent||t).touches!==n;(1===r.mBtn(t)||e)&&(se&&(be=!0,mr()),ur=r.page(t),fr.w=$[0][a.oW]-(E?0:R),fr.h=$[0][a.oH]-(E?0:D),J.on(hn,Pr).on(sn,Rr).on(an,Dr),G.addClass(nr),lt.setCapture&<.setCapture(),r.prvD(t),r.stpP(t))}}function Rr(t){var e=r.page(t),n={};(ze||Se)&&(n[Ue]=fr.w+e.x-ur.x),(Oe||Se)&&(n[Be]=fr.h+e.y-ur.y),$.css(n),r.stpP(t)}function Dr(t){var e=t!==n;J.off(hn,Pr).off(sn,Rr).off(an,Dr),G.removeClass(nr),lt.releaseCapture&<.releaseCapture(),e&&(be&&wr(),Ce.update(Xe)),be=!1}function Pr(t){return r.prvD(t),!1}function Nr(){qr()}function _r(){var t={};return T&&it&&(t.w=io(it.css(Ie+Ue)),t.h=io(it.css(Ie+Be)),t.c=yo(t,oe),t.f=!0),oe=t,t.c}function Fr(t,e){var r=e!==n&&null!==e?e.split(Ze):qe,o=t!==n&&null!==t?t.split(Ze):qe;if(r===qe&&o===qe)return!1;var i,a,s,l,u=oo(o,r),f=!1,h=ee!==n&&null!==ee?ee.split(Ze):[qe],d=te!==n&&null!==te?te.split(Ze):[qe],v=c.inArray(rr,u),p=u[i];for(v>-1&&u.splice(v,1),i=0;i 0&&W&&i-X 0?ft:rr)),ae&&(!0===ie?(mr(),h.add(Ce)):null===ie&&x?(mr(),h.add(Ce)):(h.remove(Ce),wr())),qt)if(Vt)if(nt===n&&(nt=c(fo(Pn)),rt.before(nt)),L)tt.show();else{tt=c(fo(Nn)),nt.before(tt);var He={w:-1,h:-1};vr(tt,function(){var t={w:tt[0][a.oW],h:tt[0][a.oH]};yo(t,He)&&(W&>&&t.h>0||bt&&t.w>0?qr():(W&&!gt&&0===t.h||!bt&&0===t.w)&&qr()),He=t}),L=!0,null!==b&&tt.css(Be,b+"(100% + 1px)")}else L&&tt.hide();o&&(et.find("*").trigger(Ye),L&&tt.find("*").trigger(Ye));var We,Te=$.css("direction"),Ee=po(Te,Ht,o),Ge=$.css("box-sizing"),$e=po(Ge,zt,o),tn={c:o,t:io($.css(Re+Pe)),r:io($.css(Re+Ne)),b:io($.css(Re+_e)),l:io($.css(Re+Fe))};try{We=L?tt[0].getBoundingClientRect():null}catch(jo){return}E="border-box"===Ge;var en=(I="rtl"===Te)?Fe:Ne,an=I?Ne:Fe,un=$[0],fn=rt[0],hn=!1,dn=!(!L||"none"===$.css(Ve))&&(0===Math.round(We.right-We.left)&&(!!It||un[a.cW]-R>0));if(Vt&&!dn){var vn=un[a.oW],pn=nt.css(Ue);nt.css(Ue,Xe);var yn=un[a.oW];nt.css(Ue,pn),(hn=vn!==yn)||(nt.css(Ue,vn+1),yn=un[a.oW],nt.css(Ue,pn),hn=vn!==yn)}var xn=(dn||hn)&&Vt,wn=po(xn,bt,o),mn=!xn&&bt,bn=!!L&&0===Math.round(We.bottom-We.top),gn=po(bn,gt,o),Wn=!bn&>,kn="-"+Ue,An=xn&&E||!E,Tn=bn&&E||!E,En={c:o,t:Tn?io($.css(De+Pe+kn)):0,r:An?io($.css(De+Ne+kn)):0,b:Tn?io($.css(De+_e+kn)):0,l:An?io($.css(De+Fe+kn)):0},Ln={c:o,t:io($.css(Le+Pe)),r:io($.css(Le+Ne)),b:io($.css(Le+_e)),l:io($.css(Le+Fe))},Rn={h:String($.css(je+Be)),w:String($.css(je+Ue))},_n={},Fn={};if(R=tn.l+tn.r,D=tn.t+tn.b,tn.c=xo(tn,Ot),P=En.l+En.r,N=En.t+En.b,En.c=xo(En,Ct),_=Ln.l+Ln.r,F=Ln.t+Ln.b,Ln.c=xo(Ln,Mt),Rn.ih=io(Rn.h),Rn.iw=io(Rn.w),Rn.ch=Rn.h.indexOf("px")>-1,Rn.cw=Rn.w.indexOf("px")>-1,Rn.c=yo(Rn,St,o),Ht=Te,zt=Ge,bt=xn,gt=bn,Ot=tn,Ct=En,Mt=Ln,St=Rn,Ee&&L&&tt.css(Ve,an),tn.c||Ee||jt||wn||gn||$e||qt){var In={},jn={};no(Fn,Le,[-tn.t,-tn.r,-tn.b,-tn.l]),It?(no(In,qe,[tn.t,tn.r,tn.b,tn.l]),no(A?jn:_n,Re)):(no(In,qe),no(A?jn:_n,Re,[tn.t,tn.r,tn.b,tn.l])),rt.css(In),Z.css(jn)}ke={w:fn[a.oW],h:fn[a.oH]};var Un=!!A&&Vr();if(bn&&(gn||jt||$e||Rn.c||tn.c||En.c)?(Rn.cw&&(_n[je+Be]=Rn.ch?Rn.ih-(It?D:0)+(E?-N:D):qe),_n[Be]=Xe):(gn||jt)&&(_n[je+Be]=qe,_n[Be]=Ke),xn&&(wn||jt||$e||Rn.c||tn.c||En.c||Ee)?(Rn.cw&&(_n[je+Ue]=Rn.cw?Rn.iw-(It?R:0)+(E?-P:R)+(v.y?p.y:0):qe),_n[Ue]=Xe,Fn[je+Ue]=Ke):(wn||jt)&&(_n[je+Ue]=qe,_n[Ue]=Ke,_n[Ve]=qe,Fn[je+Ue]=qe),xn&&(Rn.cw||(_n[je+Ue]=qe),Fn[Ue]=A&&fe?Un.dw:Xe,_n[Ue]=Xe,_n[Ve]=an),bn&&(Rn.ch||(_n[je+Be]=qe),Fn[Be]=A?me?Un.dh:Xe:at[0][a.cH]),Vt&&nt.css(Fn),at.css(_n),_n={},Fn={},wt=wt||{x:!1,y:!1},t||e||Ee||$e||jt||wn||xn||gn||bn||Rn.c||Yt||ce||Bt||vt||V||he||be||Ft||jt||he||be||o){var Bn="overflow",Vn=Bn+"-x",qn=Bn+"-y",Xn="hidden",Yn="visible",Kn=H&&(v.x||v.y||ke.w 0&&(Fn[Ue]=Math.max(1,Fn[Ue]),Fn[Be]=Math.max(1,Fn[Be])),A&&st.css(Or),nt.css(Fn)}xn&&(_n[Ue]=Ke),!xn||E||se||(_n[Ve]="none"),at.css(_n),_n={};var Cr=nr.getBoundingClientRect(),Mr={w:Math.max(nr[a.sW],ar[a.sW]),h:Math.max(nr[a.sH],ar[a.sH])};if(Kn&&at.css(Bn,qe),Cr.width){var Hr=Cr.width,Wr=Cr.height,kr=.001;Mr.w+=io(Hr+kr)-Hr,Mr.h+=io(Wr+kr)-Wr}Mr.c=e=yo(Mr,yt,o),yt=Mr,t=yo(ur={w:un[a.cW],h:un[a.cH]},pt),pt=ur,ke={w:fn[a.oW],h:fn[a.oH]};var Ar={x:"v-s"===le.x,y:"v-s"===le.y},Tr={x:"v-h"===le.x,y:"v-h"===le.y},Er={x:"s"===le.x,y:"s"===le.y},Rr={x:Math.max(0,Math.round(100*(Mr.w-ur.w+(It?R:0)))/100),y:Math.max(0,Math.round(100*(Mr.h-ur.h+(It?D:0)))/100)},Dr=A&&(0===ke.w||0===ke.h);Dr&&(Rr.x=0,Rr.y=0);var Pr={x:Rr.x>0,y:Rr.y>0},Nr={x:Pr.x,y:Pr.y};(Ar.x||Tr.x)&&(Nr.x=Pr.y&&!Ar.y&&!Tr.y),(Ar.y||Tr.y)&&(Nr.y=Pr.x&&!Ar.x&&!Tr.x),Nr.xs=!!Nr.x&&(Er.x||Ar.x),Nr.ys=!!Nr.y&&(Er.y||Ar.y);var Fr={x:Pr.x&&Nr.xs,y:Pr.y&&Nr.ys},Ir=Lt;if(Rr.c=yo(Rr,Lt,Je,Qe,o),Lt=Rr,Pr.c=yo(Pr,wt,Je,Qe,o),wt=Pr,Nr.c=yo(Nr,mt,Je,Qe,o),mt=Nr,v.x||v.y){var jr=o,Ur={};if((Pr.x||Pr.y)&&(Ur.w=v.y&&Pr.y?Mr.w+p.y:qe,Ur.h=v.x&&Pr.x?Mr.h+p.x:qe,jr=po(Ur,xt,o),xt=Ur),Pr.c||Nr.c||Mr.c||Ee||wn||gn||xn||bn||Yt){var Br="px solid transparent";_n[De+an]=qe,_n[Le+an]=qe,v.x&&Pr.x&&Nr.xs?(bn&&(_n[Le+_e]=Xt?qe:p.x),_n[De+_e]=bn||Xt?qe:p.x+Br):(Ur.h=qe,jr=!0,_n[De+_e]=qe,_n[Le+_e]=qe),v.y&&Pr.y&&Nr.ys?(xn&&(_n[Le+en]=Xt?qe:p.y),_n[De+en]=Xt?qe:p.y+Br):(Ur.w=qe,jr=!0,_n[De+en]=qe,_n[Le+en]=qe)}if(Xt&&(Ur.w=qe,Ur.h=qe,jr=!0),jr){var Xr={};Xr[Ue]=Nr.y?Ur.w:qe,Xr[Be]=Nr.x?Ur.h:qe,it===n&&(it=c(fo(Dn)),ot.prepend(it)),it.css(Xr)}at.css(_n)}var Yr={};In={};if(t||Pr.c||Nr.c||Mr.c||ce||$e||Yt||Ee||Bt||gn){Yr[an]=qe;var Kr=function(){Yr[_e]=qe,Me.h=0},to=function(){Yr[en]=qe,Me.w=0};if(Pr.x&&Nr.xs?(Yr[Vn]=Ye,Xt?Kr():(Yr[_e]=-(v.x?p.x:g.x),Me.h=v.x?p.y:0)):(Yr[Vn]=qe,Kr()),Pr.y&&Nr.ys?(Yr[qn]=Ye,Xt?to():(Yr[en]=-(v.y?p.y:g.y),Me.w=v.y?p.x:0)):(Yr[qn]=qe,to()),(ke.h -1,Io=_o.y>-1;(Fo||Io)&&(Io&&ot[rn](_o.y),Fo&&(I&&$t&&y.i?ot[nn](0):ot[nn](_o.x)))}_t=ko}else A||(I&&y.i&&v.y&&Pr.x&&$t&&(l.l+=Me.w||0),ot[nn](l.l),ot[rn](l.t));Ee&&eo(M,{isRTL:I,dir:Te}),t&&eo(U,{width:pt.w,height:pt.h}),e&&eo(k,{width:yt.w,height:yt.h}),(Pr.c||Nr.c)&&eo(z,{x:Pr.x,y:Pr.y,xScrollable:Nr.xs,yScrollable:Nr.ys,clipped:Nr.x||Nr.y}),Rr.c&&eo(O,{x:Rr.x,y:Rr.y})}T&&(Pr.c||oe.c)&&(oe.f||_r(),v.y&&Pr.x&&at.css(Ie+Ue,oe.w+p.y),v.x&&Pr.y&&at.css(Ie+Be,oe.h+p.x),oe.c=!1),xr(et),xr(tt),eo(S,{forced:o})}}function Xr(t){V=mo(!0,{},V,z.v(t,z.t,!0)),q=mo(!0,{},q,z.v(t,z.t,!1,!0))}function Yr(){ct=c(fo(Un+Ze+tr)),ut=c(fo(Bn)),ft=c(fo(qn)),ht=c(fo(Un+Ze+er)),dt=c(fo(Bn)),vt=c(fo(qn)),ct.append(ut),ut.append(ft),ht.append(dt),dt.append(vt),rt.after(ht),rt.after(ct),S&&(ct.on(dn,function(t){t.target===ct[0]&&(Gr(!0),Zr(!0,ot[nn]()))}),ht.on(dn,function(t){t.target===ht[0]&&(Gr(!1),Zr(!1,ot[rn]()))})),Kr(!0),Kr(!1),lt=c(fo(Jn)),$.append(lt)}function Kr(t){var e,o,i,a=to(t),s=a.xy,l=Ye+a.LT,c="active",u=1,f=function(){u=.5},h=function(){u=1},d=function(n){var i=a.i.tl,c=a.i.hl,u=a.i.ms*((c/2+r.page(n)[s]-o-c/2)/(i-c));u=isFinite(u)?u:0,I&&t&&(y.n||!y.n&&!y.i)&&(u*=-1),ot[l](e+u),C||r.prvD(n)},v=function(t){t=t||t.originalEvent,go(G,nr),go(a.h,c),go(a.t,c),go(a.s,c),C?(dr(J,sn,d),dr(J,an,v),dr(J,un,p),dr(J,fn,x)):J.off(sn,d).off(an,v).off(un,p).off(fn,x),J.off(hn,Pr),h(),e=n,o=n,i!==n&&(Ce.scrollStop(),clearTimeout(i),i=n);var r=$[0].getBoundingClientRect();t.clientX>=r.left&&t.clientX<=r.right&&t.clientY>=r.top&&t.clientY<=r.bottom||Sr(),(pe||ye)&&Qr(!1)},p=function(t){16==t.keyCode&&f()},x=function(t){16==t.keyCode&&h()};a.h.on(on,function(i){if(!j){var u=(i.originalEvent||i).touches!==n;lo()||!Gt||u&&!we||(1===r.mBtn(i)||u)&&(e=(e=ot[l]())===n?0:e,(I&&t&&!y.n||!I)&&(e=e<0?0:e),o=r.page(i)[s],bo(G,nr),bo(a.h,c),bo(a.s,c),C?(hr(J,sn,d),hr(J,an,v)):J.on(sn,d).on(an,v),J.on(hn,Pr),r.prvD(i))}}),a.t.on(on,function(e){if(!j){var l=(e.originalEvent||e).touches!==n;if(!lo()&&Qt&&(!l||we)&&(1===r.mBtn(e)||l)){var h,d=ke[a._wh],w=a.t.offset()[a.lt],m=!0;e.shiftKey&&f();var b=function(){var e=a.i.ho,r=a.i.hl,s=o-w,l=200*u,c=m?Math.max(333,l):l,f={},v=I&&t&&(!y.i&&!y.n||$t),p=e>s;v&&(p=e =s;v&&(x=h?e+r>=s:e<=s),x?(clearTimeout(i),Ce.scrollStop(),i=n):i=setTimeout(b,c),m=!1};o=r.page(e)[s],bo(G,nr),bo(a.t,c),bo(a.s,c),C?(hr(J,an,v),hr(J,un,p),hr(J,fn,x)):J.on(an,v).on(un,p).on(fn,x),J.on(hn,Pr),b(),r.prvD(e)}}}).hover(function(){(pe||ye)&&(me=!0,Qr(!0))},function(){(pe||ye)&&(me=!1,Qr(!1))}),a.s.on(on,function(t){r.stpP(t)})}function Jr(t,e,n){var r=t?mn:bn,o=t?ct:ht;e?$.removeClass(r):$.addClass(r),n?o.removeClass(Yn):o.addClass(Yn)}function Qr(t,e){if(clearTimeout(fe),t)ct.removeClass(Kn),ht.removeClass(Kn);else{var n="active",r=function(){if(!me){var t=ft.hasClass(n)||vt.hasClass(n);!t&&(pe||ye||xe)&&ct.addClass(Kn),!t&&(pe||ye||xe)&&ht.addClass(Kn)}};de>0&&!0!==e?fe=setTimeout(r,de):r()}}function Gr(t){var e={},n=to(t),r=Math.min(1,(pt[n._wh]-(kt?t?R:D:0))/yt[n._wh]);e[n.wh]=Math.floor(100*r*1e5)/1e5+"%",lo()||n.h.css(e),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=r}function Zr(t,e){var n,r,o=I&&t,i={},a=to(t),s="translate(",l="transform",c=ot[0][Ye+a.WH]-ot[0]["client"+a.WH],u=a.i.hl,f=a.t[0]["offset"+a.WH],h=f-u;y.n&&o&&(c*=-1),r=e/c,r=isNaN(r)?0:Math.min(1,r),a.i.ms=c,a.i.cs=e,a.i.csr=r,h*=r,h=isNaN(h)?0:h,o&&(y.n||!y.n&&!y.i)&&(h=f-u-h),h=Math.max(0,h),O?(o&&(h=-(f-u-h)),n=t?s+h+"px, 0px)":s+"0px, "+h+"px)",i["-webkit-"+l]=n,i["-moz-"+l]=n,i["-ms-"+l]=n,i["-o-"+l]=n,i[l]=n):i[a.lt]=h,lo()||a.h.css(i),a.i.ho=h,a.i.tl=f}function $r(t,e){var n=e?"removeClass":"addClass",r=t?dt:vt,o=t?Vn:Xn;(t?ut:ft)[n](o),r[n](o)}function to(t){return{wh:t?Ue:Be,WH:t?"Width":"Height",lt:t?Fe:Pe,LT:t?"Left":"Top",xy:t?Je:Qe,XY:t?"X":"Y",_wh:t?"w":"h",_lt:t?"l":"t",t:t?ut:dt,h:t?ft:vt,s:t?ct:ht,i:t?He:We}}function eo(t,e){W&&c.isFunction(t)&&t.call(Ce,e)}function no(t,e,r){r===n&&(r=[qe,qe,qe,qe]),t[e+Pe]=r[0],t[e+Ne]=r[1],t[e+_e]=r[2],t[e+Fe]=r[3]}function ro(e){return typeof t.HTMLElement===i.o?e instanceof t.HTMLElement:e&&typeof e===i.o&&null!==e&&1===e.nodeType&&typeof e.nodeName===i.s}function oo(t,e){var n,r=[],o=[];for(n=0;nu&&(c=r+1,u=e);return{cursorRow:f,cursorCol:h,rows:s,cols:u,wRow:c,pos:t,max:i}}}function so(t){for(var e=0;e "+(e||qe)+""}function ho(t,e){for(var n,r=e.split(Ge),o=0;o 9||!x?Z.on("input",Mr):Z.on(un,Hr).on(fn,Wr)}else bo(Z,xn),($=Z).wrapInner(fo(Rn)).wrapInner(fo(Tn)).wrapInner(fo(An)),at=uo($,Ge+Rn),ot=uo($,Ge+Tn),rt=uo($,Ge+An),at.on(dn,function(t){!0!==Dt&&Br((t=t.originalEvent||t).propertyName)&&qr(Xe)});if(Yr(),C?hr(ot,Ye,Or):ot.on(Ye,Or),m&&bo(ot,v.x&&v.y?Ln:En),le){var s,l,u,h,d,z,E=r.mO(),L=r.now();ie=new E(function(t){if(W&&!j){var e,n=!1;c.each(t,function(){if(s=(e=this).target,l=e.attributeName,n=l===a.c?Fr(e.oldValue,s.className):l!==a.s||e.oldValue!==s.style.cssText)return!1}),n&&Ce.update(Xe)}}),ae=new E(function(t){if(W&&!j){var e=!1;c.each(t,function(){return!(e=Ir(this))}),e&&(h=r.now(),d=gt||bt,z=function(){L=h,A&&Vr(),d?Ce.update():Ce.update(Xe)},clearTimeout(u),sr<=0||h-L>sr||!d?z():u=setTimeout(z,sr))}})}return T&&(bo(Q,yn),ot[nn](n.l),ot[rn](n.t)),et=c(fo("os-resize-observer-host")),$.prepend(et),vr(et,br),br(),Ce.update(Xe),setTimeout(function(){S&&!k&&bo($,gn)},333),W=!0,eo(o.onInitialized),W}}return t[o]=function(e,r){if(0===arguments.length)return this;O();var i,a,s=[];return c.isPlainObject(r)?e&&e.length?(c.each(e,function(){i=this,console.log(i),i!==n&&s.push(H(i,r,u,f))}),a=s.length>1?s:s[0]):a=H(e,r,u,f):e&&(e.length&&e.length>0?(c.each(e,function(){i=l.get(this),"!"===r?i instanceof t[o]&&s.push(i):s.push(i)}),a=s.length>1?s:s[0]):a=l.get(e)),a},t[o].globals=function(){O();var t=c.extend(!0,{},u);return delete t.msie,t},t[o].defaultOptions=function(t){O();var e=u.defaultOptions;if(t===n)return c.extend(!0,{},e);u.defaultOptions=c.extend(!0,{},e,z.v(t,z.t,!0))},t[o]}({wW:function(){return t.innerWidth||e.documentElement[a.cW]||e.body[a.cW]},wH:function(){return t.innerHeight||e.documentElement[a.cH]||e.body[a.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.preventDefault():t.returnValue=!1},page:function(t){var r="page",o="client",i="X",a="Y",s=((t=t.originalEvent||t).target||t.srcElement||e).ownerDocument||e,l=s.documentElement,c=s.body;if(t.touches!==n){var u=t.touches[0];return{x:u[r+i],y:u[r+a]}}return!t[r+i]&&t[o+i]&&null!=t[o+i]?{x:t[o+i]+(l&&l.scrollLeft||c&&c.scrollLeft||0)-(l&&l.clientLeft||c&&c.clientLeft||0),y:t[o+a]+(l&&l.scrollTop||c&&c.scrollTop||0)-(l&&l.clientTop||c&&c.clientTop||0)}:{x:t[r+i],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},bind:function(t,e){if(typeof t!==i.f)throw"Can't bind function!";var n=Array.prototype.slice.call(arguments,2),r=function(){},o=function(){return t.apply(this instanceof r?this:e,n.concat(Array.prototype.slice.call(arguments)))};return t.prototype&&(r.prototype=t.prototype),o.prototype=new r,o}},function(t){var e=[],r="__overlayScrollbars__";function o(t,n){t[r]=n,e.push(t)}function i(n){var o=t.inArray(n,e);o>-1&&(delete n[r],e.splice(o,1))}function a(t){return s(t)!==n}function s(t){for(var n=0;n 0?"\r\nValid strings are: [ "+C.join(", ").split(v).join(", ")+" ].":"")),delete t[s]}}};return c(s,e,a),i?l.extend(!0,a,s):!l.isEmptyObject(s)&&n&&console.warn("The following options are discarded due to invalidity:\r\n"+JSON.stringify(s,null,2)),a}});function O(){u||(u=new M(z.d)),f||(f=new W(u))}function M(i){var o=this,c="overflow",u="hidden",f="scroll",h=l("body"),d=l(' '),v=d[0],p=l(d.children("div").eq(0)),y=v[a.oH];h.append(d),0===y&&d.hide().show();var m,x,w,b,g,S,z,O,M,W=A(v),H={x:0===W.x,y:0===W.y};function k(t){var r=!1,i="Webkit Moz ms O".split(" "),o=e.createElement("div"),a=null,s=0;if(t=t.toLowerCase(),o.style[t]!==n&&(r=!0),!r)for(a=t.charAt(0).toUpperCase()+t.substr(1);s0?m=M(x[b](g+5,x[w](".",g)),10):S>0?m=M(x[b](O+3,x[w](".",O)),10):z>0&&(m=M(x[b](z+5,x[w](".",z)),10)),m),cssCalc:function(){var t,n,r=e.createElement("div"),i=["calc","-webkit-calc","-moz-calc","-o-calc"];for(t=0;t 0){var t=r.wW(),u=r.wH(),f=t-e,v=u-n;if(0===f&&0===v)return;var p=Math.round(t/(e/100)),y=Math.round(u/(n/100)),m=Math.abs(f),x=Math.abs(v),w=Math.abs(p),b=Math.abs(y),g=c(),S=m>2&&x>2,z=!a(w,b);!(S&&z&&(g!==i&&i>0))||(h.append(d),o.nativeScrollbarSize=A(d[0]),d.remove(),l.each(s.all(),function(){s.has(this)&&s.get(this).update("zoom")})),e=t,n=u,i=g}})}function a(t,e){var n=Math.abs(t),r=Math.abs(e);return!(n===r||n+1===r||n-1===r)}function c(){var e=t.screen.deviceXDPI||0,n=t.screen.logicalXDPI||1;return t.devicePixelRatio||e/n}}()}function W(t){var e,i=this,o="autoUpdate",a=o+"Interval",s=[],c=[],u=!1,f=33,h=f,d=r.now(),v=function(){if(s.length>0&&u){e=r.rAF()(function(){v()});var t=r.now(),i=t-d;if(i>h){d=t-i%h;for(var l=f,p=0;p w&&(y.update("auto"),c[p]=new Date(b+=w)),l=Math.max(1,Math.min(l,w))}}h=l}}else h=f};i.add=function(e){-1===l.inArray(e,s)&&(s.push(e),c.push(r.now()),s.length>0&&!u&&(u=!0,t.autoUpdateLoop=u,v()))},i.remove=function(i){var o=l.inArray(i,s);o>-1&&(c.splice(o,1),s.splice(o,1),0===s.length&&u&&(u=!1,t.autoUpdateLoop=u,e!==n&&(r.cAF()(e),e=-1)))}}function H(u,f,h,d){if(oi(u)){if(s.has(u)){var v=s.get(u);return v.options(f),v}var p,y,m,x,w,b,g,S,O,M,W,H,k,A,C,T,E,L,D,P,R,N,F,I,j,U,_,B,q,V,X,Y,K,J,Q,G,Z,$,tt,et,nt,rt,it,ot,at,st,ct,lt,ut,ft,ht,dt,vt,pt,yt,mt,xt,wt,bt,gt,St,zt,Ot,Mt,Wt,Ht,kt,At,Ct,Tt,Et,Lt,Dt,Pt,Rt,Nt,Ft,It,jt,Ut,_t,Bt,qt,Vt,Xt,Yt,Kt,Jt,Qt,Gt,Zt,$t,te,ee,ne,re,ie,oe,ae,se,ce,le,ue,fe,he,de,ve,pe,ye,me,xe,we,be,ge,Se,ze,Oe,Me,We,He=new t[i],ke={},Ae={},Ce={},Te={},Ee={},Le=175,De="-hidden",Pe="margin-",Re="padding-",Ne="border-",Fe="top",Ie="right",je="bottom",Ue="left",_e="min-",Be="max-",qe="width",Ve="height",Xe="float",Ye="",Ke="auto",Je="scroll",Qe="100%",Ge="x",Ze="y",$e=".",tn=" ",en="scrollbar",nn="-horizontal",rn="-vertical",on=Je+"Left",an=Je+"Top",sn="mousedown touchstart",cn="mouseup touchend touchcancel",ln="mousemove touchmove",un="mouseenter",fn="mouseleave",hn="keydown",dn="keyup",vn="selectstart",pn="transitionend webkitTransitionEnd oTransitionEnd",yn="__overlayScrollbarsRO__",mn="os-",xn=mn+"html",wn=mn+"host",bn=wn+"-textarea",gn=wn+"-"+en+nn+De,Sn=wn+"-"+en+rn+De,zn=wn+"-transition",On=wn+"-rtl",Mn=wn+"-resize-disabled",Wn=wn+"-scrolling",Hn=wn+"-overflow",kn=Hn+"-x",An=Hn+"-y",Cn=mn+"textarea",Tn=Cn+"-cover",En=mn+"padding",Ln=mn+"viewport",Dn=Ln+"-native-scrollbars-invisible",Pn=Ln+"-native-scrollbars-overlaid",Rn=mn+"content",Nn=mn+"content-arrange",Fn=mn+"content-glue",In=mn+"size-auto-observer",jn=mn+"resize-observer",Un=mn+"resize-observer-item",_n=Un+"-final",Bn=mn+"text-inherit",qn=mn+en,Vn=qn+"-track",Xn=Vn+"-off",Yn=qn+"-handle",Kn=Yn+"-off",Jn=qn+"-unusable",Qn=qn+"-"+Ke+De,Gn=qn+"-corner",Zn=Gn+"-resize",$n=Zn+"-both",tr=Zn+nn,er=Zn+rn,nr=qn+nn,rr=qn+rn,ir=mn+"dragging",or=mn+"theme-none",ar={},sr=33,cr=[],lr=11,ur=[112,113,114,115,116,117,118,119,120,121,123,33,34,37,38,39,40,16,17,18,19,20,144],fr=[],hr={},dr={};if(He.sleep=function(){B=!0},He.update=function(t){var e,n,i="zoom"===t,o="img",a="load";t===Ke?(e=qr(),n=Br(),(e||n)&&Yr(!1,n)):i?Yr(!0,!0):(t=B||t,B=!1,Yr(!1,!1,t)),T||i||ct.find(o).each(function(t,e){-1===r.inA(e,cr)&&(e=l(e)).off(a,Ir).on(a,Ir)})},He.options=function(t,e){if(l.isEmptyObject(t)||!l.isPlainObject(t)){if(wi(t)===o.s){if(arguments.length>=2){var n={};return pi(n,t,e),Kr(n),void Yr()}return vi(X,t)}return X}Kr(t);var r=B||!1;B=!1,Yr(),B=r},He.destroy=function(){C=!0,d.remove(He),gr(),mr(rt),P&&mr(nt),zi(rt),it!==n&&zi(it),st!==n&&zi(st),P&&zi(nt),W?(pr(et,ln,Mr),pr(et,un,zr),pr(et,fn,Or)):et.off(ln,Mr).off(un,zr).off(fn,Or),zi(ft),zi(vt),ut&&zi(ut),ze||Nr(),ct.contents().unwrap().unwrap().unwrap(),E&&Si(Z,xn),T?(tt.off(Je,Dr).off("drop",Tr).off("focus",Er).off("focusout",Lr),w>9||!x?tt.off("input",kr):tt.off(hn,Ar).off(dn,Cr),zi(lt),Si(tt,Cn+tn+Bn).unwrap().removeAttr(a.s),zi(et)):(Si(tt,wn),Si(et,[wn,Mn,On,gn,Sn,zn,Wn,Hn,kn,An,or,ne].join(tn)));for(var t=0;t 0)e.x=t[0],e.y=t[1];else if(wi(t)===o.s||wi(t)===o.n)e.x=t,e.y=t;else if(wi(t)===o.o){for(var n in t=bi({},t),x=0,t)t.hasOwnProperty(n)&&(x>2&&delete t[n],x++);var r=function(e){var n=e?w:b;for(x=0;x 2){var p=r.substr(0,2);for(x=0;x /g,(d?"-":Ye)+Qe))[v](/px/g,Ye))[v](/%/g,f+u*(h&&m.n?-1:1)/100))[v](/vw/g,f+Te.w))[v](/vh/g,f+Te.h),a=si(t.parseFloat(t.eval(r)).toFixed())}else wi(r)===o.n&&(a=r);if(!isNaN(a)&&a!==n&&wi(a)===o.n){var y=ee&&h,w=l*(y&&m.n?-1:1),b=y&&m.i,S=y&&m.n;switch(w=b?u-w:w,i){case"+=":s=w+a;break;case"-=":s=w-a;break;case"*=":s=w*a;break;case"/=":s=w/a;break;default:s=a}b&&(s=u-s),S&&(s*=-1),h&&m.n?(s=Math.max(u,s),s=Math.min(0,s)):(s=Math.min(u,s),s=Math.max(0,s)),s===l&&(s=n)}return s};if(D||P){var I=D?L:l(L);if(0===I.length)return;if(E){var j,U,B,q=e.axis,V=e.block,X=wi(V),Y=e.margin,K=wi(Y);if(X===o.s)V=[V,V];else if(X===o.a)if((U=V.length)>2||U<1)V=n;else{for(j=!0,1===U&&(V[1]=W),x=0;x=G[r]&&Q[r]+ht[n]<=G[r]+Te[n],nt[i]=ht[n] s:a 0||z){var yt={};if(vt&&(yt[on]=S.x),pt&&(yt[an]=S.y),z)at.animate(yt,r);else{var mt={duration:r,complete:s};if(wi(i)===o.a){var xt={};xt[on]=i[0],xt[an]=i[1],mt.specialEasing=xt}else mt.easing=i;at.animate(yt,mt)}}else vt&&at[on](S.x),pt&&at[an](S.y)},He.scrollStop=function(t,e,n){at.stop(t,e,n)},He.getElements=function(){return{target:tt[0],host:et[0],padding:ot[0],viewport:at[0],content:ct[0],scrollbarHorizontal:{scrollbar:ft[0],track:ht[0],handle:dt[0]},scrollbarVertical:{scrollbar:vt[0],track:pt[0],handle:yt[0]},scrollbarCorner:ut}},He.getState=function(t){var e=function(t){if(!l.isPlainObject(t))return t;var e=bi(!0,{},t),n=function(t,n){e.hasOwnProperty(t)&&(e[n]=e[t],delete e[t])};return n("w",qe),n("h",Ve),delete e.c,e},n={sleeping:e(B)||!1,autoUpdate:e(!le),widthAuto:e(St),heightAuto:e(zt),padding:e(Wt),overflowAmount:e(Pt),hideOverflow:e(gt),hasOverflow:e(bt),contentScrollSize:e(xt),viewportSize:e(Te),hostSize:e(mt),documentMixed:e(L)};return wi(t)===o.s?vi(n,t):n},Oi(u,f))return s.add(u,He),He;He=n}function vr(t,e,n){for(var r=e.split(tn),i=0;i9||!x){t.prepend(di(jn,di({className:Un,dir:"ltr"},di(Un,di(_n))+di(Un,di({className:_n,style:"width: 200%; height: 200%"})))));var v,p,y,b,g=t[0][u][0][u][0],S=l(g[u][1]),z=l(g[u][0]),O=l(z[0][u][0]),M=g[a.oW],W=g[a.oH],k=2,A=h.nativeScrollbarSize,C=function(){z[on](i)[an](i),S[on](i)[an](i)},T=function(){p=0,v&&(M=y,W=b,f())},E=function(t){return y=g[a.oW],b=g[a.oH],v=y!=M||b!=W,t&&v&&!p?(r.cAF()(p),p=r.rAF()(T)):t||T(),C(),t&&(r.prvD(t),r.stpP(t)),!1},L={},D={};D[Fe]=-(A.y+1)*k,D[Ie]=A.x*-k,D[je]=A.y*-k,D[Ue]=-(A.x+1)*k,l(g).css(D),z.on(Je,E),S.on(Je,E),t.on(c,function(){E(!1)}),L[qe]=i,L[Ve]=i,O.css(L),C()}else{var P=G[0],R=P.attachEvent,N=w!==n;if(R)t.prepend(di(jn)),hi(t,$e+jn)[0].attachEvent("onresize",f);else{var F=P.createElement(o.o);F.setAttribute("tabindex","-1"),F.setAttribute(a.c,jn),F.onload=function(){var t=this.contentDocument.defaultView;t.addEventListener("resize",f),t.document.documentElement.style.display="none"},F.type="text/html",N&&t.prepend(F),F.data="about:blank",N||t.prepend(F),t.on(c,f)}}if(t[0]===rt[0]){var I=function(){var e=et.css("direction"),n={},r=0,o=!1;return e!==Ct&&("ltr"===e?(n[Ue]=0,n[Ie]=Ke,r=i):(n[Ue]=Ke,n[Ie]=0,r=m.n?-i:m.i?0:i),rt.children().eq(0).css(n),t[on](r)[an](i),Ct=e,o=!0),o};I(),t.on(Je,function(t){return I()&&Yr(),r.prvD(t),r.stpP(t),!1})}}function mr(t){if(H){var e=t.contents()[0];e[yn].disconnect(),delete e[yn]}else zi(t.children($e+jn).eq(0))}function xr(t){if(t!==n&&H){var e=t.contents()[0];e[yn].unobserve(e)}}function wr(t){if(t!==n&&H){var e=t.contents()[0];e[yn].observe(e)}}function br(){ue&&!le&&(se.observe(et[0],{attributes:!0,attributeOldValue:!0,attributeFilter:[a.i,a.c,a.s]}),ce.observe(T?tt[0]:ct[0],{attributes:!0,attributeOldValue:!0,subtree:!T,childList:!T,characterData:!T,attributeFilter:T?["wrap","cols","rows"]:[a.i,a.c,a.s]}),le=!0)}function gr(){ue&&le&&(se.disconnect(),ce.disconnect(),le=!1)}function Sr(){if(!B){var t=rt[0],e={w:t[a.sW],h:t[a.sH]};if(A){var n=mi(e,Jt);Jt=e,n&&Yr(!0,!1)}else Jt=e}}function zr(){we&&Zr(!0)}function Or(){we&&!$.hasClass(ir)&&Zr(!1)}function Mr(){xe&&(Zr(!0),clearTimeout(ve),ve=setTimeout(function(){xe&&!C&&Zr(!1)},100))}function Wr(t){var e=Y.callbacks;B||(q!==n?clearTimeout(q):((me||xe)&&Zr(!0),ui()||gi(et,Wn),ri(e.onScrollStart,t)),ti(!0,at[on]()),ti(!1,at[an]()),ri(e.onScroll,t),q=setTimeout(function(){C||(Hr(),ri(e.onScrollStop,t))},Le))}function Hr(){clearTimeout(q),q=n,(me||xe)&&Zr(!1),ui()||Si(et,Wn)}function kr(){Xr(),He.update(Ke)}function Ar(t){var e=t.keyCode;if(!li(e)){if(0===fr.length){var n=function(){Xr(),He.update(Ke)};n(),fe=setInterval(n,1e3/60)}-1===l.inArray(e,fr)&&fr.push(e)}}function Cr(t){var e=t.keyCode;if(!li(e)){var n=l.inArray(e,fr);n>-1&&fr.splice(n,1),0===fr.length&&(Xr(),He.update(Ke),clearInterval(fe))}}function Tr(){setTimeout(function(){C||(Xr(),He.update(Ke))},50)}function Er(){he=!0}function Lr(){he=!1,clearInterval(fe),fr=[],Xr(),He.update(Ke)}function Dr(t){return tt[on](m.i&&ee?9999999:0),tt[an](0),r.prvD(t),r.stpP(t),!1}function Pr(t){if(!B){var e=(t.originalEvent||t).touches!==n;(1===r.mBtn(t)||e)&&(le&&(Se=!0,gr()),hr=r.page(t),dr.w=et[0][a.oW]-(D?0:R),dr.h=et[0][a.oH]-(D?0:N),G.on(vn,Fr).on(ln,Rr).on(cn,Nr),gi($,ir),ut.setCapture&&ut.setCapture(),r.prvD(t),r.stpP(t))}}function Rr(t){var e=r.page(t),n={};(Me||Oe)&&(n[qe]=dr.w+e.x-hr.x),(We||Oe)&&(n[Ve]=dr.h+e.y-hr.y),et.css(n),r.stpP(t)}function Nr(t){var e=t!==n;G.off(vn,Fr).off(ln,Rr).off(cn,Nr),Si($,ir),ut.releaseCapture&&ut.releaseCapture(),e&&(Se&&br(),He.update(Ke)),Se=!1}function Fr(t){return r.prvD(t),!1}function Ir(){Yr()}function jr(){var t={};return E&&st&&(t.w=si(st.css(_e+qe)),t.h=si(st.css(_e+Ve)),t.c=mi(t,ae),t.f=!0),ae=t,t.c}function Ur(t,e){var r=e!==n&&null!==e?e.split(tn):Ye,i=t!==n&&null!==t?t.split(tn):Ye;if(r===Ye&&i===Ye)return!1;var o,a,s,c,u=ai(i,r),f=!1,h=re!==n&&null!==re?re.split(tn):[Ye],d=ne!==n&&null!==ne?ne.split(tn):[Ye],v=l.inArray(or,u),p=u[o];for(v>-1&&u.splice(v,1),o=0;o 0&&A&&o-K 0?ht:or)),se&&(!0===Jt?(gr(),d.add(He)):null===Jt&&x?(gr(),d.add(He)):(d.remove(He),br())),Xt)if(Vt)if(it===n&&(it=l(di(Fn)),ot.before(it)),P)nt.show();else{nt=l(di(In)),it.before(nt);var Se={w:-1,h:-1};yr(nt,function(){var t={w:nt[0][a.oW],h:nt[0][a.oH]};mi(t,Se)&&(A&&zt&&t.h>0||St&&t.w>0?Yr():(A&&!zt&&0===t.h||!St&&0===t.w)&&Yr()),Se=t}),P=!0,null!==g&&nt.css(Ve,g+"(100% + 1px)")}else P&&nt.hide();i&&(rt.find("*").trigger(Je),P&&nt.find("*").trigger(Je));var Ae,Ce=et.css("direction"),Le=yi(Ce,At,i),De=et.css("box-sizing"),$e=yi(De,Mt,i),en={c:i,t:si(et.css(Re+Fe)),r:si(et.css(Re+Ie)),b:si(et.css(Re+je)),l:si(et.css(Re+Ue))};try{Ae=P?nt[0].getBoundingClientRect():null}catch(Ui){return}D="border-box"===De;var nn=(_="rtl"===Ce)?Ue:Ie,rn=_?Ie:Ue,cn=et[0],hn=ot[0],dn=!1,vn=!(!P||"none"===et.css(Xe))&&(0===Math.round(Ae.right-Ae.left)&&(!!Ut||cn[a.cW]-R>0));if(Vt&&!vn){var pn=cn[a.oW],yn=it.css(qe);it.css(qe,Ke);var mn=cn[a.oW];it.css(qe,yn),(dn=pn!==mn)||(it.css(qe,pn+1),mn=cn[a.oW],it.css(qe,yn),dn=pn!==mn)}var xn=(vn||dn)&&Vt,wn=yi(xn,St,i),bn=!xn&&St,gn=!!P&&0===Math.round(Ae.bottom-Ae.top),Sn=yi(gn,zt,i),zn=!gn&&zt,Cn="-"+qe,Tn=xn&&D||!D,En=gn&&D||!D,Ln={c:i,t:En?si(et.css(Ne+Fe+Cn)):0,r:Tn?si(et.css(Ne+Ie+Cn)):0,b:En?si(et.css(Ne+je+Cn)):0,l:Tn?si(et.css(Ne+Ue+Cn)):0},Dn={c:i,t:si(et.css(Pe+Fe)),r:si(et.css(Pe+Ie)),b:si(et.css(Pe+je)),l:si(et.css(Pe+Ue))},Pn={h:String(et.css(Be+Ve)),w:String(et.css(Be+qe))},Rn={},jn={};if(R=en.l+en.r,N=en.t+en.b,en.c=xi(en,Wt),F=Ln.l+Ln.r,I=Ln.t+Ln.b,Ln.c=xi(Ln,Ht),j=Dn.l+Dn.r,U=Dn.t+Dn.b,Dn.c=xi(Dn,kt),Pn.ih=si(Pn.h),Pn.iw=si(Pn.w),Pn.ch=Pn.h.indexOf("px")>-1,Pn.cw=Pn.w.indexOf("px")>-1,Pn.c=mi(Pn,Ot,i),At=Ce,Mt=De,St=xn,zt=gn,Wt=en,Ht=Ln,kt=Dn,Ot=Pn,Le&&P&&nt.css(Xe,rn),en.c||Le||_t||wn||Sn||$e||Xt){var Un={},_n={};ii(jn,Pe,[-en.t,-en.r,-en.b,-en.l]),Ut?(ii(Un,Ye,[en.t,en.r,en.b,en.l]),ii(T?_n:Rn,Re)):(ii(Un,Ye),ii(T?_n:Rn,Re,[en.t,en.r,en.b,en.l])),ot.css(Un),tt.css(_n)}Te={w:hn[a.oW],h:hn[a.oH]};var Bn=!!T&&Xr();if(gn&&(Sn||_t||$e||Pn.c||en.c||Ln.c)?(Pn.cw&&(Rn[Be+Ve]=Pn.ch?Pn.ih-(Ut?N:0)+(D?-I:N):Ye),Rn[Ve]=Ke):(Sn||_t)&&(Rn[Be+Ve]=Ye,Rn[Ve]=Qe),xn&&(wn||_t||$e||Pn.c||en.c||Ln.c||Le)?(Pn.cw&&(Rn[Be+qe]=Pn.cw?Pn.iw-(Ut?R:0)+(D?-F:R)+(p.y?y.y:0):Ye),Rn[qe]=Ke,jn[Be+qe]=Qe):(wn||_t)&&(Rn[Be+qe]=Ye,Rn[qe]=Qe,Rn[Xe]=Ye,jn[Be+qe]=Ye),xn&&(Pn.cw||(Rn[Be+qe]=Ye),jn[qe]=T&&fe?Bn.dw:Ke,Rn[qe]=Ke,Rn[Xe]=rn),gn&&(Pn.ch||(Rn[Be+Ve]=Ye),jn[Ve]=T?ve?Bn.dh:Ke:ct[0][a.cH]),Vt&&it.css(jn),ct.css(Rn),Rn={},jn={},bt=bt||{x:!1,y:!1},t||e||Le||$e||_t||wn||xn||Sn||gn||Pn.c||Kt||ue||qt||pt||V||de||ge||Ct||_t||de||ge||i){var qn="overflow",Vn=qn+"-x",Xn=qn+"-y",Yn="hidden",Kn="visible",Jn=k&&(p.x||p.y||Te.w 0&&(jn[qe]=Math.max(1,jn[qe]),jn[Ve]=Math.max(1,jn[Ve])),T&<.css(Sr),it.css(jn)}xn&&(Rn[qe]=Qe),!xn||D||le||(Rn[Xe]="none"),ct.css(Rn),Rn={};var Wr=rr.getBoundingClientRect(),Hr={w:Math.max(rr[a.sW],ir[a.sW]),h:Math.max(rr[a.sH],ir[a.sH])};if(Jn&&ct.css(qn,Ye),Wr.width){var kr=Wr.width,Ar=Wr.height,Cr=.001;Hr.w+=si(kr+Cr)-kr,Hr.h+=si(Ar+Cr)-Ar}Hr.c=e=mi(Hr,xt,i),xt=Hr,t=mi(fr={w:cn[a.cW],h:cn[a.cH]},mt),mt=fr,Te={w:hn[a.oW],h:hn[a.oH]};var Tr={x:"v-s"===ce.x,y:"v-s"===ce.y},Er={x:"v-h"===ce.x,y:"v-h"===ce.y},Lr={x:"s"===ce.x,y:"s"===ce.y},Dr={x:Math.max(0,Math.round(100*(Hr.w-fr.w+(Ut?R:0)))/100),y:Math.max(0,Math.round(100*(Hr.h-fr.h+(Ut?N:0)))/100)},Rr=T&&(0===Te.w||0===Te.h);Rr&&(Dr.x=0,Dr.y=0);var Nr={x:Dr.x>0,y:Dr.y>0},Fr={x:Nr.x,y:Nr.y};(Tr.x||Er.x)&&(Fr.x=Nr.y&&!Tr.y&&!Er.y),(Tr.y||Er.y)&&(Fr.y=Nr.x&&!Tr.x&&!Er.x),Fr.xs=!!Fr.x&&(Lr.x||Tr.x),Fr.ys=!!Fr.y&&(Lr.y||Tr.y);var Ir={x:Nr.x&&Fr.xs,y:Nr.y&&Fr.ys},Ur=Pt;if(Dr.c=mi(Dr,Pt,Ge,Ze,i),Pt=Dr,Nr.c=mi(Nr,bt,Ge,Ze,i),bt=Nr,Fr.c=mi(Fr,gt,Ge,Ze,i),gt=Fr,p.x||p.y){var _r=i,Br={};if((Nr.x||Nr.y)&&(Br.w=p.y&&Nr.y?Hr.w+y.y:Ye,Br.h=p.x&&Nr.x?Hr.h+y.x:Ye,_r=yi(Br,wt,i),wt=Br),Nr.c||Fr.c||Hr.c||Le||wn||Sn||xn||gn||Kt){var qr="px solid transparent";Rn[Ne+rn]=Ye,Rn[Pe+rn]=Ye,p.x&&Nr.x&&Fr.xs?(gn&&(Rn[Pe+je]=Yt?Ye:y.x),Rn[Ne+je]=gn||Yt?Ye:y.x+qr):(Br.h=Ye,_r=!0,Rn[Ne+je]=Ye,Rn[Pe+je]=Ye),p.y&&Nr.y&&Fr.ys?(xn&&(Rn[Pe+nn]=Yt?Ye:y.y),Rn[Ne+nn]=Yt?Ye:y.y+qr):(Br.w=Ye,_r=!0,Rn[Ne+nn]=Ye,Rn[Pe+nn]=Ye)}if(Yt&&(Br.w=Ye,Br.h=Ye,_r=!0),_r){var Vr={};Vr[qe]=Fr.y?Br.w:Ye,Vr[Ve]=Fr.x?Br.h:Ye,st===n&&(st=l(di(Nn)),at.prepend(st)),st.css(Vr)}ct.css(Rn)}var Kr={};Un={};if(t||Nr.c||Fr.c||Hr.c||ue||$e||Kt||Le||qt||Sn){Kr[rn]=Ye;var Jr=function(){Kr[je]=Ye,ke.h=0},Qr=function(){Kr[nn]=Ye,ke.w=0};if(Nr.x&&Fr.xs?(Kr[Vn]=Je,Yt?Jr():(Kr[je]=-(p.x?y.x:S.x),ke.h=p.x?y.y:0)):(Kr[Vn]=Ye,Jr()),Nr.y&&Fr.ys?(Kr[Xn]=Je,Yt?Qr():(Kr[nn]=-(p.y?y.y:S.y),ke.w=p.y?y.x:0)):(Kr[Xn]=Ye,Qr()),(Te.h -1,ji=Fi.y>-1;(Ii||ji)&&(ji&&at[an](Fi.y),Ii&&(_&&ee&&m.i?at[on](0):at[on](Fi.x)))}jt=Ai}else T||(_&&m.i&&p.y&&Nr.x&&ee&&(c.l+=ke.w||0),at[on](c.l),at[an](c.t));Le&&ri(M,{isRTL:_,dir:Ce}),t&&ri(L,{width:mt.w,height:mt.h}),e&&ri(H,{width:xt.w,height:xt.h}),(Nr.c||Fr.c)&&ri(z,{x:Nr.x,y:Nr.y,xScrollable:Fr.xs,yScrollable:Fr.ys,clipped:Fr.x||Fr.y}),Dr.c&&ri(O,{x:Dr.x,y:Dr.y})}E&&(Nr.c||ae.c)&&(ae.f||jr(),p.y&&Nr.x&&ct.css(_e+qe,ae.w+y.y),p.x&&Nr.y&&ct.css(_e+Ve,ae.h+y.x),ae.c=!1),wr(rt),wr(nt),ri(w,{forced:i})}}function Kr(t){X=bi(!0,{},X,z.v(t,z.t,!0)),Y=bi(!0,{},Y,z.v(t,z.t,!1,!0))}function Jr(){ft=l(di(qn+tn+nr)),ht=l(di(Vn)),dt=l(di(Yn)),vt=l(di(qn+tn+rr)),pt=l(di(Vn)),yt=l(di(Yn)),ft.append(ht),ht.append(dt),vt.append(pt),pt.append(yt),ot.after(vt),ot.after(ft),O&&(ft.on(pn,function(t){t.target===ft[0]&&($r(!0),ti(!0,at[on]()))}),vt.on(pn,function(t){t.target===vt[0]&&($r(!1),ti(!1,at[an]()))})),Qr(!0),Qr(!1),ut=l(di(Gn)),et.append(ut)}function Qr(t){var e,i,o,a=ni(t),s=a.xy,c=Je+a.LT,l="active",u=1,f=function(){u=.5},h=function(){u=1},d=function(n){var o=a.i.tl,l=a.i.hl,u=a.i.ms*((l/2+r.page(n)[s]-i-l/2)/(o-l));u=isFinite(u)?u:0,_&&t&&(m.n||!m.n&&!m.i)&&(u*=-1),at[c](e+u),W||r.prvD(n)},v=function(t){t=t||t.originalEvent,Si($,ir),Si(a.h,l),Si(a.t,l),Si(a.s,l),G.off(ln,d).off(cn,v).off(hn,p).off(dn,y).off(vn,Fr),h(),e=n,i=n,o!==n&&(He.scrollStop(),clearTimeout(o),o=n);var r=et[0].getBoundingClientRect();t.clientX>=r.left&&t.clientX<=r.right&&t.clientY>=r.top&&t.clientY<=r.bottom||Or(),(me||xe)&&Zr(!1)},p=function(t){16==t.keyCode&&f()},y=function(t){16==t.keyCode&&h()};a.h.on(sn,function(o){if(!B){var u=(o.originalEvent||o).touches!==n;ui()||!$t||u&&!be||(1===r.mBtn(o)||u)&&(e=(e=at[c]())===n?0:e,(_&&t&&!m.n||!_)&&(e=e<0?0:e),i=r.page(o)[s],gi($,ir),gi(a.h,l),gi(a.s,l),G.on(ln,d).on(cn,v).on(vn,Fr),!w&&L||r.prvD(o),r.stpP(o))}}),a.t.on(sn,function(e){if(!B){var c=(e.originalEvent||e).touches!==n;if(!ui()&&Zt&&(!c||be)&&(1===r.mBtn(e)||c)){var h,d=Te[a._wh],x=a.t.offset()[a.lt],w=!0;e.shiftKey&&f();var b=function(){if(!C){var e=a.i.ho,r=a.i.hl,s=i-x,c=200*u,l=w?Math.max(333,c):c,f={},v=_&&t&&(!m.i&&!m.n||ee),p=e>s;v&&(p=e =s;v&&(y=h?e+r>=s:e<=s),y?(clearTimeout(o),He.scrollStop(),o=n):o=setTimeout(b,l),w=!1}};i=r.page(e)[s],gi($,ir),gi(a.t,l),gi(a.s,l),G.on(cn,v).on(hn,p).on(dn,y).on(vn,Fr),b(),r.prvD(e),r.stpP(e)}}}).hover(function(){(me||xe)&&(ge=!0,Zr(!0))},function(){(me||xe)&&(ge=!1,Zr(!1))}),a.s.on(sn,function(t){r.stpP(t)})}function Gr(t,e,n){var r=t?gn:Sn,i=t?ft:vt;e?Si(et,r):gi(et,r),n?Si(i,Jn):gi(i,Jn)}function Zr(t,e){if(clearTimeout(de),t)Si(ft,Qn),Si(vt,Qn);else{var n="active",r=function(){if(!ge&&!C){var t=dt.hasClass(n)||yt.hasClass(n);!t&&(me||xe||we)&&gi(ft,Qn),!t&&(me||xe||we)&&gi(vt,Qn)}};pe>0&&!0!==e?de=setTimeout(r,pe):r()}}function $r(t){var e={},n=ni(t),r=1e6,i=Math.min(1,(mt[n._wh]-(Tt?t?R:N:0))/xt[n._wh]);e[n.wh]=Math.floor(100*i*r)/r+"%",ui()||n.h.css(e),n.i.hl=n.h[0]["offset"+n.WH],n.i.hlr=i}function ti(t,e){var n,r,i=_&&t,o={},a=ni(t),s="translate(",c="transform",l=at[0][Je+a.WH]-at[0]["client"+a.WH],u=a.i.hl,f=a.t[0]["offset"+a.WH],h=f-u;m.n&&i&&(l*=-1),r=e/l,r=isNaN(r)?0:Math.min(1,r),a.i.ms=l,a.i.cs=e,a.i.csr=r,h*=r,h=isNaN(h)?0:h,i&&(m.n||!m.n&&!m.i)&&(h=f-u-h),h=Math.max(0,h),M?(i&&(h=-(f-u-h)),n=t?s+h+"px, 0)":s+"0, "+h+"px)",o["-webkit-"+c]=n,o["-moz-"+c]=n,o["-ms-"+c]=n,o["-o-"+c]=n,o[c]=n):o[a.lt]=h,ui()||a.h.css(o),a.i.ho=h,a.i.tl=f}function ei(t,e){var n=e?"removeClass":"addClass",r=t?pt:yt,i=t?Xn:Kn;(t?ht:dt)[n](i),r[n](i)}function ni(t){return{wh:t?qe:Ve,WH:t?"Width":"Height",lt:t?Ue:Fe,LT:t?"Left":"Top",xy:t?Ge:Ze,XY:t?"X":"Y",_wh:t?"w":"h",_lt:t?"l":"t",t:t?ht:pt,h:t?dt:yt,s:t?ft:vt,i:t?Ae:Ce}}function ri(t,e){A&&l.isFunction(t)&&t.call(He,e)}function ii(t,e,r){r===n&&(r=[Ye,Ye,Ye,Ye]),t[e+Fe]=r[0],t[e+Ie]=r[1],t[e+je]=r[2],t[e+Ue]=r[3]}function oi(e){var n="ownerDocument",r="HTMLElement",i=e&&e[n]&&e[n].parentWindow||t;return typeof i[r]===o.o?e instanceof i[r]:e&&typeof e===o.o&&null!==e&&1===e.nodeType&&typeof e.nodeName===o.s}function ai(t,e){var n,r,i=[],o=[];for(n=0;nf&&(u=r+1,f=e);return{cR:h,cC:d,r:c,c:f,w:u,p:t,m:a}}}function li(t){for(var e=0;e "+(e||Ye)+""}function vi(t,e){for(var n,r=e.split($e),i=0;i 9||!x?tt.on("input",kr):tt.on(hn,Ar).on(dn,Cr)}else gi(tt,wn),(et=tt).wrapInner(di(Rn)).wrapInner(di(Ln)).wrapInner(di(En)),ct=hi(et,$e+Rn),at=hi(et,$e+Ln),ot=hi(et,$e+En),ct.on(pn,function(t){!0!==Nt&&Vr((t=t.originalEvent||t).propertyName)&&Yr(Ke)});if(Jr(),W?vr(at,Je,Wr):at.on(Je,Wr),b&&gi(at,p.x&&p.y?Pn:Dn),ue){var c,u,f,d,v,z,D=r.mO(),P=r.now();se=new D(function(t){if(A&&!B){var e,n=!1;l.each(t,function(){if(c=(e=this).target,u=e.attributeName,n=u===a.c?Ur(e.oldValue,c.className):u!==a.s||e.oldValue!==c.style.cssText)return!1}),n&&He.update(Ke)}}),ce=new D(function(t){if(A&&!B){var e=!1;l.each(t,function(){return!(e=_r(this))}),e&&(d=r.now(),v=zt||St,z=function(){C||(P=d,T&&Xr(),v?He.update():He.update(Ke))},clearTimeout(f),lr<=0||d-P>lr||!v?z():f=setTimeout(z,lr))}})}return E&&(gi(Z,xn),at[on](i.l),at[an](i.t)),rt=l(di("os-resize-observer-host")),et.prepend(rt),yr(rt,Sr),Sr(),He.update(Ke),setTimeout(function(){O&&!C&&gi(et,zn)},333),A=!0,ri(o.onInitialized),A}}return t[i]=function(e,r){if(0===arguments.length)return this;O();var o,a,c=[];return l.isPlainObject(r)?e&&e.length?(l.each(e,function(){(o=this)!==n&&c.push(H(o,r,u,f))}),a=c.length>1?c:c[0]):a=H(e,r,u,f):e&&(e.length&&e.length>0?(l.each(e,function(){o=s.get(this),"!"===r?o instanceof t[i]&&c.push(o):c.push(o)}),a=c.length>1?c:c[0]):a=s.get(e)),a},t[i].globals=function(){O();var t=l.extend(!0,{},u);return delete t.msie,t},t[i].defaultOptions=function(t){O();var e=u.defaultOptions;if(t===n)return l.extend(!0,{},e);u.defaultOptions=l.extend(!0,{},e,z.v(t,z.t,!0))},t[i]}(s,function(t){var e=[],r="__overlayScrollbars__";function i(t,n){t[r]=n,e.push(t)}function o(n){var i=t.inA(n,e);i>-1&&(delete n[r],e.splice(i,1))}function a(t){return s(t)!==n}function s(n){var i=t.inA(n,e);if(i>-1)return e[i][r]}return{all:function(){return e},add:i,rem:o,has:a,get:s}}(s),l);return c&&c.fn&&(c.fn.overlayScrollbars=function(t){var e=this;return c.isPlainObject(t)?(c.each(e,function(){u(this,t)}),e):u(e,t)}),u}); \ No newline at end of file diff --git a/package.json b/package.json index d098345..8d5c8c4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "overlayscrollbars", - "version": "1.4.4", + "version": "1.4.5", "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",