PageSourceSearch

https://votkinskonline.ru/sites/default/files/js/js_c_I7GGY7yBIjWbd5VzTnaauqI-xBSCY3K32PkiR2UwY.js

js votkinskonline.ru collected 2026-10-02 18:10:43 UTC 67,293 bytes, 1,016 lines download raw bytes

1Drupal.locale = { 'pluralFormula': function ($n) { return Number((((($n%10)==1)&&(($n%100)!=11))?(0):((((($n%10)>=2)&&(($n%10)<=4))&&((($n%100)<10)||(($n%100)>=20)))?(1):2))); }, 'strings': {"":{"An AJAX HTTP error occurred.":"\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 AJAX HTTP \u043e\u0448\u0438\u0431\u043a\u0430.","HTTP Result Code: !status":"\u041f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 HTTP: !status","An AJAX HTTP request terminated abnormally.":"HTTP \u0437\u0430\u043f\u0440\u043e\u0441 AJAX \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e.","Debugging information follows.":"\u0421\u043b\u0435\u0434\u0443\u0435\u0442 \u043e\u0442\u043b\u0430\u0434\u043e\u0447\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f.","Path: !uri":"\u041f\u0443\u0442\u044c: !uri","StatusText: !statusText":"\u0421\u0442\u0430\u0442\u0443\u0441\u0422\u0435\u043a\u0441\u0442\u043e\u043c","ResponseText: !responseText":"\u041e\u0442\u0432\u0435\u0442\u0422\u0435\u043a\u0441\u0442\u043e\u043c: !responseText","ReadyState: !readyState":"ReadyState: !readyState","Next":"\u0414\u0430\u043b\u0435\u0435","Delete":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c","Search":"\u041f\u043e\u0438\u0441\u043a","Save":"\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c","Sunday":"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435","Monday":"\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a","Tuesday":"\u0432\u0442\u043e\u0440\u043d\u0438\u043a","Wednesday":"\u0441\u0440\u0435\u0434\u0430","Thursday":"\u0447\u0435\u0442\u0432\u0435\u0440\u0433","Friday":"\u043f\u044f\u0442\u043d\u0438\u0446\u0430","Saturday":"\u0441\u0443\u0431\u0431\u043e\u0442\u0430","Add":"\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c","Upload":"\u0417\u0430\u043a\u0430\u0447\u0430\u0442\u044c","Configure":"\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c","All":"\u0412\u0441\u0435","Done":"\u0413\u043e\u0442\u043e\u0432\u043e","Not found":"\u041d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e","OK":"\u041e\u041a","This field is required.":"\u041e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f.","Prev":"\u041d\u0430\u0437\u0430\u0434","Mon":"\u043f\u043d","Tue":"\u0432\u0442","Wed":"\u0441\u0440","Thu":"\u0447\u0442","Fri":"\u043f\u0442","Sat":"\u0441\u0431","Sun":"\u0432\u0441","January":"\u044f\u043d\u0432\u0430\u0440\u044f","February":"\u0444\u0435\u0432\u0440\u0430\u043b\u044f","March":"\u043c\u0430\u0440\u0442\u0430","April":"\u0430\u043f\u0440\u0435\u043b\u044f","May":"\u043c\u0430\u044f","June":"\u0438\u044e\u043d\u044f","July":"\u0438\u044e\u043b\u044f","August":"\u0430\u0432\u0433\u0443\u0441\u0442\u0430","September":"\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f","October":"\u043e\u043a\u0442\u044f\u0431\u0440\u044f","November":"\u043d\u043e\u044f\u0431\u0440\u044f","December":"\u0434\u0435\u043a\u0430\u0431\u0440\u044f","Color":"\u0426\u0432\u0435\u0442","Show":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c","Select all rows in this table":"\u041e\u0442\u043c\u0435\u0442\u0438\u0442\u044c \u0432\u0441\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044b","Deselect all rows in this table":"\u0421\u043d\u044f\u0442\u044c \u043e\u0442\u043c\u0435\u0442\u043a\u0443 \u0441\u043e \u0432\u0441\u0435\u0445 \u043a\u043e\u043b\u043e\u043d\u043e\u043a \u0442\u0430\u0431\u043b\u0438\u0446\u044b","Today":"\u0421\u0435\u0433\u043e\u0434\u043d\u044f","Jan":"\u042f\u043d\u0432","Feb":"\u0424\u0435\u0432","Mar":"\u041c\u0430\u0440","Apr":"\u0410\u043f\u0440","Jun":"\u0418\u044e\u043d","Jul":"\u0418\u044e\u043b","Aug":"\u0410\u0432\u0433","Sep":"\u0421\u0435\u043d","Oct":"\u041e\u043a\u0442","Nov":"\u041d\u043e\u044f","Dec":"\u0414\u0435\u043a","Su":"\u0412\u0441","Mo":"\u041f\u043d","Tu":"\u0412\u0442","We":"\u0421\u0440","Th":"\u0427\u0442","Fr":"\u041f\u0442","Sa":"\u0421\u0431","Not published":"\u041d\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043e","Please wait...":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0434\u043e\u0436\u0434\u0438\u0442\u0435...","Hide":"\u0421\u043a\u0440\u044b\u0442\u044c","mm\/dd\/yy":"\u043c\u043c\/\u0434\u0434\/\u0433\u0433","Only files with the following extensions are allowed: %files-allowed.":"\u041f\u0440\u0438\u043a\u0440\u0435\u043f\u043b\u044f\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438: %files-allowed.","By @
1name on @date":"@name, @date","By @name":"@name","Not in menu":"\u041d\u0435 \u0432 \u043c\u0435\u043d\u044e","Alias: @alias":"\u0421\u0438\u043d\u043e\u043d\u0438\u043c: @alias","No alias":"\u0421\u0438\u043d\u043e\u043d\u0438\u043c \u043d\u0435 \u0437\u0430\u0434\u0430\u043d","New revision":"\u041d\u043e\u0432\u0430\u044f \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u044f","Drag to re-order":"\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u043e\u0440\u044f\u0434\u043e\u043a \u043c\u043e\u0436\u043d\u043e, \u043f\u0435\u0440\u0435\u0442\u0430\u0449\u0438\u0432 \u043f\u0443\u043d\u043a\u0442 \u043c\u044b\u0448\u043a\u043e\u0439.","Changes made in this table will not be saved until the form is submitted.":"\u0421\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432 \u0441\u043f\u0438\u0441\u043a\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0435 \u0432\u0441\u0442\u0443\u043f\u044f\u0442 \u0432 \u0441\u0438\u043b\u0443, \u043f\u043e\u043a\u0430 \u0432\u044b \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u0438\u0445.","The changes to these blocks will not be saved until the \u003Cem\u003ESave blocks\u003C\/em\u003E button is clicked.":"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f, \u0441\u0434\u0435\u043b\u0430\u043d\u043d\u044b\u0435 \u0432 \u0431\u043b\u043e\u043a\u0430\u0445 \u043d\u0435 \u0432\u0441\u0442\u0443\u043f\u044f\u0442 \u0432 \u0441\u0438\u043b\u0443 \u043f\u043e\u043a\u0430 \u0432\u044b \u043d\u0435 \u043d\u0430\u0436\u043c\u0435\u0442\u0435 \u043a\u043d\u043e\u043f\u043a\u0443 \u003Cem\u003E\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0431\u043b\u043e\u043a\u0438\u003C\/em\u003E.","Show shortcuts":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448","This permission is inherited from the authenticated user role.":"\u042d\u0442\u043e \u043f\u0440\u0430\u0432\u043e \u043d\u0430\u0441\u043b\u0435\u0434\u0443\u0435\u0442\u0441\u044f \u043e\u0442 \u0440\u043e\u043b\u0438 \u00ab\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u00bb.","No revision":"\u041d\u0435\u0442 \u0440\u0435\u0434\u0430\u043a\u0446\u0438\u0438","@number comments per page":"@number \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 \u043d\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443","Not restricted":"\u0411\u0435\u0437 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439","(active tab)":"(\u0430\u043a\u0442\u0438\u0432\u043d\u0430\u044f \u0432\u043a\u043b\u0430\u0434\u043a\u0430)","Not customizable":"\u041d\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c\u044b\u0439","Restricted to certain pages":"\u041e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043e \u0434\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u0430\u043d\u0438\u0446","The block cannot be placed in this region.":"\u0411\u043b\u043e\u043a \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0449\u0451\u043d \u0432 \u044d\u0442\u043e\u043c \u0440\u0435\u0433\u0438\u043e\u043d\u0435.","Hide summary":"\u0421\u043a\u0440\u044b\u0442\u044c \u0430\u043d\u043e\u043d\u0441","Edit summary":"\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0430\u043d\u043e\u043d\u0441","The selected file %filename cannot be uploaded. Only files with the following extensions are allowed: %extensions.":"\u0412\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b %filename \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0437\u0430\u0433\u0440\u0443\u0436\u0435\u043d. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u0442\u043e\u043b\u044c\u043a\u043e \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c\u0438 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u044f\u043c\u0438: %extensions.","Re-order rows by numerical weight instead of dragging.":"\u0423\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e \u0432\u0435\u0441\u0443 \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u0435\u0440\u0435\u0442\u0430\u0441\u043a\u0438\u0432\u0430\u043d\u0438\u044f.","Show row weights":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0435\u0441 \u0441\u0442\u0440\u043e\u043a","Hide row weights":"\u0421\u043a\u0440\u044b\u0442\u044c \u0432\u0435\u0441 \u0441\u0442\u0440\u043e\u043a","Autocomplete popup":"\u0412\u0441\u043f\u043b\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u0430\u0432\u0442\u043e\u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435","Searching for matches...":"\u041f\u043e\u0438\u0441\u043a \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0439...","Hide shortcuts":"\u0421\u043a\u0440\u044b\u0442\u044c \u044f\u0440\u043b\u044b\u043a\u0438","Colorbox":"Colorbox","Close":"\u0417\u0430\u043a\u0440\u044b\u0442\u044c","Bold":"\u0416\u0438\u0440\u043d\u044b\u0439","Insert this token into your form":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0442\u043e\u043a\u0435\u043d \u0432 \u0432\u0430\u0448\u0443 \u0444\u043e\u0440\u043c\u0443","First click a text field to insert your tokens into.":"\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u043b\u0438\u043a\u043d\u0438\u0442\u0435 \u0432 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435, \u0447\u0442\u043e\u0431\u044b \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c\u0442\u043e\u043a\u0435\u043d\u044b.","Normal":"\u041d\u043e\u0440\u043c\u0430\u043b\u044c\u043d\u044b\u0439","Remove group":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0443\u0441\u043b\u043e\u0432\u0438\u0435","Apply (all displays)":"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c (\u0432\u0441\u0435 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f)","Revert to default":"\u0412\u0435\u0440\u043d\u0443\u0442\u044c \u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","Apply (this display)":"\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c (\u044d\u0442\u043e \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435)","Automatic alias":"\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u0438\u043d\u043e\u043d\u0438\u043c","Media browser":"\u041c\u0435\u0434\u0438\u0430\u0431\u0440\u0430\u0443\u0437\u0435\u0440","One domain with multiple subdomains":"\u041e\u0434\u0438\u043d \u0434\u043e\u043c\u0435\u043d \u0441 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u043c\u0438 \u0441\u0443\u0431\u0434\u043e\u043c\u0435\u043d\u0430\u043c\u0438","Multiple top-level domains":"\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u043e\u043c\u0435\u043d\u043e\u0432 \u0432\u0435\u0440\u0445\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f","Universal web tracking opt-out":"\u0423\u043d\u0438\u0432\u0435\u0440\u0441\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u043a\u0430\u0437 \u043e\u0442 \u0432\u0435\u0431-\u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u043d\u0438\u044f","All pages with exceptions":"\u0412\u0441\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0441 \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f\u043c\u0438","Excepted: @roles":"\u0418\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u044b: @roles","On by default with opt out":"\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u0441 \u043e\u0442\u043a\u0430\u0437\u043e\u043c","Off by default with opt in":"\u041f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043e, \u0441 \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u0435\u043c","Not tracked":"\u041d\u0435 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f","A single domain":"\u041e\u0434\u0438\u043d \u0434\u043e\u043c\u0435\u043d","No privacy":"\u041d\u0435\u0442 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438","@items enabled":"@items \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b","There is nothing in your media library. Select the Upload tab above to add a file.":"\u041d\u0438\u0447\u0435\u0433\u043e \u043d\u0435\u0442 \u0432 \u0432\u0430\u0448\u0435\u0439 \u043c\u0435\u0434\u0438\u0430\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0435. \u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0432\u044b\u0448\u0435 \u0432\u043a\u043b\u0430\u0434\u043a\u0443 \u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u0430.","Error getting media.":"\u
1041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u043c\u0435\u0434\u0438\u0430.","Cannot continue, nothing selected":"\u041d\u0435 \u043c\u043e\u0433\u0443 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c, \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0432\u044b\u0431\u0440\u0430\u043d\u043e","New":"\u0421\u043e\u0437\u0434\u0430\u0442\u044c","Loading token browser...":"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0430 \u043c\u0435\u0442\u043e\u043a...","Available tokens":"\u0414\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0435 \u043c\u0430\u0440\u043a\u0435\u0440\u044b","all":"\u0432\u0441\u0435","Login":"\u0412\u0445\u043e\u0434","Opacity":"\u041f\u0440\u043e\u0437\u0440\u0430\u0447\u043d\u043e\u0441\u0442\u044c","Next page":"\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430","Also allow !name role to !permission?":"\u0422\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0441\u0432\u043e\u0438\u0442\u044c \u0440\u043e\u043b\u0438 !name \u043f\u0440\u0430\u0432\u0430 !permission?","Log messages":"\u0421\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u0432 \u043b\u043e\u0433","Please select a file.":"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u0444\u0430\u0439\u043b.","You are not allowed to operate on more than %num files.":"\u0412\u0430\u043c \u043d\u0435 \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0441 %num \u0444\u0430\u0439\u043b\u0430\u043c\u0438.","Please specify dimensions within the allowed range that is from 1x1 to @dimensions.":"\u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430 \u0443\u043a\u0430\u0436\u0438\u0442\u0435 \u0440\u0430\u0437\u043c\u0435\u0440 \u0432\u043d\u0443\u0442\u0440\u0438 \u0440\u0430\u0437\u0440\u0435\u0448\u0451\u043d\u043d\u043e\u0433\u043e \u0434\u0438\u0430\u043f\u043e\u0437\u043e\u043d\u0430 \u043e\u0442 1x1 \u0434\u043e @dimensions.","%filename is not an image.":"\u0424\u0430\u0439\u043b %filename \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435\u043c.","File browsing is disabled in directory %dir.":"\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 \u0444\u0430\u0439\u043b\u043e\u0432 \u0437\u0430\u043f\u0440\u0435\u0449\u0435\u043d \u0434\u043b\u044f \u043f\u0430\u043f\u043a\u0438 %dir.","Do you want to refresh the current directory?":"\u0412\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043e\u0431\u043d\u043e\u0432\u0438\u0442\u044c \u0442\u0435\u043a\u0443\u0449\u0443\u044e \u043f\u0430\u043f\u043a\u0443?","Delete selected files?":"\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0432\u044b\u0431\u0440\u0430\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b?","Please select a thumbnail.":"\u0412\u044b\u0431\u0435\u0440\u0438\u0442\u0435 \u043c\u0438\u043d\u0438\u0430\u0442\u044e\u0440\u0443.","You must select at least %num files.":"\u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0435 \u043c\u0435\u043d\u0435\u0435 %num \u0444\u0430\u0439\u043b\u043e\u0432.","You can not perform this operation.":"\u0412\u044b \u043d\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u044d\u0442\u0443 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u044e.","Insert file":"\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0444\u0430\u0439\u043b","Change view":"\u0421\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0438\u0434","Slim":"\u0422\u043e\u043d\u043a\u0430\u044f","Line color":"\u0426\u0432\u0435\u0442 \u043b\u0438\u043d\u0438\u0438","Stroke width":"\u0422\u043e\u043b\u0449\u0438\u043d\u0430 \u043b\u0438\u043d\u0438\u0438","Very bold":"\u041e\u0447\u0435\u043d\u044c \u0436\u0438\u0440\u043d\u0430\u044f","Very slim":"\u041e\u0447\u0435\u043d\u044c \u0442\u043e\u043d\u043a\u0430\u044f","Balloon text":"\u041f\u043e\u0434\u0441\u043a\u0430\u0437\u043a\u0430","Drawing lines":"\u0420\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043b\u0438\u043d\u0438\u0439","Placemark text":"\u0422\u0435\u043a\u0441\u0442 \u043c\u0430\u0440\u043a\u0435\u0440\u0430","Search on the map":"\u041d\u0430\u0439\u0442\u0438 \u043d\u0430 \u043a\u0430\u0440\u0442\u0435","Setting points":"\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0442\u043e\u0447\u0435\u043a","Polygon color":"\u0426\u0432\u0435\u0442 \u043c\u043d\u043e\u0433\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430","Drawing polygons":"\u0420\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435 \u043c\u043d\u043e\u0433\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u043e\u0432","Error found":"\u0412\u043e\u0437\u043d\u0438\u043a\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430","The route is already on this map":"\u041d\u0430 \u044d\u0442\u043e\u0439 \u043a\u0430\u0440\u0442\u0435 \u0443\u0436\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d \u043c\u0430\u0440\u0448\u0440\u0443\u0442","Laying routes":"\u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u043e\u0432","Downloads":"\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0438","Internal server error. Please see server or PHP logs for error information.":"\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0435 \u043b\u043e\u0433 \u043e\u0448\u0438\u0431\u043e\u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u043b\u0438 PHP.","Inclusion: @value":"\u
10412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435: @value","Priority: @value":"\u041f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442: @value","Previous page":"\u2190","Resume":"\u0420\u0435\u0437\u044e\u043c\u0435","The response failed verification so will not be processed.":"\u041e\u0442\u0432\u0435\u0442 \u043d\u0435 \u043f\u0440\u043e\u0448\u0435\u043b \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u0431\u0443\u0434\u0435\u0442.","The callback URL is not local and not trusted: !url":"URL-\u0430\u0434\u0440\u0435\u0441 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0432\u044b\u0437\u043e\u0432\u0430 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u0438 \u0434\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u043c: !url","CustomMessage: !customMessage":"\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435: !customMessage","Outbound links":"\u0418\u0441\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0441\u0441\u044b\u043b\u043a\u0438","Recent":"\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439","No results":"\u041d\u0435\u0442 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u0432","clear":"\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c","Modules installed within the last week.":"\u041c\u043e\u0434\u0443\u043b\u0438, \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043d\u0435\u0434\u0435\u043b\u044e.","No modules added within the last week.":"\u041d\u0435\u0442 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043d\u0435\u0434\u0435\u043b\u044e.","Modules enabled\/disabled within the last week.":"\u041c\u043e\u0434\u0443\u043b\u0438, \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u044b\u0435\/\u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0435 \u0437\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044e\u044e \u043d\u0435\u0434\u0435\u043b\u044e.","No modules were enabled or disabled within the last week.":"\u041d\u0435\u0442 \u043c\u043e\u0434\u0443\u043b\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u044b\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0438\u043b\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u043d\u0435\u0434\u0435\u043b\u0438.","@enabled of @total":"@enabled \u0438\u0437 @total","Using defaults":"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e","Show description":"\u041f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435","Hide description":"\u0421\u043a\u0440\u044b\u0442\u044c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435"}} };;
2/*!
3	Colorbox 1.6.4
4	license: MIT
5	http://www.jacklmoore.com/colorbox
6*/
7(function(t,e,i){function n(i,n,o){var r=e.createElement(i);return n&&(r.id=Z+n),o&&(r.style.cssText=o),t(r)}function o(){return i.innerHeight?i.innerHeight:t(i).height()}function r(e,i){i!==Object(i)&&(i={}),this.cache={},this.el=e,this.value=function(e){var n;return void 0===this.cache[e]&&(n=t(this.el).attr("data-cbox-"+e),void 0!==n?this.cache[e]=n:void 0!==i[e]?this.cache[e]=i[e]:void 0!==X[e]&&(this.cache[e]=X[e])),this.cache[e]},this.get=function(e){var i=this.value(e);return t.isFunction(i)?i.call(this.el,this):i}}function h(t){var e=W.length,i=(A+t)%e;return 0>i?e+i:i}function a(t,e){return Math.round((/%/.test(t)?("x"===e?E.width():o())/100:1)*parseInt(t,10))}function s(t,e){return t.get("photo")||t.get("photoRegex").test(e)}function l(t,e){return t.get("retinaUrl")&&i.devicePixelRatio>1?e.replace(t.get("photoRegex"),t.get("retinaSuffix")):e}
vendor: 8,653 bytes, line 7
7function d(t){"contains"in x[0]&&!x[0].contains(t.target)&&t.target!==v[0]&&(t.stopPropagation(),x.focus())}function c(t){c.str!==t&&(x.add(v).removeClass(c.str).addClass(t),c.str=t)}function g(e){A=0,e&&e!==!1&&"nofollow"!==e?(W=t("."+te).filter(function(){var i=t.data(this,Y),n=new r(this,i);return n.get("rel")===e}),A=W.index(_.el),-1===A&&(W=W.add(_.el),A=W.length-1)):W=t(_.el)}function u(i){t(e).trigger(i),ae.triggerHandler(i)}function f(i){var o;if(!G){if(o=t(i).data(Y),_=new r(i,o),g(_.get("rel")),!U){U=$=!0,c(_.get("className")),x.css({visibility:"hidden",display:"block",opacity:""}),I=n(se,"LoadedContent","width:0; height:0; overflow:hidden; visibility:hidden"),b.css({width:"",height:""}).append(I),j=T.height()+k.height()+b.outerHeight(!0)-b.height(),D=C.width()+H.width()+b.outerWidth(!0)-b.width(),N=I.outerHeight(!0),z=I.outerWidth(!0);var h=a(_.get("initialWidth"),"x"),s=a(_.get("initialHeight"),"y"),l=_.get("maxWidth"),f=_.get("maxHeight");_.w=Math.max((l!==!1?Math.min(h,a(l,"x")):h)-z-D,0),_.h=Math.max((f!==!1?Math.min(s,a(f,"y")):s)-N-j,0),I.css({width:"",height:_.h}),J.position(),u(ee),_.get("onOpen"),O.add(F).hide(),x.focus(),_.get("trapFocus")&&e.addEventListener&&(e.addEventListener("focus",d,!0),ae.one(re,function(){e.removeEventListener("focus",d,!0)})),_.get("returnFocus")&&ae.one(re,function(){t(_.el).focus()})}var p=parseFloat(_.get("opacity"));v.css({opacity:p===p?p:"",cursor:_.get("overlayClose")?"pointer":"",visibility:"visible"}).show(),_.get("closeButton")?B.html(_.get("close")).appendTo(b):B.appendTo("<div/>"),w()}}function p(){x||(V=!1,E=t(i),x=n(se).attr({id:Y,"class":t.support.opacity===!1?Z+"IE":"",role:"dialog",tabindex:"-1"}).hide(),v=n(se,"Overlay").hide(),L=t([n(se,"LoadingOverlay")[0],n(se,"LoadingGraphic")[0]]),y=n(se,"Wrapper"),b=n(se,"Content").append(F=n(se,"Title"),R=n(se,"Current"),P=t('<button type="button"/>').attr({id:Z+"Previous"}),K=t('<button type="button"/>').attr({id:Z+"Next"}),S=t('<button type="button"/>').attr({id:Z+"Slideshow"}),L),B=t('<button type="button"/>').attr({id:Z+"Close"}),y.append(n(se).append(n(se,"TopLeft"),T=n(se,"TopCenter"),n(se,"TopRight")),n(se,!1,"clear:left").append(C=n(se,"MiddleLeft"),b,H=n(se,"MiddleRight")),n(se,!1,"clear:left").append(n(se,"BottomLeft"),k=n(se,"BottomCenter"),n(se,"BottomRight"))).find("div div").css({"float":"left"}),M=n(se,!1,"position:absolute; width:9999px; visibility:hidden; display:none; max-width:none;"),O=K.add(P).add(R).add(S)),e.body&&!x.parent().length&&t(e.body).append(v,x.append(y,M))}function m(){function i(t){t.which>1||t.shiftKey||t.altKey||t.metaKey||t.ctrlKey||(t.preventDefault(),f(this))}return x?(V||(V=!0,K.click(function(){J.next()}),P.click(function(){J.prev()}),B.click(function(){J.close()}),v.click(function(){_.get("overlayClose")&&J.close()}),t(e).bind("keydown."+Z,function(t){var e=t.keyCode;U&&_.get("escKey")&&27===e&&(t.preventDefault(),J.close()),U&&_.get("arrowKey")&&W[1]&&!t.altKey&&(37===e?(t.preventDefault(),P.click()):39===e&&(t.preventDefault(),K.click()))}),t.isFunction(t.fn.on)?t(e).on("click."+Z,"."+te,i):t("."+te).live("click."+Z,i)),!0):!1}function w(){var e,o,r,h=J.prep,d=++le;if($=!0,q=!1,u(he),u(ie),_.get("onLoad"),_.h=_.get("height")?a(_.get("height"),"y")-N-j:_.get("innerHeight")&&a(_.get("innerHeight"),"y"),_.w=_.get("width")?a(_.get("width"),"x")-z-D:_.get("innerWidth")&&a(_.get("innerWidth"),"x"),_.mw=_.w,_.mh=_.h,_.get("maxWidth")&&(_.mw=a(_.get("maxWidth"),"x")-z-D,_.mw=_.w&&_.w<_.mw?_.w:_.mw),_.get("maxHeight")&&(_.mh=a(_.get("maxHeight"),"y")-N-j,_.mh=_.h&&_.h<_.mh?_.h:_.mh),e=_.get("href"),Q=setTimeout(function(){L.show()},100),_.get("inline")){var c=t(e).eq(0);r=t("<div>").hide().insertBefore(c),ae.one(he,function(){r.replaceWith(c)}),h(c)}else _.get("iframe")?h(" "):_.get("html")?h(_.get("html")):s(_,e)?(e=l(_,e),q=_.get("createImg"),t(q).addClass(Z+"Photo").bind("error."+Z,function(){h(n(se,"Error").html(_.get("imgError")))}).one("load",function(){d===le&&setTimeout(function(){var e;_.get("retinaImage")&&i.devicePixelRatio>1&&(q.height=q.height/i.devicePixelRatio,q.width=q.width/i.devicePixelRatio),_.get("scalePhotos")&&(o=function(){q.height-=q.height*e,q.width-=q.width*e},_.mw&&q.width>_.mw&&(e=(q.width-_.mw)/q.width,o()),_.mh&&q.height>_.mh&&(e=(q.height-_.mh)/q.height,o())),_.h&&(q.style.marginTop=Math.max(_.mh-q.height,0)/2+"px"),W[1]&&(_.get("loop")||W[A+1])&&(q.style.cursor="pointer",t(q).bind("click."+Z,function(){J.next()})),q.style.width=q.width+"px",q.style.height=q.height+"px",h(q)},1)}),q.src=e):e&&M.load(e,_.get("data"),function(e,i){d===le&&h("error"===i?n(se,"Error").html(_.get("xhrError")):t(this).contents())})}var v,x,y,b,T,C,H,k,W,E,I,M,L,F,R,S,K,P,B,O,_,j,D,N,z,A,q,U,$,G,Q,J,V,X={html:!1,photo:!1,iframe:!1,inline:!1,transition:"elastic",speed:300,fadeOut:300,width:!1,initialWidth:"600",innerWidth:!1,maxWidth:!1,height:!1,initialHeight:"450",innerHeight:!1,maxHeight:!1,scalePhotos:!0,scrolling:!0,opacity:.9,preloading:!0,className:!1,overlayClose:!0,escKey:!0,arrowKey:!0,top:!1,bottom:!1,left:!1,right:!1,fixed:!1,data:void 0,closeButton:!0,fastIframe:!0,open:!1,reposition:!0,loop:!0,slideshow:!1,slideshowAuto:!0,slideshowSpeed:2500,slideshowStart:"start slideshow",slideshowStop:"stop slideshow",photoRegex:/\.(gif|png|jp(e|g|eg)|bmp|ico|webp|jxr|svg)((#|\?).*)?$/i,retinaImage:!1,retinaUrl:!1,retinaSuffix:"@2x.$1",current:"image {current} of {total}",previous:"previous",next:"next",close:"close",xhrError:"This content failed to load.",imgError:"This image failed to load.",returnFocus:!0,trapFocus:!0,onOpen:!1,onLoad:!1,onComplete:!1,onCleanup:!1,onClosed:!1,rel:function(){return this.rel},href:function(){return t(this).attr("href")},title:function(){return this.title},createImg:function(){var e=new Image,i=t(this).data("cbox-img-attrs");return"object"==typeof i&&t.each(i,function(t,i){e[t]=i}),e},createIframe:function(){var i=e.createElement("iframe"),n=t(this).data("cbox-iframe-attrs");return"object"==typeof n&&t.each(n,function(t,e){i[t]=e}),"frameBorder"in i&&(i.frameBorder=0),"allowTransparency"in i&&(i.allowTransparency="true"),i.name=(new Date).getTime(),i.allowFullscreen=!0,i}},Y="colorbox",Z="cbox",te=Z+"Element",ee=Z+"_open",ie=Z+"_load",ne=Z+"_complete",oe=Z+"_cleanup",re=Z+"_closed",he=Z+"_purge",ae=t("<a/>"),se="div",le=0,de={},ce=function(){function t(){clearTimeout(h)}function e(){(_.get("loop")||W[A+1])&&(t(),h=setTimeout(J.next,_.get("slideshowSpeed")))}function i(){S.html(_.get("slideshowStop")).unbind(s).one(s,n),ae.bind(ne,e).bind(ie,t),x.removeClass(a+"off").addClass(a+"on")}function n(){t(),ae.unbind(ne,e).unbind(ie,t),S.html(_.get("slideshowStart")).unbind(s).one(s,function(){J.next(),i()}),x.removeClass(a+"on").addClass(a+"off")}function o(){r=!1,S.hide(),t(),ae.unbind(ne,e).unbind(ie,t),x.removeClass(a+"off "+a+"on")}var r,h,a=Z+"Slideshow_",s="click."+Z;return function(){r?_.get("slideshow")||(ae.unbind(oe,o),o()):_.get("slideshow")&&W[1]&&(r=!0,ae.one(oe,o),_.get("slideshowAuto")?i():n(),S.show())}}();t[Y]||(t(p),J=t.fn[Y]=t[Y]=function(e,i){var n,o=this;return e=e||{},t.isFunction(o)&&(o=t("<a/>"),e.open=!0),o[0]?(p(),m()&&(i&&(e.onComplete=i),o.each(function(){var i=t.data(this,Y)||{};t.data(this,Y,t.extend(i,e))}).addClass(te),n=new r(o[0],e),n.get("open")&&f(o[0])),o):o},J.position=function(e,i){function n(){T[0].style.width=k[0].style.width=b[0].style.width=parseInt(x[0].style.width,10)-D+"px",b[0].style.height=C[0].style.height=H[0].style.height=parseInt(x[0].style.height,10)-j+"px"}var r,h,s,l=0,d=0,c=x.offset();if(E.unbind("resize."+Z),x.css({top:-9e4,left:-9e4}),h=E.scrollTop(),s=E.scrollLeft(),_.get("fixed")?(c.top-=h,c.left-=s,x.css({position:"fixed"})):(l=h,d=s,x.css({position:"absolute"})),d+=_.get("right")!==!1?Math.max(E.width()-_.w-z-D-a(_.get("right"),"x"),0):_.get("left")!==!1?a(_.get("left"),"x"):Math.round(Math.max(E.width()-_.w-z-D,0)/2),l+=_.get("bottom")!==!1?Math.max(o()-_.h-N-j-a(_.get("bottom"),"y"),0):_.get("top")!==!1?a(_.get("top"),"y"):Math.round(Math.max(o()-_.h-N-j,0)/2),x.css({top:c.top,left:c.left,visibility:"visible"}),y[0].style.width=y[0].style.height="9999px",r={width:_.w+z+D,height:_.h+N+j,top:l,left:d},e){var g=0;t.each(r,function(t){return r[t]!==de[t]?(g=e,void 0):void 0}),e=g}de=r,e||x.css(r),x.dequeue().animate(r,{duration:e||0,complete:function(){n(),$=!1,y[0].style.width=_.w+z+D+"px",y[0].style.height=_.h+N+j+"px",_.get("reposition")&&setTimeout(function(){E.bind("resize."+Z,J.position)},1),t.isFunction(i)&&i()},step:n})},J.resize=function(t){var e;U&&(t=t||{},t.width&&(_.w=a(t.width,"x")-z-D),t.innerWidth&&(_.w=a(t.innerWidth,"x")),I.css({width:_.w}
7),t.height&&(_.h=a(t.height,"y")-N-j),t.innerHeight&&(_.h=a(t.innerHeight,"y")),t.innerHeight||t.height||(e=I.scrollTop(),I.css({height:"auto"}),_.h=I.height()),I.css({height:_.h}),e&&I.scrollTop(e),J.position("none"===_.get("transition")?0:_.get("speed")))},J.prep=function(i){function o(){return _.w=_.w||I.width(),_.w=_.mw&&_.mw<_.w?_.mw:_.w,_.w}function a(){return _.h=_.h||I.height(),_.h=_.mh&&_.mh<_.h?_.mh:_.h,_.h}if(U){var d,g="none"===_.get("transition")?0:_.get("speed");I.remove(),I=n(se,"LoadedContent").append(i),I.hide().appendTo(M.show()).css({width:o(),overflow:_.get("scrolling")?"auto":"hidden"}).css({height:a()}).prependTo(b),M.hide(),t(q).css({"float":"none"}),c(_.get("className")),d=function(){function i(){t.support.opacity===!1&&x[0].style.removeAttribute("filter")}var n,o,a=W.length;U&&(o=function(){clearTimeout(Q),L.hide(),u(ne),_.get("onComplete")},F.html(_.get("title")).show(),I.show(),a>1?("string"==typeof _.get("current")&&R.html(_.get("current").replace("{current}",A+1).replace("{total}",a)).show(),K[_.get("loop")||a-1>A?"show":"hide"]().html(_.get("next")),P[_.get("loop")||A?"show":"hide"]().html(_.get("previous")),ce(),_.get("preloading")&&t.each([h(-1),h(1)],function(){var i,n=W[this],o=new r(n,t.data(n,Y)),h=o.get("href");h&&s(o,h)&&(h=l(o,h),i=e.createElement("img"),i.src=h)})):O.hide(),_.get("iframe")?(n=_.get("createIframe"),_.get("scrolling")||(n.scrolling="no"),t(n).attr({src:_.get("href"),"class":Z+"Iframe"}).one("load",o).appendTo(I),ae.one(he,function(){n.src="//about:blank"}),_.get("fastIframe")&&t(n).trigger("load")):o(),"fade"===_.get("transition")?x.fadeTo(g,1,i):i())},"fade"===_.get("transition")?x.fadeTo(g,0,function(){J.position(0,d)}):J.position(g,d)}},J.next=function(){!$&&W[1]&&(_.get("loop")||W[A+1])&&(A=h(1),f(W[A]))},J.prev=function(){!$&&W[1]&&(_.get("loop")||A)&&(A=h(-1),f(W[A]))},J.close=function(){U&&!G&&(G=!0,U=!1,u(oe),_.get("onCleanup"),E.unbind("."+Z),v.fadeTo(_.get("fadeOut")||0,0),x.stop().fadeTo(_.get("fadeOut")||0,0,function(){x.hide(),v.hide(),u(he),I.remove(),setTimeout(function(){G=!1,u(re),_.get("onClosed")},1)}))},J.remove=function(){x&&(x.stop(),t[Y].close(),x.stop(!1,!0).remove(),v.remove(),G=!1,x=null,t("."+te).removeData(Y).removeClass(te),t(e).unbind("click."+Z).unbind("keydown."+Z))},J.element=function(){return t(_.el)},J.settings=X)})(jQuery,document,window);;
8/**
9 * @file
10 * Colorbox module init js.
11 */
12
13(function ($) {
14
15Drupal.behaviors.initColorbox = {
16  attach: function (context, settings) {
17    if (!$.isFunction($('a, area, input', context).colorbox) || typeof settings.colorbox === 'undefined') {
18      return;
19    }
20
21    if (settings.colorbox.mobiledetect && window.matchMedia) {
22      // Disable Colorbox for small screens.
23      var mq = window.matchMedia("(max-device-width: " + settings.colorbox.mobiledevicewidth + ")");
24      if (mq.matches) {
25        return;
26      }
27    }
28
29    // Use "data-colorbox-gallery" if set otherwise use "rel".
30    settings.colorbox.rel = function () {
31      if ($(this).data('colorbox-gallery')) {
32        return $(this).data('colorbox-gallery');
33      }
34      else {
35        return $(this).attr('rel');
36      }
37    };
38
39    $('.colorbox', context)
40      .once('init-colorbox').each(function(){
41        // Only images are supported for the "colorbox" class.
42        // The "photo" setting forces the href attribute to be treated as an image.
43        var extendParams = {
44          photo: true
45        };
46        // If a title attribute is supplied, sanitize it.
47        var title = $(this).attr('title');
48        if (title) {
49          extendParams.title = Drupal.colorbox.sanitizeMarkup(title);
50        }
51        $(this).colorbox($.extend({}, settings.colorbox, extendParams));
52      });
53
54    $(context).bind('cbox_complete', function () {
55      Drupal.attachBehaviors($('#cboxLoadedContent'));
56    });
57  }
58};
59
60// Create colorbox namespace if it doesn't exist.
61if (!Drupal.hasOwnProperty('colorbox')) {
62  Drupal.colorbox = {};
63}
64
65/**
66 * Global function to allow sanitizing captions and control strings.
67 *
68 * @param markup
69 *   String containing potential markup.
70 * @return @string
71 *  Sanitized string with potentially dangerous markup removed.
72 */
73Drupal.colorbox.sanitizeMarkup = function(markup) {
74  // If DOMPurify installed, allow some HTML. Otherwise, treat as plain text.
75  if (typeof DOMPurify !== 'undefined') {
76    var purifyConfig = {
77      ALLOWED_TAGS: [
78        'a',
79        'b',
80        'strong',
81        'i',
82        'em',
83        'u',
84        'cite',
85        'code',
86        'br'
87      ],
88      ALLOWED_ATTR: [
89        'href',
90        'hreflang',
91        'title',
92        'target'
93      ]
94    }
95    if (Drupal.settings.hasOwnProperty('dompurify_custom_config')) {
96      purifyConfig = Drupal.settings.dompurify_custom_config;
97    }
98    return DOMPurify.sanitize(markup, purifyConfig);
99  }
100  else {
101    return Drupal.checkPlain(markup);
102  }
103}
104
105})(jQuery);
106;
107/**
108 * @file
109 * Colorbox module style js.
110 */
111
112(function ($) {
113
114Drupal.behaviors.initColorboxDefaultStyle = {
115  attach: function (context, settings) {
116    $(context).bind('cbox_complete', function () {
117      // Only run if there is a title.
118      if ($('#cboxTitle:empty', context).length == false) {
119        $('#cboxLoadedContent img', context).bind('mouseover', function () {
120          $('#cboxTitle', context).slideDown();
121        });
122        $('#cboxOverlay', context).bind('mouseover', function () {
123          $('#cboxTitle', context).slideUp();
124        });
125      }
126      else {
127        $('#cboxTitle', context).hide();
128      }
129    });
130  }
131};
132
133})(jQuery);
134;
135/**
136 * @file
137 * Colorbox module load js.
138 */
139(function ($) {
140
141Drupal.behaviors.initColorboxLoad = {
142  attach: function (context, settings) {
143    if (!$.isFunction($.colorbox) || typeof settings.colorbox === 'undefined') {
144      return;
145    }
146
147    if (settings.colorbox.mobiledetect && window.matchMedia) {
148      // Disable Colorbox for small screens.
149      var mq = window.matchMedia("(max-device-width: " + settings.colorbox.mobiledevicewidth + ")");
150      if (mq.matches) {
151        return;
152      }
153    }
154
155    $.urlParams = function (url) {
156      var p = {},
157          e,
158          a = /\+/g,  // Regex for replacing addition symbol with a space.
159          r = /([^&=]+)=?([^&]*)/g,
160          d = function (s) { return decodeURIComponent(s.replace(a, ' ')); },
161          q = url.split('?');
162      while (e = r.exec(q[1])) {
163        e[1] = d(e[1]);
164        e[2] = d(e[2]);
165        switch (e[2].toLowerCase()) {
166          case 'true':
167          case 'yes':
168            e[2] = true;
169            break;
170          case 'false':
171          case 'no':
172            e[2] = false;
173            break;
174        }
175        if (e[1] == 'width') { e[1] = 'innerWidth'; }
176        if (e[1] == 'height') { e[1] = 'innerHeight'; }
177        if (e[2]) {
178          e[2] = Drupal.checkPlain(e[2]);
179        }
180        p[e[1]] = e[2];
181      }
182      return p;
183    };
184
185    $('.colorbox-load', context)
186      .once('init-colorbox-load', function () {
187        var href = $(this).attr('href');
188
189        var params = $.urlParams(href);
190
191        // Always load in an iframe.
192        params.iframe = true;
193
194        // Set inner width and height if not already specified.
195        if (!params.hasOwnProperty('innerWidth')) {
196          params.innerWidth = $(window).width() * .8;
197        }
198        if (!params.hasOwnProperty('innerHeight')) {
199          params.innerHeight = $(window).height() * .8;
200        }
201
202        if (!params.hasOwnProperty('title')) {
203          // If a title attribute is supplied, sanitize it.
204          var title = $(this).attr('title');
205          if (title) {
206            params.title = Drupal.colorbox.sanitizeMarkup(title);
207          }
208        }
209        $(this).colorbox($.extend({}, settings.colorbox, params));
210      });
211  }
212};
213
214})(jQuery);
215;
216/**
217 * @file
218 * Colorbox module inline js.
219 */
220
221(function ($) {
222
223Drupal.behaviors.initColorboxInline = {
224  attach: function (context, settings) {
225    if (!$.isFunction($.colorbox) || typeof settings.colorbox === 'undefined') {
226      return;
227    }
228
229    if (settings.colorbox.mobiledetect && window.matchMedia) {
230      // Disable Colorbox for small screens.
231      var mq = window.matchMedia("(max-device-width: " + settings.colorbox.mobiledevicewidth + ")");
232      if (mq.matches) {
233        return;
234      }
235    }
236
237    $.urlParam = function(name, url){
238      if (name == 'fragment') {
239        var results = new RegExp('(#[^&#]*)').exec(url);
240      }
241      else {
242        var results = new RegExp('[\\?&]' + name + '=([^&#]*)').exec(url);
243      }
244      if (!results) { return ''; }
245      return results[1] || '';
246    };
247    $('.colorbox-inline', context).once('init-colorbox-inline').colorbox({
248      transition:settings.colorbox.transition,
249      speed:settings.colorbox.speed,
250      opacity:settings.colorbox.opacity,
251      slideshow:settings.colorbox.slideshow,
252      slideshowAuto:settings.colorbox.slideshowAuto,
253      slideshowSpeed:settings.colorbox.slideshowSpeed,
254      slideshowStart:settings.colorbox.slideshowStart,
255      slideshowStop:settings.colorbox.slideshowStop,
256      current:settings.colorbox.current,
257      previous:settings.colorbox.previous,
258      next:settings.colorbox.next,
259      close:settings.colorbox.close,
260      overlayClose:settings.colorbox.overlayClose,
261      maxWidth:settings.colorbox.maxWidth,
262      maxHeight:settings.colorbox.maxHeight,
263      innerWidth:function(){
264        return $.urlParam('width', $(this).attr('href'));
265      },
266      innerHeight:function(){
267        return $.urlParam('height', $(this).attr('href'));
268      },
269      title:function(){
270        return Drupal.colorbox.sanitizeMarkup(
271          decodeURIComponent($.urlParam('title', $(this).attr('href'))));
272      },
273      iframe:function(){
274        return $.urlParam('iframe', $(this).attr('href'));
275      },
276      inline:function(){
277        return $.urlParam('inline', $(this).attr('href'));
278      },
279      href:function(){
280        return $.urlParam('fragment', $(this).attr('href'));
281      }
282    });
283  }
284};
285
286})(jQuery);
287;
288/**
289 * @file views_load_more.js
290 *
291 * Handles the AJAX pager for the view_load_more plugin.
292 */
293(function ($) {
294
295  /**
296   * Provide a series of commands that the server can request the client perform.
297   */
298  Drupal.ajax.prototype.commands.viewsLoadMoreAppend = function (ajax, response, status) {
299    // Get information from the response. If it is not there, default to
300    // our presets.
301    var wrapper = response.selector ? $(response.selector) : $(ajax.wrapper);
302    var method = response.method || ajax.method;
303    var targetList = response.targetList || '';
304    var effect = ajax.getEffect(response);
305    var pager_selector = response.options.pager_selector ? response.options.pager_selector : '.pager-load-more';
306
307    // We don't know what response.data contains: it might be a string of text
308    // without HTML, so don't rely on jQuery correctly iterpreting
309    // $(response.data) as new HTML rather than a CSS selector. Also, if
310    // response.data contains top-level text nodes, they get lost with either
311    // $(response.data) or $('<div></div>').replaceWith(response.data).
312    var new_content_wrapped = $('<div></div>').html(response.data);
313    var new_content = new_content_wrapped.contents();
314
315    // For legacy reasons, the effects processing code assumes that new_content
316    // consists of a single top-level element. Also, it has not been
317    // sufficiently tested whether attachBehaviors() can be successfully called
318    // with a context object that includes top-level text nodes. However, to
319    // give developers full control of the HTML appearing in the page, and to
320    // enable Ajax content to be inserted in places where DIV elements are not
321    // allowed (e.g., within TABLE, TR, and SPAN parents), we check if the new
322    // content satisfies the requirement of a single top-level element, and
323    // only use the container DIV created above when it doesn't. For more
324    // information, please see http://drupal.org/node/736066.
325    if (new_content.length != 1 || new_content.get(0).nodeType != 1) {
326      new_content = new_content_wrapped;
327    }
328    // If removing content from the wrapper, detach behaviors first.
329    var settings = response.settings || ajax.settings || Drupal.settings;
330    Drupal.detachBehaviors(wrapper, settings);
331    if ($.waypoints != undefined) {
332      $.waypoints('refresh');
333    }
334
335    // Set up our default query options. This is for advance users that might
336    // change there views layout classes. This allows them to write there own
337    // jquery selector to replace the content with.
338    // Provide sensible defaults for unordered list, ordered list and table
339    // view styles.
340    var content_query = targetList && !response.options.content ? '> .view-content ' + targetList : response.options.content || '> .view-content';
341
342    // If we're using any effects. Hide the new content before adding it to the DOM.
343    if (effect.showEffect != 'show') {
344      new_content.find(content_query).children().hide();
345    }
346
347    // Update the pager
348    // Find both for the wrapper as the newly loaded content the direct child
349    // .item-list in case of nested pagers
350    wrapper.find(pager_selector).replaceWith(new_content.find(pager_selector));
351
352    // Add the new content to the page.
353    wrapper.find(content_query)[method](new_content.find(content_query).children());
354
355    // Re-class the loaded content.
356    // @todo this is faulty in many ways.  first of which is that user may have configured view to not have these classes at all.
357    wrapper.find(content_query).children()
358      .removeClass('views-row-first views-row-last views-row-odd views-row-even')
359      .filter(':first')
360        .addClass('views-row-first')
361        .end()
362      .filter(':last')
363        .addClass('views-row-last')
364        .end()
365      .filter(':even')
366        .addClass('views-row-odd')
367        .end()
368      .filter(':odd')
369        .addClass('views-row-even')
370        .end();
371
372    if (effect.showEffect != 'show') {
373      wrapper.find(content_query).children(':not(:visible)')[effect.showEffect](effect.showSpeed);
374    }
375
376    // Additional processing over new content
377    wrapper.trigger('views_load_more.new_content', new_content.clone());
378
379    // Attach all JavaScript behaviors to the new content
380    // Remove the Jquery once Class, TODO: There needs to be a better
381    // way of doing this, look at .removeOnce() :-/
382    var classes = wrapper.attr('class');
383    var onceClass = classes.match(/jquery-once-[0-9]*-[a-z]*/);
384    wrapper.removeClass(onceClass[0]);
385    settings = response.settings || ajax.settings || Drupal.settings;
386    Drupal.attachBehaviors(wrapper, settings);
387  };
388
389  /**
390   * Attaches the AJAX behavior to Views Load More waypoint support.
391   */
392  Drupal.behaviors.ViewsLoadMore = {
393    attach: function (context, settings) {
394      var default_opts = {
395          offset: '100%'
396        };
397
398      if (settings && settings.viewsLoadMore && settings.views && settings.views.ajaxViews) {
399        $.each(settings.viewsLoadMore, function(i, setting) {
400          var view = '.view-id-' + setting.view_name + '.view-display-id-' + setting.view_display_id + ' .pager-next a',
401            opts = {};
402
403          $.extend(opts, default_opts, settings.viewsLoadMore[i].opts);
404
405          $(view).waypoint('destroy');
406          $(view).waypoint(function(event, direction) {
407            $(view).click();
408          }, opts);
409        });
410      }
411    },
412    detach: function (context, settings, trigger) {
413      if (settings && settings.viewsLoadMore && settings.views && settings.views.ajaxViews) {
414        $.each(settings.viewsLoadMore, function(i, setting) {
415          var view = '.view-id-' + setting.view_name + '.view-display-id-' + setting.view_display_id;
416          if ($(context).is(view)) {
417            $('.pager-next a', view).waypoint('destroy');
418          }
419          else {
420            $(view, context).waypoint('destroy');
421          }
422        });
423      }
424    }
425  };
426})(jQuery);
427;
428/**
429 * @file
430 * Some basic behaviors and utility functions for Views.
431 */
432(function ($) {
433
434  Drupal.Views = {};
435
436  /**
437   * JQuery UI tabs, Views integration component.
438   */
439  Drupal.behaviors.viewsTabs = {
440    attach: function (context) {
441      if ($.viewsUi && $.viewsUi.tabs) {
442        $('#views-tabset').once('views-processed').viewsTabs({
443          selectedClass: 'active'
444        });
445      }
446
447      $('a.views-remove-link').once('views-processed').click(function(event) {
448        var id = $(this).attr('id').replace('views-remove-link-', '');
449        $('#views-row-' + id).hide();
450        $('#views-removed-' + id).attr('checked', true);
451        event.preventDefault();
452      });
453      /**
454    * Here is to handle display deletion
455    * (checking in the hidden checkbox and hiding out the row).
456    */
457      $('a.display-remove-link')
458        .addClass('display-processed')
459        .click(function() {
460          var id = $(this).attr('id').replace('display-remove-link-', '');
461          $('#display-row-' + id).hide();
462          $('#display-removed-' + id).attr('checked', true);
463          return false;
464        });
465    }
466  };
467
468  /**
469 * Helper function to parse a querystring.
470 */
471  Drupal.Views.parseQueryString = function (query) {
472    var args = {};
473    var pos = query.indexOf('?');
474    if (pos != -1) {
475      query = query.substring(pos + 1);
476    }
477    var pairs = query.split('&');
478    for (var i in pairs) {
479      if (typeof(pairs[i]) == 'string') {
480        var pair = pairs[i].split('=');
481        // Ignore the 'q' path argument, if present.
482        if (pair[0] != 'q' && pair[1]) {
483          args[decodeURIComponent(pair[0].replace(/\+/g, ' '))] = decodeURIComponent(pair[1].replace(/\+/g, ' '));
484        }
485      }
486    }
487    return args;
488  };
489
490  /**
491 * Helper function to return a view's arguments based on a path.
492 */
493  Drupal.Views.parseViewArgs = function (href, viewPath) {
494
495    // Provide language prefix.
496    if (Drupal.settings.pathPrefix) {
497      var viewPath = Drupal.settings.pathPrefix + viewPath;
498    }
499    var returnObj = {};
500    var path = Drupal.Views.getPath(href);
501    // Ensure we have a correct path.
502    if (viewPath && path.substring(0, viewPath.length + 1) == viewPath + '/') {
503      var args = decodeURIComponent(path.substring(viewPath.length + 1, path.length));
504      returnObj.view_args = args;
505      returnObj.view_path = path;
506    }
507    return returnObj;
508  };
509
510  /**
511 * Strip off the protocol plus domain from an href.
512 */
513  Drupal.Views.pathPortion = function (href) {
514    // Remove e.g. http://example.com if present.
515    var protocol = window.location.protocol;
516    if (href.substring(0, protocol.length) == protocol) {
517      // 2 is the length of the '//' that normally follows the protocol.
518      href = href.substring(href.indexOf('/', protocol.length + 2));
519    }
520    return href;
521  };
522
523  /**
524 * Return the Drupal path portion of an href.
525 */
526  Drupal.Views.getPath = function (href) {
527    href = Drupal.Views.pathPortion(href);
528    href = href.substring(Drupal.settings.basePath.length, href.length);
529    // 3 is the length of the '?q=' added to the url without clean urls.
530    if (href.substring(0, 3) == '?q=') {
531      href = href.substring(3, href.length);
532    }
533    var chars = ['#', '?', '&'];
534    for (var i in chars) {
535      if (href.indexOf(chars[i]) > -1) {
536        href = href.substr(0, href.indexOf(chars[i]));
537      }
538    }
539    return href;
540  };
541
542})(jQuery);
543;
544(function ($) {
545
546/**
547 * A progressbar object. Initialized with the given id. Must be inserted into
548 * the DOM afterwards through progressBar.element.
549 *
550 * method is the function which will perform the HTTP request to get the
551 * progress bar state. Either "GET" or "POST".
552 *
553 * e.g. pb = new progressBar('myProgressBar');
554 *      some_element.appendChild(pb.element);
555 */
556Drupal.progressBar = function (id, updateCallback, method, errorCallback) {
557  var pb = this;
558  this.id = id;
559  this.method = method || 'GET';
560  this.updateCallback = updateCallback;
561  this.errorCallback = errorCallback;
562
563  // The WAI-ARIA setting aria-live="polite" will announce changes after users
564  // have completed their current activity and not interrupt the screen reader.
565  this.element = $('<div class="progress" aria-live="polite"></div>').attr('id', id);
566  this.element.html('<div class="bar"><div class="filled"></div></div>' +
567                    '<div class="percentage"></div>' +
568                    '<div class="message">&nbsp;</div>');
569};
570
571/**
572 * Set the percentage and status message for the progressbar.
573 */
574Drupal.progressBar.prototype.setProgress = function (percentage, message) {
575  if (percentage >= 0 && percentage <= 100) {
576    $('div.filled', this.element).css('width', percentage + '%');
577    $('div.percentage', this.element).html(percentage + '%');
578  }
579  $('div.message', this.element).html(message);
580  if (this.updateCallback) {
581    this.updateCallback(percentage, message, this);
582  }
583};
584
585/**
586 * Start monitoring progress via Ajax.
587 */
588Drupal.progressBar.prototype.startMonitoring = function (uri, delay) {
589  this.delay = delay;
590  this.uri = uri;
591  this.sendPing();
592};
593
594/**
595 * Stop monitoring progress via Ajax.
596 */
597Drupal.progressBar.prototype.stopMonitoring = function () {
598  clearTimeout(this.timer);
599  // This allows monitoring to be stopped from within the callback.
600  this.uri = null;
601};
602
603/**
604 * Request progress data from server.
605 */
606Drupal.progressBar.prototype.sendPing = function () {
607  if (this.timer) {
608    clearTimeout(this.timer);
609  }
610  if (this.uri) {
611    var pb = this;
612    // When doing a post request, you need non-null data. Otherwise a
613    // HTTP 411 or HTTP 406 (with Apache mod_security) error may result.
614    $.ajax({
615      type: this.method,
616      url: this.uri,
617      data: '',
618      dataType: 'json',
619      success: function (progress) {
620        // Display errors.
621        if (progress.status == 0) {
622          pb.displayError(progress.data);
623          return;
624        }
625        // Update display.
626        pb.setProgress(progress.percentage, progress.message);
627        // Schedule next timer.
628        pb.timer = setTimeout(function () { pb.sendPing(); }, pb.delay);
629      },
630      error: function (xmlhttp) {
631        pb.displayError(Drupal.ajaxError(xmlhttp, pb.uri));
632      }
633    });
634  }
635};
636
637/**
638 * Display errors on the page.
639 */
640Drupal.progressBar.prototype.displayError = function (string) {
641  var error = $('<div class="messages error"></div>').html(string);
642  $(this.element).before(error).hide();
643
644  if (this.errorCallback) {
645    this.errorCallback(this);
646  }
647};
648
649})(jQuery);
650;
651/**
652 * @file
653 * Handles AJAX fetching of views, including filter submission and response.
654 */
655(function ($) {
656
657  /**
658   * Attaches the AJAX behavior to exposed filter forms and key views links.
659   */
660  Drupal.behaviors.ViewsAjaxView = {};
661  Drupal.behaviors.ViewsAjaxView.attach = function() {
662    if (Drupal.settings && Drupal.settings.views && Drupal.settings.views.ajaxViews) {
663      $.each(Drupal.settings.views.ajaxViews, function(i, settings) {
664        Drupal.views.instances[i] = new Drupal.views.ajaxView(settings);
665      });
666    }
667  };
668
669  Drupal.views = {};
670  Drupal.views.instances = {};
671
672  /**
673   * JavaScript object for a certain view.
674   */
675  Drupal.views.ajaxView = function(settings) {
676    var selector = '.view-dom-id-' + settings.view_dom_id;
677    this.$view = $(selector);
678
679    // Retrieve the path to use for views' ajax.
680    var ajax_path = Drupal.settings.views.ajax_path;
681
682    // If there are multiple views this might've ended up showing up multiple
683    // times.
684    if (ajax_path.constructor.toString().indexOf("Array") != -1) {
685      ajax_path = ajax_path[0];
686    }
687
688    // Check if there are any GET parameters to send to views.
689    var queryString = window.location.search || '';
690    if (queryString !== '') {
691      // Remove the question mark and Drupal path component if any.
692      var queryString = queryString.slice(1).replace(/q=[^&]+&?|&?render=[^&]+/, '');
693      if (queryString !== '') {
694        // If there is a '?' in ajax_path, clean url are on and & should be
695        // used to add parameters.
696        queryString = ((/\?/.test(ajax_path)) ? '&' : '?') + queryString;
697      }
698    }
699
700    this.element_settings = {
701      url: ajax_path + queryString,
702      submit: settings,
703      setClick: true,
704      event: 'click',
705      selector: selector,
706      progress: {
707        type: 'throbber'
708      }
709    };
710
711    this.settings = settings;
712
713    // Add the ajax to exposed forms.
714    this.$exposed_form = $('#views-exposed-form-' + settings.view_name.replace(/_/g, '-') + '-' + settings.view_display_id.replace(/_/g, '-'));
715    this.$exposed_form.once(jQuery.proxy(this.attachExposedFormAjax, this));
716
717    // Store Drupal.ajax objects here for all pager links.
718    this.links = [];
719
720    // Add the ajax to pagers.
721    this.$view
722      .once(jQuery.proxy(this.attachPagerAjax, this));
723
724    // Add a trigger to update this view specifically. In order to trigger a
725    // refresh use the following code.
726    //
727    // @code
728    // jQuery('.view-name').trigger('RefreshView');
729    // @endcode
730    // Add a trigger to update this view specifically.
731    var self_settings = this.element_settings;
732    self_settings.event = 'RefreshView';
733    var self = this;
734    this.$view.once('refresh', function () {
735      self.refreshViewAjax = new Drupal.ajax(self.selector, self.$view, self_settings);
736    });
737  };
738
739  Drupal.views.ajaxView.prototype.attachExposedFormAjax = function() {
740    var button = $('input[type=submit], button[type=submit], input[type=image]', this.$exposed_form);
741    button = button[0];
742
743    // Call the autocomplete submit before doing AJAX.
744    $(button).click(function () {
745      if (Drupal.autocompleteSubmit) {
746        Drupal.autocompleteSubmit();
747      }
748    });
749
750    this.exposedFormAjax = new Drupal.ajax($(button).attr('id'), button, this.element_settings);
751  };
752
753  /**
754   * Attach the ajax behavior to each link.
755   */
756  Drupal.views.ajaxView.prototype.attachPagerAjax = function() {
757    this.$view.find('ul.pager > li > a, ol.pager > li > a, th.views-field a, .attachment .views-summary a')
758      .each(jQuery.proxy(this.attachPagerLinkAjax, this));
759  };
760
761  /**
762   * Attach the ajax behavior to a single link.
763   */
764  Drupal.views.ajaxView.prototype.attachPagerLinkAjax = function(id, link) {
765    var $link = $(link);
766    var viewData = {};
767    var href = $link.attr('href');
768    // Don't attach to pagers inside nested views.
769    if ($link.closest('.view')[0] !== this.$view[0] &&
770      $link.closest('.view').parent().hasClass('attachment') === false) {
771      return;
772    }
773
774    // Provide a default page if none has been set. This must be done
775    // prior to merging with settings to avoid accidentally using the
776    // page landed on instead of page 1.
777    if (typeof(viewData.page) === 'undefined') {
778      viewData.page = 0;
779    }
780
781    // Construct an object using the settings defaults and then overriding
782    // with data specific to the link.
783    $.extend(
784      viewData,
785      this.settings,
786      Drupal.Views.parseQueryString(href),
787      // Extract argument data from the URL.
788      Drupal.Views.parseViewArgs(href, this.settings.view_base_path)
789    );
790
791    // For anchor tags, these will go to the target of the anchor rather
792    // than the usual location.
793    $.extend(viewData, Drupal.Views.parseViewArgs(href, this.settings.view_base_path));
794
795    this.element_settings.submit = viewData;
796    this.pagerAjax = new Drupal.ajax(false, $link, this.element_settings);
797    this.links.push(this.pagerAjax);
798  };
799
800  Drupal.ajax.prototype.commands.viewsScrollTop = function (ajax, response, status) {
801    // Scroll to the top of the view. This will allow users
802    // to browse newly loaded content after e.g. clicking a pager
803    // link.
804    var offset = $(response.selector).offset();
805    // We can't guarantee that the scrollable object should be
806    // the body, as the view could be embedded in something
807    // more complex such as a modal popup. Recurse up the DOM
808    // and scroll the first element that has a non-zero top.
809    var scrollTarget = response.selector;
810    while ($(scrollTarget).scrollTop() == 0 && $(scrollTarget).parent()) {
811      scrollTarget = $(scrollTarget).parent();
812    }
813    // Only scroll upward.
814    if (offset.top - 10 < $(scrollTarget).scrollTop()) {
815      $(scrollTarget).animate({scrollTop: (offset.top - 10)}, 500);
816    }
817  };
818
819})(jQuery);
820;
821(function ($) {
822
823Drupal.googleanalytics = {};
824
825$(document).ready(function() {
826
827  // Attach mousedown, keyup, touchstart events to document only and catch
828  // clicks on all elements.
829  $(document.body).bind("mousedown keyup touchstart", function(event) {
830
831    // Catch the closest surrounding link of a clicked element.
832    $(event.target).closest("a,area").each(function() {
833
834      // Is the clicked URL internal?
835      if (Drupal.googleanalytics.isInternal(this.href)) {
836        // Skip 'click' tracking, if custom tracking events are bound.
837        if ($(this).is('.colorbox') && (Drupal.settings.googleanalytics.trackColorbox)) {
838          // Do nothing here. The custom event will handle all tracking.
839          //console.info("Click on .colorbox item has been detected.");
840        }
841        // Is download tracking activated and the file extension configured for download tracking?
842        else if (Drupal.settings.googleanalytics.trackDownload && Drupal.googleanalytics.isDownload(this.href)) {
843          // Download link clicked.
844          ga("send", {
845            "hitType": "event",
846            "eventCategory": "Downloads",
847            "eventAction": Drupal.googleanalytics.getDownloadExtension(this.href).toUpperCase(),
848            "eventLabel": Drupal.googleanalytics.getPageUrl(this.href),
849            "transport": "beacon"
850          });
851        }
852        else if (Drupal.googleanalytics.isInternalSpecial(this.href)) {
853          // Keep the internal URL for Google Analytics website overlay intact.
854          ga("send", {
855            "hitType": "pageview",
856            "page": Drupal.googleanalytics.getPageUrl(this.href),
857            "transport": "beacon"
858          });
859        }
860      }
861      else {
862        if (Drupal.settings.googleanalytics.trackMailto && $(this).is("a[href^='mailto:'],area[href^='mailto:']")) {
863          // Mailto link clicked.
864          ga("send", {
865            "hitType": "event",
866            "eventCategory": "Mails",
867            "eventAction": "Click",
868            "eventLabel": this.href.substring(7),
869            "transport": "beacon"
870          });
871        }
872        else if (Drupal.settings.googleanalytics.trackOutbound && this.href.match(/^\w+:\/\//i)) {
873          if (Drupal.settings.googleanalytics.trackDomainMode !== 2 || (Drupal.settings.googleanalytics.trackDomainMode === 2 && !Drupal.googleanalytics.isCrossDomain(this.hostname, Drupal.settings.googleanalytics.trackCrossDomains))) {
874            // External link clicked / No top-level cross domain clicked.
875            ga("send", {
876              "hitType": "event",
877              "eventCategory": "Outbound links",
878              "eventAction": "Click",
879              "eventLabel": this.href,
880              "transport": "beacon"
881            });
882          }
883        }
884      }
885    });
886  });
887
888  // Track hash changes as unique pageviews, if this option has been enabled.
889  if (Drupal.settings.googleanalytics.trackUrlFragments) {
890    window.onhashchange = function() {
891      ga("send", {
892        "hitType": "pageview",
893        "page": location.pathname + location.search + location.hash
894      });
895    };
896  }
897
898  // Colorbox: This event triggers when the transition has completed and the
899  // newly loaded content has been revealed.
900  if (Drupal.settings.googleanalytics.trackColorbox) {
901    $(document).bind("cbox_complete", function () {
902      var href = $.colorbox.element().attr("href");
903      if (href) {
904        ga("send", {
905          "hitType": "pageview",
906          "page": Drupal.googleanalytics.getPageUrl(href)
907        });
908      }
909    });
910  }
911
912});
913
914/**
915 * Check whether the hostname is part of the cross domains or not.
916 *
917 * @param string hostname
918 *   The hostname of the clicked URL.
919 * @param array crossDomains
920 *   All cross domain hostnames as JS array.
921 *
922 * @return boolean
923 */
924Drupal.googleanalytics.isCrossDomain = function (hostname, crossDomains) {
925  /**
926   * jQuery < 1.6.3 bug: $.inArray crushes IE6 and Chrome if second argument is
927   * `null` or `undefined`, https://bugs.jquery.com/ticket/10076,
928   * https://github.com/jquery/jquery/commit/a839af034db2bd934e4d4fa6758a3fed8de74174
929   *
930   * @todo: Remove/Refactor in D8
931   */
932  if (!crossDomains) {
933    return false;
934  }
935  else {
936    return $.inArray(hostname, crossDomains) > -1 ? true : false;
937  }
938};
939
940/**
941 * Check whether this is a download URL or not.
942 *
943 * @param string url
944 *   The web url to check.
945 *
946 * @return boolean
947 */
948Drupal.googleanalytics.isDownload = function (url) {
949  var isDownload = new RegExp("\\.(" + Drupal.settings.googleanalytics.trackDownloadExtensions + ")([\?#].*)?$", "i");
950  return isDownload.test(url);
951};
952
953/**
954 * Check whether this is an absolute internal URL or not.
955 *
956 * @param string url
957 *   The web url to check.
958 *
959 * @return boolean
960 */
961Drupal.googleanalytics.isInternal = function (url) {
962  var isInternal = new RegExp("^(https?):\/\/" + window.location.host, "i");
963  return isInternal.test(url);
964};
965
966/**
967 * Check whether this is a special URL or not.
968 *
969 * URL types:
970 *  - gotwo.module /go/* links.
971 *
972 * @param string url
973 *   The web url to check.
974 *
975 * @return boolean
976 */
977Drupal.googleanalytics.isInternalSpecial = function (url) {
978  var isInternalSpecial = new RegExp("(\/go\/.*)$", "i");
979  return isInternalSpecial.test(url);
980};
981
982/**
983 * Extract the relative internal URL from an absolute internal URL.
984 *
985 * Examples:
986 * - https://mydomain.com/node/1 -> /node/1
987 * - https://example.com/foo/bar -> https://example.com/foo/bar
988 *
989 * @param string url
990 *   The web url to check.
991 *
992 * @return string
993 *   Internal website URL
994 */
995Drupal.googleanalytics.getPageUrl = function (url) {
996  var extractInternalUrl = new RegExp("^(https?):\/\/" + window.location.host, "i");
997  return url.replace(extractInternalUrl, '');
998};
999
1000/**
1001 * Extract the download file extension from the URL.
1002 *
1003 * @param string url
1004 *   The web url to check.
1005 *
1006 * @return string
1007 *   The file extension of the passed url. e.g. "zip", "txt"
1008 */
1009Drupal.googleanalytics.getDownloadExtension = function (url) {
1010  var extractDownloadextension = new RegExp("\\.(" + Drupal.settings.googleanalytics.trackDownloadExtensions + ")([\?#].*)?$", "i");
1011  var extension = extractDownloadextension.exec(url);
1012  return (extension === null) ? '' : extension[1];
1013};
1014
1015})(jQuery);
1016;

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.