Overview

URL school1.pit.su/
IP195.62.78.7
ASNAS47259 PE Fedorov Pavel Vladimirovich
Location Russian Federation
Report completed2017-08-30 20:30:38 CEST
StatusLoading report..
urlQuery Alerts No alerts detected


Settings

UserAgentMozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Referer
Pool
Access Level


Intrusion Detection Systems

Suricata /w Emerging Threats Pro
Timestamp Severity Source IP Destination IP Alert
2017-08-30 20:29:05 CEST 1 Client IP  195.62.78.7 ET POLICY HTTP Request to .su TLD (Soviet Union) Often Malware Related
2017-08-30 20:29:02 CEST 1 Client IP  195.62.78.7 ET POLICY HTTP Request to .su TLD (Soviet Union) Often Malware Related
2017-08-30 20:29:02 CEST 1 Client IP  195.62.78.7 ET POLICY HTTP Request to .su TLD (Soviet Union) Often Malware Related


Blacklists

MDL  No alerts detected
OpenPhish  No alerts detected
PhishTank  No alerts detected
Fortinet's Web Filter  No alerts detected
DNS-BH  No alerts detected
mnemonic secure dns  No alerts detected


Recent reports on same IP/ASN/Domain

Last 4 reports on IP: 195.62.78.7

Date UQ / IDS / BL URL IP
2018-05-16 17:39:05 +0200
0 - 6 - 13 pit.su/ 195.62.78.7
2018-05-07 18:09:13 +0200
0 - 4 - 0 pit.su/ 195.62.78.7
2017-12-30 09:57:59 +0100
0 - 5 - 0 pit.su/ 195.62.78.7
2017-11-19 10:48:34 +0100
0 - 2 - 0 risti.pit.su/ 195.62.78.7

Last 4 reports on ASN: AS47259 PE Fedorov Pavel Vladimirovich

Date UQ / IDS / BL URL IP
2018-05-16 17:39:05 +0200
0 - 6 - 13 pit.su/ 195.62.78.7
2018-05-07 18:09:13 +0200
0 - 4 - 0 pit.su/ 195.62.78.7
2017-12-30 09:57:59 +0100
0 - 5 - 0 pit.su/ 195.62.78.7
2017-11-19 10:48:34 +0100
0 - 2 - 0 risti.pit.su/ 195.62.78.7

No other reports on domain: pit.su



JavaScript

Executed Scripts (10)


Executed Evals (1)

#1 JavaScript::Eval (size: 58886, repeated: 1) - SHA256: bbfed1ac0d641800237e52a740eb94b7335d0326948313c9b8e3cae0557d3611

                                        if (!hs) {
    var hs = {
        lang: {
            cssDirection: 'ltr',
            loadingText: 'Loading...',
            loadingTitle: 'Click to cancel',
            focusTitle: 'Click to bring to front',
            fullExpandTitle: 'Expand to actual size (f)',
            creditsText: 'Powered by <i>Highslide JS</i>',
            creditsTitle: 'Go to the Highslide JS homepage',
            previousText: 'Previous',
            nextText: 'Next',
            moveText: 'Move',
            closeText: 'Close',
            closeTitle: 'Close (esc)',
            resizeTitle: 'Resize',
            playText: 'Play',
            playTitle: 'Play slideshow (spacebar)',
            pauseText: 'Pause',
            pauseTitle: 'Pause slideshow (spacebar)',
            previousTitle: 'Previous (arrow left)',
            nextTitle: 'Next (arrow right)',
            moveTitle: 'Move',
            fullExpandText: '1:1',
            number: 'Image %1 of %2',
            restoreTitle: 'Click to close image, click and drag to move. Use arrow keys for next and previous.'
        },
        graphicsDir: 'highslide/graphics/',
        expandCursor: 'zoomin.cur',
        restoreCursor: 'zoomout.cur',
        expandDuration: 250,
        restoreDuration: 250,
        marginLeft: 15,
        marginRight: 15,
        marginTop: 15,
        marginBottom: 15,
        zIndexCounter: 1001,
        loadingOpacity: 0.75,
        allowMultipleInstances: true,
        numberOfImagesToPreload: 5,
        outlineWhileAnimating: 2,
        outlineStartOffset: 3,
        padToMinWidth: false,
        fullExpandPosition: 'bottom right',
        fullExpandOpacity: 1,
        showCredits: true,
        creditsHref: 'http://highslide.com/',
        creditsTarget: '_self',
        enableKeyListener: true,
        openerTagNames: ['a'],
        transitions: [],
        transitionDuration: 250,
        dimmingOpacity: 0,
        dimmingDuration: 50,
        anchor: 'auto',
        align: 'auto',
        targetX: null,
        targetY: null,
        dragByHeading: true,
        minWidth: 200,
        minHeight: 200,
        allowSizeReduction: true,
        outlineType: 'drop-shadow',
        skin: {
            controls: '<div class="highslide-controls"><ul>' + '<li class="highslide-previous">' + '<a href="#" title="{hs.lang.previousTitle}">' + '<span>{hs.lang.previousText}</span></a>' + '</li>' + '<li class="highslide-play">' + '<a href="#" title="{hs.lang.playTitle}">' + '<span>{hs.lang.playText}</span></a>' + '</li>' + '<li class="highslide-pause">' + '<a href="#" title="{hs.lang.pauseTitle}">' + '<span>{hs.lang.pauseText}</span></a>' + '</li>' + '<li class="highslide-next">' + '<a href="#" title="{hs.lang.nextTitle}">' + '<span>{hs.lang.nextText}</span></a>' + '</li>' + '<li class="highslide-move">' + '<a href="#" title="{hs.lang.moveTitle}">' + '<span>{hs.lang.moveText}</span></a>' + '</li>' + '<li class="highslide-full-expand">' + '<a href="#" title="{hs.lang.fullExpandTitle}">' + '<span>{hs.lang.fullExpandText}</span></a>' + '</li>' + '<li class="highslide-close">' + '<a href="#" title="{hs.lang.closeTitle}" >' + '<span>{hs.lang.closeText}</span></a>' + '</li>' + '</ul></div>'
        },
        preloadTheseImages: [],
        continuePreloading: true,
        expanders: [],
        overrides: ['allowSizeReduction', 'useBox', 'anchor', 'align', 'targetX', 'targetY', 'outlineType', 'outlineWhileAnimating', 'captionId', 'captionText', 'captionEval', 'captionOverlay', 'headingId', 'headingText', 'headingEval', 'headingOverlay', 'creditsPosition', 'dragByHeading', 'autoplay', 'numberPosition', 'transitions', 'dimmingOpacity', 'width', 'height', 'wrapperClassName', 'minWidth', 'minHeight', 'maxWidth', 'maxHeight', 'pageOrigin', 'slideshowGroup', 'easing', 'easingClose', 'fadeInOut', 'src'],
        overlays: [],
        idCounter: 0,
        oPos: {
            x: ['leftpanel', 'left', 'center', 'right', 'rightpanel'],
            y: ['above', 'top', 'middle', 'bottom', 'below']
        },
        mouse: {},
        headingOverlay: {},
        captionOverlay: {},
        timers: [],
        slideshows: [],
        pendingOutlines: {},
        clones: {},
        onReady: [],
        uaVersion: /Trident\/4\.0/.test(navigator.userAgent) ? 8 : parseFloat((navigator.userAgent.toLowerCase().match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1]),
        ie: (document.all && !window.opera),
        safari: /Safari/.test(navigator.userAgent),
        geckoMac: /Macintosh.+rv:1\.[0-8].+Gecko/.test(navigator.userAgent),
        $: function(id) {
            if (id) return document.getElementById(id)
        },
        push: function(arr, val) {
            arr[arr.length] = val
        },
        createElement: function(tag, attribs, styles, parent, nopad) {
            var el = document.createElement(tag);
            if (attribs) hs.extend(el, attribs);
            if (nopad) hs.setStyles(el, {
                padding: 0,
                border: 'none',
                margin: 0
            });
            if (styles) hs.setStyles(el, styles);
            if (parent) parent.appendChild(el);
            return el
        },
        extend: function(el, attribs) {
            for (var x in attribs) el[x] = attribs[x];
            return el
        },
        setStyles: function(el, styles) {
            for (var x in styles) {
                if (hs.ieLt9 && x == 'opacity') {
                    if (styles[x] > 0.99) el.style.removeAttribute('filter');
                    else el.style.filter = 'alpha(opacity=' + (styles[x] * 100) + ')'
                } else el.style[x] = styles[x]
            }
        },
        animate: function(el, prop, opt) {
            var start, end, unit;
            if (typeof opt != 'object' || opt === null) {
                var args = arguments;
                opt = {
                    duration: args[2],
                    easing: args[3],
                    complete: args[4]
                }
            }
            if (typeof opt.duration != 'number') opt.duration = 250;
            opt.easing = Math[opt.easing] || Math.easeInQuad;
            opt.curAnim = hs.extend({}, prop);
            for (var name in prop) {
                var e = new hs.fx(el, opt, name);
                start = parseFloat(hs.css(el, name)) || 0;
                end = parseFloat(prop[name]);
                unit = name != 'opacity' ? 'px' : '';
                e.custom(start, end, unit)
            }
        },
        css: function(el, prop) {
            if (el.style[prop]) {
                return el.style[prop]
            } else if (document.defaultView) {
                return document.defaultView.getComputedStyle(el, null).getPropertyValue(prop)
            } else {
                if (prop == 'opacity') prop = 'filter';
                var val = el.currentStyle[prop.replace(/\-(\w)/g, function(a, b) {
                    return b.toUpperCase()
                })];
                if (prop == 'filter') val = val.replace(/alpha\(opacity=([0-9]+)\)/, function(a, b) {
                    return b / 100
                });
                return val === '' ? 1 : val
            }
        },
        getPageSize: function() {
            var d = document,
                w = window,
                iebody = d.compatMode && d.compatMode != 'BackCompat' ? d.documentElement : d.body,
                ieLt9 = hs.ie && (hs.uaVersion < 9 || typeof pageXOffset == 'undefined');
            var width = ieLt9 ? iebody.clientWidth : (d.documentElement.clientWidth || self.innerWidth),
                height = ieLt9 ? iebody.clientHeight : self.innerHeight;
            hs.page = {
                width: width,
                height: height,
                scrollLeft: ieLt9 ? iebody.scrollLeft : pageXOffset,
                scrollTop: ieLt9 ? iebody.scrollTop : pageYOffset
            };
            return hs.page
        },
        getPosition: function(el) {
            var p = {
                x: el.offsetLeft,
                y: el.offsetTop
            };
            while (el.offsetParent) {
                el = el.offsetParent;
                p.x += el.offsetLeft;
                p.y += el.offsetTop;
                if (el != document.body && el != document.documentElement) {
                    p.x -= el.scrollLeft;
                    p.y -= el.scrollTop
                }
            }
            return p
        },
        expand: function(a, params, custom, type) {
            if (!a) a = hs.createElement('a', null, {
                display: 'none'
            }, hs.container);
            if (typeof a.getParams == 'function') return params;
            try {
                new hs.Expander(a, params, custom);
                return false
            } catch (e) {
                return true
            }
        },
        getElementByClass: function(el, tagName, className) {
            var els = el.getElementsByTagName(tagName);
            for (var i = 0; i < els.length; i++) {
                if ((new RegExp(className)).test(els[i].className)) {
                    return els[i]
                }
            }
            return null
        },
        replaceLang: function(s) {
            s = s.replace(/\s/g, ' ');
            var re = /{hs\.lang\.([^}]+)\}/g,
                matches = s.match(re),
                lang;
            if (matches)
                for (var i = 0; i < matches.length; i++) {
                    lang = matches[i].replace(re, "$1");
                    if (typeof hs.lang[lang] != 'undefined') s = s.replace(matches[i], hs.lang[lang])
                }
            return s
        },
        focusTopmost: function() {
            var topZ = 0,
                topmostKey = -1,
                expanders = hs.expanders,
                exp, zIndex;
            for (var i = 0; i < expanders.length; i++) {
                exp = expanders[i];
                if (exp) {
                    zIndex = exp.wrapper.style.zIndex;
                    if (zIndex && zIndex > topZ) {
                        topZ = zIndex;
                        topmostKey = i
                    }
                }
            }
            if (topmostKey == -1) hs.focusKey = -1;
            else expanders[topmostKey].focus()
        },
        getParam: function(a, param) {
            a.getParams = a.onclick;
            var p = a.getParams ? a.getParams() : null;
            a.getParams = null;
            return (p && typeof p[param] != 'undefined') ? p[param] : (typeof hs[param] != 'undefined' ? hs[param] : null)
        },
        getSrc: function(a) {
            var src = hs.getParam(a, 'src');
            if (src) return src;
            return a.href
        },
        getNode: function(id) {
            var node = hs.$(id),
                clone = hs.clones[id],
                a = {};
            if (!node && !clone) return null;
            if (!clone) {
                clone = node.cloneNode(true);
                clone.id = '';
                hs.clones[id] = clone;
                return node
            } else {
                return clone.cloneNode(true)
            }
        },
        discardElement: function(d) {
            if (d) hs.garbageBin.appendChild(d);
            hs.garbageBin.innerHTML = ''
        },
        dim: function(exp) {
            if (!hs.dimmer) {
                isNew = true;
                hs.dimmer = hs.createElement('div', {
                    className: 'highslide-dimming highslide-viewport-size',
                    owner: '',
                    onclick: function() {
                        hs.close()
                    }
                }, {
                    visibility: 'visible',
                    opacity: 0
                }, hs.container, true);
                if (/(Android|iPad|iPhone|iPod)/.test(navigator.userAgent)) {
                    var body = document.body;

                    function pixDimmerSize() {
                        hs.setStyles(hs.dimmer, {
                            width: body.scrollWidth + 'px',
                            height: body.scrollHeight + 'px'
                        })
                    }
                    pixDimmerSize();
                    hs.addEventListener(window, 'resize', pixDimmerSize)
                }
            }
            hs.dimmer.style.display = '';
            var isNew = hs.dimmer.owner == '';
            hs.dimmer.owner += '|' + exp.key;
            if (isNew) {
                if (hs.geckoMac && hs.dimmingGeckoFix) hs.setStyles(hs.dimmer, {
                    background: 'url(' + hs.graphicsDir + 'geckodimmer.png)',
                    opacity: 1
                });
                else hs.animate(hs.dimmer, {
                    opacity: exp.dimmingOpacity
                }, hs.dimmingDuration)
            }
        },
        undim: function(key) {
            if (!hs.dimmer) return;
            if (typeof key != 'undefined') hs.dimmer.owner = hs.dimmer.owner.replace('|' + key, '');
            if ((typeof key != 'undefined' && hs.dimmer.owner != '') || (hs.upcoming && hs.getParam(hs.upcoming, 'dimmingOpacity'))) return;
            if (hs.geckoMac && hs.dimmingGeckoFix) hs.dimmer.style.display = 'none';
            else hs.animate(hs.dimmer, {
                opacity: 0
            }, hs.dimmingDuration, null, function() {
                hs.dimmer.style.display = 'none'
            })
        },
        transit: function(adj, exp) {
            var last = exp || hs.getExpander();
            exp = last;
            if (hs.upcoming) return false;
            else hs.last = last;
            hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
            try {
                hs.upcoming = adj;
                adj.onclick()
            } catch (e) {
                hs.last = hs.upcoming = null
            }
            try {
                if (!adj || exp.transitions[1] != 'crossfade') exp.close()
            } catch (e) {}
            return false
        },
        previousOrNext: function(el, op) {
            var exp = hs.getExpander(el);
            if (exp) return hs.transit(exp.getAdjacentAnchor(op), exp);
            else return false
        },
        previous: function(el) {
            return hs.previousOrNext(el, -1)
        },
        next: function(el) {
            return hs.previousOrNext(el, 1)
        },
        keyHandler: function(e) {
            if (!e) e = window.event;
            if (!e.target) e.target = e.srcElement;
            if (typeof e.target.form != 'undefined') return true;
            var exp = hs.getExpander();
            var op = null;
            switch (e.keyCode) {
                case 70:
                    if (exp) exp.doFullExpand();
                    return true;
                case 32:
                    op = 2;
                    break;
                case 34:
                case 39:
                case 40:
                    op = 1;
                    break;
                case 8:
                case 33:
                case 37:
                case 38:
                    op = -1;
                    break;
                case 27:
                case 13:
                    op = 0
            }
            if (op !== null) {
                if (op != 2) hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
                if (!hs.enableKeyListener) return true;
                if (e.preventDefault) e.preventDefault();
                else e.returnValue = false;
                if (exp) {
                    if (op == 0) {
                        exp.close()
                    } else if (op == 2) {
                        if (exp.slideshow) exp.slideshow.hitSpace()
                    } else {
                        if (exp.slideshow) exp.slideshow.pause();
                        hs.previousOrNext(exp.key, op)
                    }
                    return false
                }
            }
            return true
        },
        registerOverlay: function(overlay) {
            hs.push(hs.overlays, hs.extend(overlay, {
                hsId: 'hsId' + hs.idCounter++
            }))
        },
        addSlideshow: function(options) {
            var sg = options.slideshowGroup;
            if (typeof sg == 'object') {
                for (var i = 0; i < sg.length; i++) {
                    var o = {};
                    for (var x in options) o[x] = options[x];
                    o.slideshowGroup = sg[i];
                    hs.push(hs.slideshows, o)
                }
            } else {
                hs.push(hs.slideshows, options)
            }
        },
        getWrapperKey: function(element, expOnly) {
            var el, re = /^highslide-wrapper-([0-9]+)$/;
            el = element;
            while (el.parentNode) {
                if (el.hsKey !== undefined) return el.hsKey;
                if (el.id && re.test(el.id)) return el.id.replace(re, "$1");
                el = el.parentNode
            }
            if (!expOnly) {
                el = element;
                while (el.parentNode) {
                    if (el.tagName && hs.isHsAnchor(el)) {
                        for (var key = 0; key < hs.expanders.length; key++) {
                            var exp = hs.expanders[key];
                            if (exp && exp.a == el) return key
                        }
                    }
                    el = el.parentNode
                }
            }
            return null
        },
        getExpander: function(el, expOnly) {
            if (typeof el == 'undefined') return hs.expanders[hs.focusKey] || null;
            if (typeof el == 'number') return hs.expanders[el] || null;
            if (typeof el == 'string') el = hs.$(el);
            return hs.expanders[hs.getWrapperKey(el, expOnly)] || null
        },
        isHsAnchor: function(a) {
            return (a.onclick && a.onclick.toString().replace(/\s/g, ' ').match(/hs.(htmlE|e)xpand/))
        },
        reOrder: function() {
            for (var i = 0; i < hs.expanders.length; i++)
                if (hs.expanders[i] && hs.expanders[i].isExpanded) hs.focusTopmost()
        },
        mouseClickHandler: function(e) {
            if (!e) e = window.event;
            if (e.button > 1) return true;
            if (!e.target) e.target = e.srcElement;
            var el = e.target;
            while (el.parentNode && !(/highslide-(image|move|html|resize)/.test(el.className))) {
                el = el.parentNode
            }
            var exp = hs.getExpander(el);
            if (exp && (exp.isClosing || !exp.isExpanded)) return true;
            if (exp && e.type == 'mousedown') {
                if (e.target.form) return true;
                var match = el.className.match(/highslide-(image|move|resize)/);
                if (match) {
                    hs.dragArgs = {
                        exp: exp,
                        type: match[1],
                        left: exp.x.pos,
                        width: exp.x.size,
                        top: exp.y.pos,
                        height: exp.y.size,
                        clickX: e.clientX,
                        clickY: e.clientY
                    };
                    hs.addEventListener(document, 'mousemove', hs.dragHandler);
                    if (e.preventDefault) e.preventDefault();
                    if (/highslide-(image|html)-blur/.test(exp.content.className)) {
                        exp.focus();
                        hs.hasFocused = true
                    }
                    return false
                }
            } else if (e.type == 'mouseup') {
                hs.removeEventListener(document, 'mousemove', hs.dragHandler);
                if (hs.dragArgs) {
                    if (hs.styleRestoreCursor && hs.dragArgs.type == 'image') hs.dragArgs.exp.content.style.cursor = hs.styleRestoreCursor;
                    var hasDragged = hs.dragArgs.hasDragged;
                    if (!hasDragged && !hs.hasFocused && !/(move|resize)/.test(hs.dragArgs.type)) {
                        exp.close()
                    } else if (hasDragged || (!hasDragged && hs.hasHtmlExpanders)) {
                        hs.dragArgs.exp.doShowHide('hidden')
                    }
                    hs.hasFocused = false;
                    hs.dragArgs = null
                } else if (/highslide-image-blur/.test(el.className)) {
                    el.style.cursor = hs.styleRestoreCursor
                }
            }
            return false
        },
        dragHandler: function(e) {
            if (!hs.dragArgs) return true;
            if (!e) e = window.event;
            var a = hs.dragArgs,
                exp = a.exp;
            a.dX = e.clientX - a.clickX;
            a.dY = e.clientY - a.clickY;
            var distance = Math.sqrt(Math.pow(a.dX, 2) + Math.pow(a.dY, 2));
            if (!a.hasDragged) a.hasDragged = (a.type != 'image' && distance > 0) || (distance > (hs.dragSensitivity || 5));
            if (a.hasDragged && e.clientX > 5 && e.clientY > 5) {
                if (a.type == 'resize') exp.resize(a);
                else {
                    exp.moveTo(a.left + a.dX, a.top + a.dY);
                    if (a.type == 'image') exp.content.style.cursor = 'move'
                }
            }
            return false
        },
        wrapperMouseHandler: function(e) {
            try {
                if (!e) e = window.event;
                var over = /mouseover/i.test(e.type);
                if (!e.target) e.target = e.srcElement;
                if (!e.relatedTarget) e.relatedTarget = over ? e.fromElement : e.toElement;
                var exp = hs.getExpander(e.target);
                if (!exp.isExpanded) return;
                if (!exp || !e.relatedTarget || hs.getExpander(e.relatedTarget, true) == exp || hs.dragArgs) return;
                for (var i = 0; i < exp.overlays.length; i++)(function() {
                    var o = hs.$('hsId' + exp.overlays[i]);
                    if (o && o.hideOnMouseOut) {
                        if (over) hs.setStyles(o, {
                            visibility: 'visible',
                            display: ''
                        });
                        hs.animate(o, {
                            opacity: over ? o.opacity : 0
                        }, o.dur)
                    }
                })()
            } catch (e) {}
        },
        addEventListener: function(el, event, func) {
            if (el == document && event == 'ready') {
                hs.push(hs.onReady, func)
            }
            try {
                el.addEventListener(event, func, false)
            } catch (e) {
                try {
                    el.detachEvent('on' + event, func);
                    el.attachEvent('on' + event, func)
                } catch (e) {
                    el['on' + event] = func
                }
            }
        },
        removeEventListener: function(el, event, func) {
            try {
                el.removeEventListener(event, func, false)
            } catch (e) {
                try {
                    el.detachEvent('on' + event, func)
                } catch (e) {
                    el['on' + event] = null
                }
            }
        },
        preloadFullImage: function(i) {
            if (hs.continuePreloading && hs.preloadTheseImages[i] && hs.preloadTheseImages[i] != 'undefined') {
                var img = document.createElement('img');
                img.onload = function() {
                    img = null;
                    hs.preloadFullImage(i + 1)
                };
                img.src = hs.preloadTheseImages[i]
            }
        },
        preloadImages: function(number) {
            if (number && typeof number != 'object') hs.numberOfImagesToPreload = number;
            var arr = hs.getAnchors();
            for (var i = 0; i < arr.images.length && i < hs.numberOfImagesToPreload; i++) {
                hs.push(hs.preloadTheseImages, hs.getSrc(arr.images[i]))
            }
            if (hs.outlineType) new hs.Outline(hs.outlineType, function() {
                hs.preloadFullImage(0)
            });
            else hs.preloadFullImage(0);
            if (hs.restoreCursor) var cur = hs.createElement('img', {
                src: hs.graphicsDir + hs.restoreCursor
            })
        },
        init: function() {
            if (!hs.container) {
                hs.ieLt7 = hs.ie && hs.uaVersion < 7;
                hs.ieLt9 = hs.ie && hs.uaVersion < 9;
                hs.getPageSize();
                for (var x in hs.langDefaults) {
                    if (typeof hs[x] != 'undefined') hs.lang[x] = hs[x];
                    else if (typeof hs.lang[x] == 'undefined' && typeof hs.langDefaults[x] != 'undefined') hs.lang[x] = hs.langDefaults[x]
                }
                hs.container = hs.createElement('div', {
                    className: 'highslide-container'
                }, {
                    position: 'absolute',
                    left: 0,
                    top: 0,
                    width: '100%',
                    zIndex: hs.zIndexCounter,
                    direction: 'ltr'
                }, document.body, true);
                hs.loading = hs.createElement('a', {
                    className: 'highslide-loading',
                    title: hs.lang.loadingTitle,
                    innerHTML: hs.lang.loadingText,
                    href: 'javascript:;'
                }, {
                    position: 'absolute',
                    top: '-9999px',
                    opacity: hs.loadingOpacity,
                    zIndex: 1
                }, hs.container);
                hs.garbageBin = hs.createElement('div', null, {
                    display: 'none'
                }, hs.container);
                hs.viewport = hs.createElement('div', {
                    className: 'highslide-viewport highslide-viewport-size'
                }, {
                    visibility: (hs.safari && hs.uaVersion < 525) ? 'visible' : 'hidden'
                }, hs.container, 1);
                Math.linearTween = function(t, b, c, d) {
                    return c * t / d + b
                };
                Math.easeInQuad = function(t, b, c, d) {
                    return c * (t /= d) * t + b
                };
                Math.easeOutQuad = function(t, b, c, d) {
                    return -c * (t /= d) * (t - 2) + b
                };
                hs.hideSelects = hs.ieLt7;
                hs.hideIframes = ((window.opera && hs.uaVersion < 9) || navigator.vendor == 'KDE' || (hs.ieLt7 && hs.uaVersion < 5.5))
            }
        },
        ready: function() {
            if (hs.isReady) return;
            hs.isReady = true;
            for (var i = 0; i < hs.onReady.length; i++) hs.onReady[i]()
        },
        updateAnchors: function() {
            var el, els, all = [],
                images = [],
                groups = {},
                re;
            for (var i = 0; i < hs.openerTagNames.length; i++) {
                els = document.getElementsByTagName(hs.openerTagNames[i]);
                for (var j = 0; j < els.length; j++) {
                    el = els[j];
                    re = hs.isHsAnchor(el);
                    if (re) {
                        hs.push(all, el);
                        if (re[0] == 'hs.expand') hs.push(images, el);
                        var g = hs.getParam(el, 'slideshowGroup') || 'none';
                        if (!groups[g]) groups[g] = [];
                        hs.push(groups[g], el)
                    }
                }
            }
            hs.anchors = {
                all: all,
                groups: groups,
                images: images
            };
            return hs.anchors
        },
        getAnchors: function() {
            return hs.anchors || hs.updateAnchors()
        },
        close: function(el) {
            var exp = hs.getExpander(el);
            if (exp) exp.close();
            return false
        }
    };
    hs.fx = function(elem, options, prop) {
        this.options = options;
        this.elem = elem;
        this.prop = prop;
        if (!options.orig) options.orig = {}
    };
    hs.fx.prototype = {
        update: function() {
            (hs.fx.step[this.prop] || hs.fx.step._default)(this);
            if (this.options.step) this.options.step.call(this.elem, this.now, this)
        },
        custom: function(from, to, unit) {
            this.startTime = (new Date()).getTime();
            this.start = from;
            this.end = to;
            this.unit = unit;
            this.now = this.start;
            this.pos = this.state = 0;
            var self = this;

            function t(gotoEnd) {
                return self.step(gotoEnd)
            }
            t.elem = this.elem;
            if (t() && hs.timers.push(t) == 1) {
                hs.timerId = setInterval(function() {
                    var timers = hs.timers;
                    for (var i = 0; i < timers.length; i++)
                        if (!timers[i]()) timers.splice(i--, 1);
                    if (!timers.length) {
                        clearInterval(hs.timerId)
                    }
                }, 13)
            }
        },
        step: function(gotoEnd) {
            var t = (new Date()).getTime();
            if (gotoEnd || t >= this.options.duration + this.startTime) {
                this.now = this.end;
                this.pos = this.state = 1;
                this.update();
                this.options.curAnim[this.prop] = true;
                var done = true;
                for (var i in this.options.curAnim)
                    if (this.options.curAnim[i] !== true) done = false;
                if (done) {
                    if (this.options.complete) this.options.complete.call(this.elem)
                }
                return false
            } else {
                var n = t - this.startTime;
                this.state = n / this.options.duration;
                this.pos = this.options.easing(n, 0, 1, this.options.duration);
                this.now = this.start + ((this.end - this.start) * this.pos);
                this.update()
            }
            return true
        }
    };
    hs.extend(hs.fx, {
        step: {
            opacity: function(fx) {
                hs.setStyles(fx.elem, {
                    opacity: fx.now
                })
            },
            _default: function(fx) {
                try {
                    if (fx.elem.style && fx.elem.style[fx.prop] != null) fx.elem.style[fx.prop] = fx.now + fx.unit;
                    else fx.elem[fx.prop] = fx.now
                } catch (e) {}
            }
        }
    });
    hs.Outline = function(outlineType, onLoad) {
        this.onLoad = onLoad;
        this.outlineType = outlineType;
        var v = hs.uaVersion,
            tr;
        this.hasAlphaImageLoader = hs.ie && hs.uaVersion < 7;
        if (!outlineType) {
            if (onLoad) onLoad();
            return
        }
        hs.init();
        this.table = hs.createElement('table', {
            cellSpacing: 0
        }, {
            visibility: 'hidden',
            position: 'absolute',
            borderCollapse: 'collapse',
            width: 0
        }, hs.container, true);
        var tbody = hs.createElement('tbody', null, null, this.table, 1);
        this.td = [];
        for (var i = 0; i <= 8; i++) {
            if (i % 3 == 0) tr = hs.createElement('tr', null, {
                height: 'auto'
            }, tbody, true);
            this.td[i] = hs.createElement('td', null, null, tr, true);
            var style = i != 4 ? {
                lineHeight: 0,
                fontSize: 0
            } : {
                position: 'relative'
            };
            hs.setStyles(this.td[i], style)
        }
        this.td[4].className = outlineType + ' highslide-outline';
        this.preloadGraphic()
    };
    hs.Outline.prototype = {
        preloadGraphic: function() {
            var src = hs.graphicsDir + (hs.outlinesDir || "outlines/") + this.outlineType + ".png";
            var appendTo = hs.safari && hs.uaVersion < 525 ? hs.container : null;
            this.graphic = hs.createElement('img', null, {
                position: 'absolute',
                top: '-9999px'
            }, appendTo, true);
            var pThis = this;
            this.graphic.onload = function() {
                pThis.onGraphicLoad()
            };
            this.graphic.src = src
        },
        onGraphicLoad: function() {
            var o = this.offset = this.graphic.width / 4,
                pos = [
                    [0, 0],
                    [0, -4],
                    [-2, 0],
                    [0, -8], 0, [-2, -8],
                    [0, -2],
                    [0, -6],
                    [-2, -2]
                ],
                dim = {
                    height: (2 * o) + 'px',
                    width: (2 * o) + 'px'
                };
            for (var i = 0; i <= 8; i++) {
                if (pos[i]) {
                    if (this.hasAlphaImageLoader) {
                        var w = (i == 1 || i == 7) ? '100%' : this.graphic.width + 'px';
                        var div = hs.createElement('div', null, {
                            width: '100%',
                            height: '100%',
                            position: 'relative',
                            overflow: 'hidden'
                        }, this.td[i], true);
                        hs.createElement('div', null, {
                            filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale, src='" + this.graphic.src + "')",
                            position: 'absolute',
                            width: w,
                            height: this.graphic.height + 'px',
                            left: (pos[i][0] * o) + 'px',
                            top: (pos[i][1] * o) + 'px'
                        }, div, true)
                    } else {
                        hs.setStyles(this.td[i], {
                            background: 'url(' + this.graphic.src + ') ' + (pos[i][0] * o) + 'px ' + (pos[i][1] * o) + 'px'
                        })
                    }
                    if (window.opera && (i == 3 || i == 5)) hs.createElement('div', null, dim, this.td[i], true);
                    hs.setStyles(this.td[i], dim)
                }
            }
            this.graphic = null;
            if (hs.pendingOutlines[this.outlineType]) hs.pendingOutlines[this.outlineType].destroy();
            hs.pendingOutlines[this.outlineType] = this;
            if (this.onLoad) this.onLoad()
        },
        setPosition: function(pos, offset, vis, dur, easing) {
            var exp = this.exp,
                stl = exp.wrapper.style,
                offset = offset || 0,
                pos = pos || {
                    x: exp.x.pos + offset,
                    y: exp.y.pos + offset,
                    w: exp.x.get('wsize') - 2 * offset,
                    h: exp.y.get('wsize') - 2 * offset
                };
            if (vis) this.table.style.visibility = (pos.h >= 4 * this.offset) ? 'visible' : 'hidden';
            hs.setStyles(this.table, {
                left: (pos.x - this.offset) + 'px',
                top: (pos.y - this.offset) + 'px',
                width: (pos.w + 2 * this.offset) + 'px'
            });
            pos.w -= 2 * this.offset;
            pos.h -= 2 * this.offset;
            hs.setStyles(this.td[4], {
                width: pos.w >= 0 ? pos.w + 'px' : 0,
                height: pos.h >= 0 ? pos.h + 'px' : 0
            });
            if (this.hasAlphaImageLoader) this.td[3].style.height = this.td[5].style.height = this.td[4].style.height
        },
        destroy: function(hide) {
            if (hide) this.table.style.visibility = 'hidden';
            else hs.discardElement(this.table)
        }
    };
    hs.Dimension = function(exp, dim) {
        this.exp = exp;
        this.dim = dim;
        this.ucwh = dim == 'x' ? 'Width' : 'Height';
        this.wh = this.ucwh.toLowerCase();
        this.uclt = dim == 'x' ? 'Left' : 'Top';
        this.lt = this.uclt.toLowerCase();
        this.ucrb = dim == 'x' ? 'Right' : 'Bottom';
        this.rb = this.ucrb.toLowerCase();
        this.p1 = this.p2 = 0
    };
    hs.Dimension.prototype = {get: function(key) {
            switch (key) {
                case 'loadingPos':
                    return this.tpos + this.tb + (this.t - hs.loading['offset' + this.ucwh]) / 2;
                case 'loadingPosXfade':
                    return this.pos + this.cb + this.p1 + (this.size - hs.loading['offset' + this.ucwh]) / 2;
                case 'wsize':
                    return this.size + 2 * this.cb + this.p1 + this.p2;
                case 'fitsize':
                    return this.clientSize - this.marginMin - this.marginMax;
                case 'maxsize':
                    return this.get('fitsize') - 2 * this.cb - this.p1 - this.p2;
                case 'opos':
                    return this.pos - (this.exp.outline ? this.exp.outline.offset : 0);
                case 'osize':
                    return this.get('wsize') + (this.exp.outline ? 2 * this.exp.outline.offset : 0);
                case 'imgPad':
                    return this.imgSize ? Math.round((this.size - this.imgSize) / 2) : 0
            }
        },
        calcBorders: function() {
            this.cb = (this.exp.content['offset' + this.ucwh] - this.t) / 2;
            this.marginMax = hs['margin' + this.ucrb]
        },
        calcThumb: function() {
            this.t = this.exp.el[this.wh] ? parseInt(this.exp.el[this.wh]) : this.exp.el['offset' + this.ucwh];
            this.tpos = this.exp.tpos[this.dim];
            this.tb = (this.exp.el['offset' + this.ucwh] - this.t) / 2;
            if (this.tpos == 0 || this.tpos == -1) {
                this.tpos = (hs.page[this.wh] / 2) + hs.page['scroll' + this.uclt]
            }
        },
        calcExpanded: function() {
            var exp = this.exp;
            this.justify = 'auto';
            if (exp.align == 'center') this.justify = 'center';
            else if (new RegExp(this.lt).test(exp.anchor)) this.justify = null;
            else if (new RegExp(this.rb).test(exp.anchor)) this.justify = 'max';
            this.pos = this.tpos - this.cb + this.tb;
            if (this.maxHeight && this.dim == 'x') exp.maxWidth = Math.min(exp.maxWidth || this.full, exp.maxHeight * this.full / exp.y.full);
            this.size = Math.min(this.full, exp['max' + this.ucwh] || this.full);
            this.minSize = exp.allowSizeReduction ? Math.min(exp['min' + this.ucwh], this.full) : this.full;
            if (exp.isImage && exp.useBox) {
                this.size = exp[this.wh];
                this.imgSize = this.full
            }
            if (this.dim == 'x' && hs.padToMinWidth) this.minSize = exp.minWidth;
            this.target = exp['target' + this.dim.toUpperCase()];
            this.marginMin = hs['margin' + this.uclt];
            this.scroll = hs.page['scroll' + this.uclt];
            this.clientSize = hs.page[this.wh]
        },
        setSize: function(i) {
            var exp = this.exp;
            if (exp.isImage && (exp.useBox || hs.padToMinWidth)) {
                this.imgSize = i;
                this.size = Math.max(this.size, this.imgSize);
                exp.content.style[this.lt] = this.get('imgPad') + 'px'
            } else this.size = i;
            exp.content.style[this.wh] = i + 'px';
            exp.wrapper.style[this.wh] = this.get('wsize') + 'px';
            if (exp.outline) exp.outline.setPosition();
            if (this.dim == 'x' && exp.overlayBox) exp.sizeOverlayBox(true);
            if (this.dim == 'x' && exp.slideshow && exp.isImage) {
                if (i == this.full) exp.slideshow.disable('full-expand');
                else exp.slideshow.enable('full-expand')
            }
        },
        setPos: function(i) {
            this.pos = i;
            this.exp.wrapper.style[this.lt] = i + 'px';
            if (this.exp.outline) this.exp.outline.setPosition()
        }
    };
    hs.Expander = function(a, params, custom, contentType) {
        if (document.readyState && hs.ie && !hs.isReady) {
            hs.addEventListener(document, 'ready', function() {
                new hs.Expander(a, params, custom, contentType)
            });
            return
        }
        this.a = a;
        this.custom = custom;
        this.contentType = contentType || 'image';
        this.isImage = !this.isHtml;
        hs.continuePreloading = false;
        this.overlays = [];
        this.last = hs.last;
        hs.last = null;
        hs.init();
        var key = this.key = hs.expanders.length;
        for (var i = 0; i < hs.overrides.length; i++) {
            var name = hs.overrides[i];
            this[name] = params && typeof params[name] != 'undefined' ? params[name] : hs[name]
        }
        if (!this.src) this.src = a.href;
        var el = (params && params.thumbnailId) ? hs.$(params.thumbnailId) : a;
        el = this.thumb = el.getElementsByTagName('img')[0] || el;
        this.thumbsUserSetId = el.id || a.id;
        for (var i = 0; i < hs.expanders.length; i++) {
            if (hs.expanders[i] && hs.expanders[i].a == a && !(this.last && this.transitions[1] == 'crossfade')) {
                hs.expanders[i].focus();
                return false
            }
        }
        if (!hs.allowSimultaneousLoading)
            for (var i = 0; i < hs.expanders.length; i++) {
                if (hs.expanders[i] && hs.expanders[i].thumb != el && !hs.expanders[i].onLoadStarted) {
                    hs.expanders[i].cancelLoading()
                }
            }
        hs.expanders[key] = this;
        if (!hs.allowMultipleInstances && !hs.upcoming) {
            if (hs.expanders[key - 1]) hs.expanders[key - 1].close();
            if (typeof hs.focusKey != 'undefined' && hs.expanders[hs.focusKey]) hs.expanders[hs.focusKey].close()
        }
        this.el = el;
        this.tpos = this.pageOrigin || hs.getPosition(el);
        hs.getPageSize();
        var x = this.x = new hs.Dimension(this, 'x');
        x.calcThumb();
        var y = this.y = new hs.Dimension(this, 'y');
        y.calcThumb();
        this.wrapper = hs.createElement('div', {
            id: 'highslide-wrapper-' + this.key,
            className: 'highslide-wrapper ' + this.wrapperClassName
        }, {
            visibility: 'hidden',
            position: 'absolute',
            zIndex: hs.zIndexCounter += 2
        }, null, true);
        this.wrapper.onmouseover = this.wrapper.onmouseout = hs.wrapperMouseHandler;
        if (this.contentType == 'image' && this.outlineWhileAnimating == 2) this.outlineWhileAnimating = 0;
        if (!this.outlineType || (this.last && this.isImage && this.transitions[1] == 'crossfade')) {
            this[this.contentType + 'Create']()
        } else if (hs.pendingOutlines[this.outlineType]) {
            this.connectOutline();
            this[this.contentType + 'Create']()
        } else {
            this.showLoading();
            var exp = this;
            new hs.Outline(this.outlineType, function() {
                exp.connectOutline();
                exp[exp.contentType + 'Create']()
            })
        }
        return true
    };
    hs.Expander.prototype = {
        error: function(e) {
            if (hs.debug) alert('Line ' + e.lineNumber + ': ' + e.message);
            else window.location.href = this.src
        },
        connectOutline: function() {
            var outline = this.outline = hs.pendingOutlines[this.outlineType];
            outline.exp = this;
            outline.table.style.zIndex = this.wrapper.style.zIndex - 1;
            hs.pendingOutlines[this.outlineType] = null
        },
        showLoading: function() {
            if (this.onLoadStarted || this.loading) return;
            this.loading = hs.loading;
            var exp = this;
            this.loading.onclick = function() {
                exp.cancelLoading()
            };
            var exp = this,
                l = this.x.get('loadingPos') + 'px',
                t = this.y.get('loadingPos') + 'px';
            if (!tgt && this.last && this.transitions[1] == 'crossfade') var tgt = this.last;
            if (tgt) {
                l = tgt.x.get('loadingPosXfade') + 'px';
                t = tgt.y.get('loadingPosXfade') + 'px';
                this.loading.style.zIndex = hs.zIndexCounter++
            }
            setTimeout(function() {
                if (exp.loading) hs.setStyles(exp.loading, {
                    left: l,
                    top: t,
                    zIndex: hs.zIndexCounter++
                })
            }, 100)
        },
        imageCreate: function() {
            var exp = this;
            var img = document.createElement('img');
            this.content = img;
            img.onload = function() {
                if (hs.expanders[exp.key]) exp.contentLoaded()
            };
            if (hs.blockRightClick) img.oncontextmenu = function() {
                return false
            };
            img.className = 'highslide-image';
            hs.setStyles(img, {
                visibility: 'hidden',
                display: 'block',
                position: 'absolute',
                maxWidth: '9999px',
                zIndex: 3
            });
            img.title = hs.lang.restoreTitle;
            if (hs.safari && hs.uaVersion < 525) hs.container.appendChild(img);
            if (hs.ie && hs.flushImgSize) img.src = null;
            img.src = this.src;
            this.showLoading()
        },
        contentLoaded: function() {
            try {
                if (!this.content) return;
                this.content.onload = null;
                if (this.onLoadStarted) return;
                else this.onLoadStarted = true;
                var x = this.x,
                    y = this.y;
                if (this.loading) {
                    hs.setStyles(this.loading, {
                        top: '-9999px'
                    });
                    this.loading = null
                }
                x.full = this.content.width;
                y.full = this.content.height;
                hs.setStyles(this.content, {
                    width: x.t + 'px',
                    height: y.t + 'px'
                });
                this.wrapper.appendChild(this.content);
                hs.container.appendChild(this.wrapper);
                x.calcBorders();
                y.calcBorders();
                hs.setStyles(this.wrapper, {
                    left: (x.tpos + x.tb - x.cb) + 'px',
                    top: (y.tpos + x.tb - y.cb) + 'px'
                });
                this.initSlideshow();
                this.getOverlays();
                var ratio = x.full / y.full;
                x.calcExpanded();
                this.justify(x);
                y.calcExpanded();
                this.justify(y);
                if (this.overlayBox) this.sizeOverlayBox(0, 1);
                if (this.allowSizeReduction) {
                    this.correctRatio(ratio);
                    var ss = this.slideshow;
                    if (ss && this.last && ss.controls && ss.fixedControls) {
                        var pos = ss.overlayOptions.position || '',
                            p;
                        for (var dim in hs.oPos)
                            for (var i = 0; i < 5; i++) {
                                p = this[dim];
                                if (pos.match(hs.oPos[dim][i])) {
                                    p.pos = this.last[dim].pos + (this.last[dim].p1 - p.p1) + (this.last[dim].size - p.size) * [0, 0, .5, 1, 1][i];
                                    if (ss.fixedControls == 'fit') {
                                        if (p.pos + p.size + p.p1 + p.p2 > p.scroll + p.clientSize - p.marginMax) p.pos = p.scroll + p.clientSize - p.size - p.marginMin - p.marginMax - p.p1 - p.p2;
                                        if (p.pos < p.scroll + p.marginMin) p.pos = p.scroll + p.marginMin
                                    }
                                }
                            }
                    }
                    if (this.isImage && this.x.full > (this.x.imgSize || this.x.size)) {
                        this.createFullExpand();
                        if (this.overlays.length == 1) this.sizeOverlayBox()
                    }
                }
                this.show()
            } catch (e) {
                this.error(e)
            }
        },
        justify: function(p, moveOnly) {
            var tgtArr, tgt = p.target,
                dim = p == this.x ? 'x' : 'y';
            if (tgt && tgt.match(/ /)) {
                tgtArr = tgt.split(' ');
                tgt = tgtArr[0]
            }
            if (tgt && hs.$(tgt)) {
                p.pos = hs.getPosition(hs.$(tgt))[dim];
                if (tgtArr && tgtArr[1] && tgtArr[1].match(/^[-]?[0-9]+px$/)) p.pos += parseInt(tgtArr[1]);
                if (p.size < p.minSize) p.size = p.minSize
            } else if (p.justify == 'auto' || p.justify == 'center') {
                var hasMovedMin = false;
                var allowReduce = p.exp.allowSizeReduction;
                if (p.justify == 'center') p.pos = Math.round(p.scroll + (p.clientSize + p.marginMin - p.marginMax - p.get('wsize')) / 2);
                else p.pos = Math.round(p.pos - ((p.get('wsize') - p.t) / 2));
                if (p.pos < p.scroll + p.marginMin) {
                    p.pos = p.scroll + p.marginMin;
                    hasMovedMin = true
                }
                if (!moveOnly && p.size < p.minSize) {
                    p.size = p.minSize;
                    allowReduce = false
                }
                if (p.pos + p.get('wsize') > p.scroll + p.clientSize - p.marginMax) {
                    if (!moveOnly && hasMovedMin && allowReduce) {
                        p.size = Math.min(p.size, p.get(dim == 'y' ? 'fitsize' : 'maxsize'))
                    } else if (p.get('wsize') < p.get('fitsize')) {
                        p.pos = p.scroll + p.clientSize - p.marginMax - p.get('wsize')
                    } else {
                        p.pos = p.scroll + p.marginMin;
                        if (!moveOnly && allowReduce) p.size = p.get(dim == 'y' ? 'fitsize' : 'maxsize')
                    }
                }
                if (!moveOnly && p.size < p.minSize) {
                    p.size = p.minSize;
                    allowReduce = false
                }
            } else if (p.justify == 'max') {
                p.pos = Math.floor(p.pos - p.size + p.t)
            }
            if (p.pos < p.marginMin) {
                var tmpMin = p.pos;
                p.pos = p.marginMin;
                if (allowReduce && !moveOnly) p.size = p.size - (p.pos - tmpMin)
            }
        },
        correctRatio: function(ratio) {
            var x = this.x,
                y = this.y,
                changed = false,
                xSize = Math.min(x.full, x.size),
                ySize = Math.min(y.full, y.size),
                useBox = (this.useBox || hs.padToMinWidth);
            if (xSize / ySize > ratio) {
                xSize = ySize * ratio;
                if (xSize < x.minSize) {
                    xSize = x.minSize;
                    ySize = xSize / ratio
                }
                changed = true
            } else if (xSize / ySize < ratio) {
                ySize = xSize / ratio;
                changed = true
            }
            if (hs.padToMinWidth && x.full < x.minSize) {
                x.imgSize = x.full;
                y.size = y.imgSize = y.full
            } else if (this.useBox) {
                x.imgSize = xSize;
                y.imgSize = ySize
            } else {
                x.size = xSize;
                y.size = ySize
            }
            changed = this.fitOverlayBox(this.useBox ? null : ratio, changed);
            if (useBox && y.size < y.imgSize) {
                y.imgSize = y.size;
                x.imgSize = y.size * ratio
            }
            if (changed || useBox) {
                x.pos = x.tpos - x.cb + x.tb;
                x.minSize = x.size;
                this.justify(x, true);
                y.pos = y.tpos - y.cb + y.tb;
                y.minSize = y.size;
                this.justify(y, true);
                if (this.overlayBox) this.sizeOverlayBox()
            }
        },
        fitOverlayBox: function(ratio, changed) {
            var x = this.x,
                y = this.y;
            if (this.overlayBox) {
                while (y.size > this.minHeight && x.size > this.minWidth && y.get('wsize') > y.get('fitsize')) {
                    y.size -= 10;
                    if (ratio) x.size = y.size * ratio;
                    this.sizeOverlayBox(0, 1);
                    changed = true
                }
            }
            return changed
        },
        show: function() {
            var x = this.x,
                y = this.y;
            this.doShowHide('hidden');
            if (this.slideshow && this.slideshow.thumbstrip) this.slideshow.thumbstrip.selectThumb();
            this.changeSize(1, {
                wrapper: {
                    width: x.get('wsize'),
                    height: y.get('wsize'),
                    left: x.pos,
                    top: y.pos
                },
                content: {
                    left: x.p1 + x.get('imgPad'),
                    top: y.p1 + y.get('imgPad'),
                    width: x.imgSize || x.size,
                    height: y.imgSize || y.size
                }
            }, hs.expandDuration)
        },
        changeSize: function(up, to, dur) {
            var trans = this.transitions,
                other = up ? (this.last ? this.last.a : null) : hs.upcoming,
                t = (trans[1] && other && hs.getParam(other, 'transitions')[1] == trans[1]) ? trans[1] : trans[0];
            if (this[t] && t != 'expand') {
                this[t](up, to);
                return
            }
            if (this.outline && !this.outlineWhileAnimating) {
                if (up) this.outline.setPosition();
                else this.outline.destroy()
            }
            if (!up) this.destroyOverlays();
            var exp = this,
                x = exp.x,
                y = exp.y,
                easing = this.easing;
            if (!up) easing = this.easingClose || easing;
            var after = up ? function() {
                if (exp.outline) exp.outline.table.style.visibility = "visible";
                setTimeout(function() {
                    exp.afterExpand()
                }, 50)
            } : function() {
                exp.afterClose()
            };
            if (up) hs.setStyles(this.wrapper, {
                width: x.t + 'px',
                height: y.t + 'px'
            });
            if (this.fadeInOut) {
                hs.setStyles(this.wrapper, {
                    opacity: up ? 0 : 1
                });
                hs.extend(to.wrapper, {
                    opacity: up
                })
            }
            hs.animate(this.wrapper, to.wrapper, {
                duration: dur,
                easing: easing,
                step: function(val, args) {
                    if (exp.outline && exp.outlineWhileAnimating && args.prop == 'top') {
                        var fac = up ? args.pos : 1 - args.pos;
                        var pos = {
                            w: x.t + (x.get('wsize') - x.t) * fac,
                            h: y.t + (y.get('wsize') - y.t) * fac,
                            x: x.tpos + (x.pos - x.tpos) * fac,
                            y: y.tpos + (y.pos - y.tpos) * fac
                        };
                        exp.outline.setPosition(pos, 0, 1)
                    }
                }
            });
            hs.animate(this.content, to.content, dur, easing, after);
            if (up) {
                this.wrapper.style.visibility = 'visible';
                this.content.style.visibility = 'visible';
                this.a.className += ' highslide-active-anchor'
            }
        },
        fade: function(up, to) {
            this.outlineWhileAnimating = false;
            var exp = this,
                t = up ? hs.expandDuration : 0;
            if (up) {
                hs.animate(this.wrapper, to.wrapper, 0);
                hs.setStyles(this.wrapper, {
                    opacity: 0,
                    visibility: 'visible'
                });
                hs.animate(this.content, to.content, 0);
                this.content.style.visibility = 'visible';
                hs.animate(this.wrapper, {
                    opacity: 1
                }, t, null, function() {
                    exp.afterExpand()
                })
            }
            if (this.outline) {
                this.outline.table.style.zIndex = this.wrapper.style.zIndex;
                var dir = up || -1,
                    offset = this.outline.offset,
                    startOff = up ? 3 : offset,
                    endOff = up ? offset : 3;
                for (var i = startOff; dir * i <= dir * endOff; i += dir, t += 25) {
                    (function() {
                        var o = up ? endOff - i : startOff - i;
                        setTimeout(function() {
                            exp.outline.setPosition(0, o, 1)
                        }, t)
                    })()
                }
            }
            if (up) {} else {
                setTimeout(function() {
                    if (exp.outline) exp.outline.destroy(exp.preserveContent);
                    exp.destroyOverlays();
                    hs.animate(exp.wrapper, {
                        opacity: 0
                    }, hs.restoreDuration, null, function() {
                        exp.afterClose()
                    })
                }, t)
            }
        },
        crossfade: function(up, to, from) {
            if (!up) return;
            var exp = this,
                last = this.last,
                x = this.x,
                y = this.y,
                lastX = last.x,
                lastY = last.y,
                wrapper = this.wrapper,
                content = this.content,
                overlayBox = this.overlayBox;
            hs.removeEventListener(document, 'mousemove', hs.dragHandler);
            hs.setStyles(content, {
                width: (x.imgSize || x.size) + 'px',
                height: (y.imgSize || y.size) + 'px'
            });
            if (overlayBox) overlayBox.style.overflow = 'visible';
            this.outline = last.outline;
            if (this.outline) this.outline.exp = exp;
            last.outline = null;
            var fadeBox = hs.createElement('div', {
                className: 'highslide-' + this.contentType
            }, {
                position: 'absolute',
                zIndex: 4,
                overflow: 'hidden',
                display: 'none'
            });
            var names = {
                oldImg: last,
                newImg: this
            };
            for (var n in names) {
                this[n] = names[n].content.cloneNode(1);
                hs.setStyles(this[n], {
                    position: 'absolute',
                    border: 0,
                    visibility: 'visible'
                });
                fadeBox.appendChild(this[n])
            }
            wrapper.appendChild(fadeBox);
            if (overlayBox) {
                overlayBox.className = '';
                wrapper.appendChild(overlayBox)
            }
            fadeBox.style.display = '';
            last.content.style.display = 'none';
            if (hs.safari && hs.uaVersion < 525) {
                this.wrapper.style.visibility = 'visible'
            }
            hs.animate(wrapper, {
                width: x.size
            }, {
                duration: hs.transitionDuration,
                step: function(val, args) {
                    var pos = args.pos,
                        invPos = 1 - pos;
                    var prop, size = {},
                        props = ['pos', 'size', 'p1', 'p2'];
                    for (var n in props) {
                        prop = props[n];
                        size['x' + prop] = Math.round(invPos * lastX[prop] + pos * x[prop]);
                        size['y' + prop] = Math.round(invPos * lastY[prop] + pos * y[prop]);
                        size.ximgSize = Math.round(invPos * (lastX.imgSize || lastX.size) + pos * (x.imgSize || x.size));
                        size.ximgPad = Math.round(invPos * lastX.get('imgPad') + pos * x.get('imgPad'));
                        size.yimgSize = Math.round(invPos * (lastY.imgSize || lastY.size) + pos * (y.imgSize || y.size));
                        size.yimgPad = Math.round(invPos * lastY.get('imgPad') + pos * y.get('imgPad'))
                    }
                    if (exp.outline) exp.outline.setPosition({
                        x: size.xpos,
                        y: size.ypos,
                        w: size.xsize + size.xp1 + size.xp2 + 2 * x.cb,
                        h: size.ysize + size.yp1 + size.yp2 + 2 * y.cb
                    });
                    last.wrapper.style.clip = 'rect(' + (size.ypos - lastY.pos) + 'px, ' + (size.xsize + size.xp1 + size.xp2 + size.xpos + 2 * lastX.cb - lastX.pos) + 'px, ' + (size.ysize + size.yp1 + size.yp2 + size.ypos + 2 * lastY.cb - lastY.pos) + 'px, ' + (size.xpos - lastX.pos) + 'px)';
                    hs.setStyles(content, {
                        top: (size.yp1 + y.get('imgPad')) + 'px',
                        left: (size.xp1 + x.get('imgPad')) + 'px',
                        marginTop: (y.pos - size.ypos) + 'px',
                        marginLeft: (x.pos - size.xpos) + 'px'
                    });
                    hs.setStyles(wrapper, {
                        top: size.ypos + 'px',
                        left: size.xpos + 'px',
                        width: (size.xp1 + size.xp2 + size.xsize + 2 * x.cb) + 'px',
                        height: (size.yp1 + size.yp2 + size.ysize + 2 * y.cb) + 'px'
                    });
                    hs.setStyles(fadeBox, {
                        width: (size.ximgSize || size.xsize) + 'px',
                        height: (size.yimgSize || size.ysize) + 'px',
                        left: (size.xp1 + size.ximgPad) + 'px',
                        top: (size.yp1 + size.yimgPad) + 'px',
                        visibility: 'visible'
                    });
                    hs.setStyles(exp.oldImg, {
                        top: (lastY.pos - size.ypos + lastY.p1 - size.yp1 + lastY.get('imgPad') - size.yimgPad) + 'px',
                        left: (lastX.pos - size.xpos + lastX.p1 - size.xp1 + lastX.get('imgPad') - size.ximgPad) + 'px'
                    });
                    hs.setStyles(exp.newImg, {
                        opacity: pos,
                        top: (y.pos - size.ypos + y.p1 - size.yp1 + y.get('imgPad') - size.yimgPad) + 'px',
                        left: (x.pos - size.xpos + x.p1 - size.xp1 + x.get('imgPad') - size.ximgPad) + 'px'
                    });
                    if (overlayBox) hs.setStyles(overlayBox, {
                        width: size.xsize + 'px',
                        height: size.ysize + 'px',
                        left: (size.xp1 + x.cb) + 'px',
                        top: (size.yp1 + y.cb) + 'px'
                    })
                },
                complete: function() {
                    wrapper.style.visibility = content.style.visibility = 'visible';
                    content.style.display = 'block';
                    hs.discardElement(fadeBox);
                    exp.afterExpand();
                    last.afterClose();
                    exp.last = null
                }
            })
        },
        reuseOverlay: function(o, el) {
            if (!this.last) return false;
            for (var i = 0; i < this.last.overlays.length; i++) {
                var oDiv = hs.$('hsId' + this.last.overlays[i]);
                if (oDiv && oDiv.hsId == o.hsId) {
                    this.genOverlayBox();
                    oDiv.reuse = this.key;
                    hs.push(this.overlays, this.last.overlays[i]);
                    return true
                }
            }
            return false
        },
        afterExpand: function() {
            this.isExpanded = true;
            this.focus();
            if (this.dimmingOpacity) hs.dim(this);
            if (hs.upcoming && hs.upcoming == this.a) hs.upcoming = null;
            this.prepareNextOutline();
            var p = hs.page,
                mX = hs.mouse.x + p.scrollLeft,
                mY = hs.mouse.y + p.scrollTop;
            this.mouseIsOver = this.x.pos < mX && mX < this.x.pos + this.x.get('wsize') && this.y.pos < mY && mY < this.y.pos + this.y.get('wsize');
            if (this.overlayBox) this.showOverlays()
        },
        prepareNextOutline: function() {
            var key = this.key;
            var outlineType = this.outlineType;
            new hs.Outline(outlineType, function() {
                try {
                    hs.expanders[key].preloadNext()
                } catch (e) {}
            })
        },
        preloadNext: function() {
            var next = this.getAdjacentAnchor(1);
            if (next && next.onclick.toString().match(/hs\.expand/)) var img = hs.createElement('img', {
                src: hs.getSrc(next)
            })
        },
        getAdjacentAnchor: function(op) {
            var current = this.getAnchorIndex(),
                as = hs.anchors.groups[this.slideshowGroup || 'none'];
            if (as && !as[current + op] && this.slideshow && this.slideshow.repeat) {
                if (op == 1) return as[0];
                else if (op == -1) return as[as.length - 1]
            }
            return (as && as[current + op]) || null
        },
        getAnchorIndex: function() {
            var arr = hs.getAnchors().groups[this.slideshowGroup || 'none'];
            if (arr)
                for (var i = 0; i < arr.length; i++) {
                    if (arr[i] == this.a) return i
                }
            return null
        },
        getNumber: function() {
            if (this[this.numberPosition]) {
                var arr = hs.anchors.groups[this.slideshowGroup || 'none'];
                if (arr) {
                    var s = hs.lang.number.replace('%1', this.getAnchorIndex() + 1).replace('%2', arr.length);
                    this[this.numberPosition].innerHTML = '<div class="highslide-number">' + s + '</div>' + this[this.numberPosition].innerHTML
                }
            }
        },
        initSlideshow: function() {
            if (!this.last) {
                for (var i = 0; i < hs.slideshows.length; i++) {
                    var ss = hs.slideshows[i],
                        sg = ss.slideshowGroup;
                    if (typeof sg == 'undefined' || sg === null || sg === this.slideshowGroup) this.slideshow = new hs.Slideshow(this.key, ss)
                }
            } else {
                this.slideshow = this.last.slideshow
            }
            var ss = this.slideshow;
            if (!ss) return;
            var key = ss.expKey = this.key;
            ss.checkFirstAndLast();
            ss.disable('full-expand');
            if (ss.controls) {
                this.createOverlay(hs.extend(ss.overlayOptions || {}, {
                    overlayId: ss.controls,
                    hsId: 'controls',
                    zIndex: 5
                }))
            }
            if (ss.thumbstrip) ss.thumbstrip.add(this);
            if (!this.last && this.autoplay) ss.play(true);
            if (ss.autoplay) {
                ss.autoplay = setTimeout(function() {
                    hs.next(key)
                }, (ss.interval || 500))
            }
        },
        cancelLoading: function() {
            hs.discardElement(this.wrapper);
            hs.expanders[this.key] = null;
            if (hs.upcoming == this.a) hs.upcoming = null;
            hs.undim(this.key);
            if (this.loading) hs.loading.style.left = '-9999px'
        },
        writeCredits: function() {
            if (this.credits) return;
            this.credits = hs.createElement('a', {
                href: hs.creditsHref,
                target: hs.creditsTarget,
                className: 'highslide-credits',
                innerHTML: hs.lang.creditsText,
                title: hs.lang.creditsTitle
            });
            this.createOverlay({
                overlayId: this.credits,
                position: this.creditsPosition || 'top left',
                hsId: 'credits'
            })
        },
        getInline: function(types, addOverlay) {
            for (var i = 0; i < types.length; i++) {
                var type = types[i],
                    s = null;
                if (!this[type + 'Id'] && this.thumbsUserSetId) this[type + 'Id'] = type + '-for-' + this.thumbsUserSetId;
                if (this[type + 'Id']) this[type] = hs.getNode(this[type + 'Id']);
                if (!this[type] && !this[type + 'Text'] && this[type + 'Eval']) try {
                    s = eval(this[type + 'Eval'])
                } catch (e) {}
                if (!this[type] && this[type + 'Text']) {
                    s = this[type + 'Text']
                }
                if (!this[type] && !s) {
                    this[type] = hs.getNode(this.a['_' + type + 'Id']);
                    if (!this[type]) {
                        var next = this.a.nextSibling;
                        while (next && !hs.isHsAnchor(next)) {
                            if ((new RegExp('highslide-' + type)).test(next.className || null)) {
                                if (!next.id) this.a['_' + type + 'Id'] = next.id = 'hsId' + hs.idCounter++;
                                this[type] = hs.getNode(next.id);
                                break
                            }
                            next = next.nextSibling
                        }
                    }
                }
                if (!this[type] && !s && this.numberPosition == type) s = '\n';
                if (!this[type] && s) this[type] = hs.createElement('div', {
                    className: 'highslide-' + type,
                    innerHTML: s
                });
                if (addOverlay && this[type]) {
                    var o = {
                        position: (type == 'heading') ? 'above' : 'below'
                    };
                    for (var x in this[type + 'Overlay']) o[x] = this[type + 'Overlay'][x];
                    o.overlayId = this[type];
                    this.createOverlay(o)
                }
            }
        },
        doShowHide: function(visibility) {
            if (hs.hideSelects) this.showHideElements('SELECT', visibility);
            if (hs.hideIframes) this.showHideElements('IFRAME', visibility);
            if (hs.geckoMac) this.showHideElements('*', visibility)
        },
        showHideElements: function(tagName, visibility) {
            var els = document.getElementsByTagName(tagName);
            var prop = tagName == '*' ? 'overflow' : 'visibility';
            for (var i = 0; i < els.length; i++) {
                if (prop == 'visibility' || (document.defaultView.getComputedStyle(els[i], "").getPropertyValue('overflow') == 'auto' || els[i].getAttribute('hidden-by') != null)) {
                    var hiddenBy = els[i].getAttribute('hidden-by');
                    if (visibility == 'visible' && hiddenBy) {
                        hiddenBy = hiddenBy.replace('[' + this.key + ']', '');
                        els[i].setAttribute('hidden-by', hiddenBy);
                        if (!hiddenBy) els[i].style[prop] = els[i].origProp
                    } else if (visibility == 'hidden') {
                        var elPos = hs.getPosition(els[i]);
                        elPos.w = els[i].offsetWidth;
                        elPos.h = els[i].offsetHeight;
                        if (!this.dimmingOpacity) {
                            var clearsX = (elPos.x + elPos.w < this.x.get('opos') || elPos.x > this.x.get('opos') + this.x.get('osize'));
                            var clearsY = (elPos.y + elPos.h < this.y.get('opos') || elPos.y > this.y.get('opos') + this.y.get('osize'))
                        }
                        var wrapperKey = hs.getWrapperKey(els[i]);
                        if (!clearsX && !clearsY && wrapperKey != this.key) {
                            if (!hiddenBy) {
                                els[i].setAttribute('hidden-by', '[' + this.key + ']');
                                els[i].origProp = els[i].style[prop];
                                els[i].style[prop] = 'hidden'
                            } else if (hiddenBy.indexOf('[' + this.key + ']') == -1) {
                                els[i].setAttribute('hidden-by', hiddenBy + '[' + this.key + ']')
                            }
                        } else if ((hiddenBy == '[' + this.key + ']' || hs.focusKey == wrapperKey) && wrapperKey != this.key) {
                            els[i].setAttribute('hidden-by', '');
                            els[i].style[prop] = els[i].origProp || ''
                        } else if (hiddenBy && hiddenBy.indexOf('[' + this.key + ']') > -1) {
                            els[i].setAttribute('hidden-by', hiddenBy.replace('[' + this.key + ']', ''))
                        }
                    }
                }
            }
        },
        focus: function() {
            this.wrapper.style.zIndex = hs.zIndexCounter += 2;
            for (var i = 0; i < hs.expanders.length; i++) {
                if (hs.expanders[i] && i == hs.focusKey) {
                    var blurExp = hs.expanders[i];
                    blurExp.content.className += ' highslide-' + blurExp.contentType + '-blur';
                    blurExp.content.style.cursor = hs.ieLt7 ? 'hand' : 'pointer';
                    blurExp.content.title = hs.lang.focusTitle
                }
            }
            if (this.outline) this.outline.table.style.zIndex = this.wrapper.style.zIndex - 1;
            this.content.className = 'highslide-' + this.contentType;
            this.content.title = hs.lang.restoreTitle;
            if (hs.restoreCursor) {
                hs.styleRestoreCursor = window.opera ? 'pointer' : 'url(' + hs.graphicsDir + hs.restoreCursor + '), pointer';
                if (hs.ieLt7 && hs.uaVersion < 6) hs.styleRestoreCursor = 'hand';
                this.content.style.cursor = hs.styleRestoreCursor
            }
            hs.focusKey = this.key;
            hs.addEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler)
        },
        moveTo: function(x, y) {
            this.x.setPos(x);
            this.y.setPos(y)
        },
        resize: function(e) {
            var w, h, r = e.width / e.height;
            w = Math.max(e.width + e.dX, Math.min(this.minWidth, this.x.full));
            if (this.isImage && Math.abs(w - this.x.full) < 12) w = this.x.full;
            h = w / r;
            if (h < Math.min(this.minHeight, this.y.full)) {
                h = Math.min(this.minHeight, this.y.full);
                if (this.isImage) w = h * r
            }
            this.resizeTo(w, h)
        },
        resizeTo: function(w, h) {
            this.y.setSize(h);
            this.x.setSize(w);
            this.wrapper.style.height = this.y.get('wsize') + 'px'
        },
        close: function() {
            if (this.isClosing || !this.isExpanded) return;
            if (this.transitions[1] == 'crossfade' && hs.upcoming) {
                hs.getExpander(hs.upcoming).cancelLoading();
                hs.upcoming = null
            }
            this.isClosing = true;
            if (this.slideshow && !hs.upcoming) this.slideshow.pause();
            hs.removeEventListener(document, window.opera ? 'keypress' : 'keydown', hs.keyHandler);
            try {
                this.content.style.cursor = 'default';
                this.changeSize(0, {
                    wrapper: {
                        width: this.x.t,
                        height: this.y.t,
                        left: this.x.tpos - this.x.cb + this.x.tb,
                        top: this.y.tpos - this.y.cb + this.y.tb
                    },
                    content: {
                        left: 0,
                        top: 0,
                        width: this.x.t,
                        height: this.y.t
                    }
                }, hs.restoreDuration)
            } catch (e) {
                this.afterClose()
            }
        },
        createOverlay: function(o) {
            var el = o.overlayId,
                relToVP = (o.relativeTo == 'viewport' && !/panel$/.test(o.position));
            if (typeof el == 'string') el = hs.getNode(el);
            if (o.html) el = hs.createElement('div', {
                innerHTML: o.html
            });
            if (!el || typeof el == 'string') return;
            el.style.display = 'block';
            o.hsId = o.hsId || o.overlayId;
            if (this.transitions[1] == 'crossfade' && this.reuseOverlay(o, el)) return;
            this.genOverlayBox();
            var width = o.width && /^[0-9]+(px|%)$/.test(o.width) ? o.width : 'auto';
            if (/^(left|right)panel$/.test(o.position) && !/^[0-9]+px$/.test(o.width)) width = '200px';
            var overlay = hs.createElement('div', {
                id: 'hsId' + hs.idCounter++,
                hsId: o.hsId
            }, {
                position: 'absolute',
                visibility: 'hidden',
                width: width,
                direction: hs.lang.cssDirection || '',
                opacity: 0
            }, relToVP ? hs.viewport : this.overlayBox, true);
            if (relToVP) overlay.hsKey = this.key;
            overlay.appendChild(el);
            hs.extend(overlay, {
                opacity: 1,
                offsetX: 0,
                offsetY: 0,
                dur: (o.fade === 0 || o.fade === false || (o.fade == 2 && hs.ie)) ? 0 : 250
            });
            hs.extend(overlay, o);
            if (this.gotOverlays) {
                this.positionOverlay(overlay);
                if (!overlay.hideOnMouseOut || this.mouseIsOver) hs.animate(overlay, {
                    opacity: overlay.opacity
                }, overlay.dur)
            }
            hs.push(this.overlays, hs.idCounter - 1)
        },
        positionOverlay: function(overlay) {
            var p = overlay.position || 'middle center',
                relToVP = (overlay.relativeTo == 'viewport'),
                offX = overlay.offsetX,
                offY = overlay.offsetY;
            if (relToVP) {
                hs.viewport.style.display = 'block';
                overlay.hsKey = this.key;
                if (overlay.offsetWidth > overlay.parentNode.offsetWidth) overlay.style.width = '100%'
            } else if (overlay.parentNode != this.overlayBox) this.overlayBox.appendChild(overlay);
            if (/left$/.test(p)) overlay.style.left = offX + 'px';
            if (/center$/.test(p)) hs.setStyles(overlay, {
                left: '50%',
                marginLeft: (offX - Math.round(overlay.offsetWidth / 2)) + 'px'
            });
            if (/right$/.test(p)) overlay.style.right = -offX + 'px';
            if (/^leftpanel$/.test(p)) {
                hs.setStyles(overlay, {
                    right: '100%',
                    marginRight: this.x.cb + 'px',
                    top: -this.y.cb + 'px',
                    bottom: -this.y.cb + 'px',
                    overflow: 'auto'
                });
                this.x.p1 = overlay.offsetWidth
            } else if (/^rightpanel$/.test(p)) {
                hs.setStyles(overlay, {
                    left: '100%',
                    marginLeft: this.x.cb + 'px',
                    top: -this.y.cb + 'px',
                    bottom: -this.y.cb + 'px',
                    overflow: 'auto'
                });
                this.x.p2 = overlay.offsetWidth
            }
            var parOff = overlay.parentNode.offsetHeight;
            overlay.style.height = 'auto';
            if (relToVP && overlay.offsetHeight > parOff) overlay.style.height = hs.ieLt7 ? parOff + 'px' : '100%';
            if (/^top/.test(p)) overlay.style.top = offY + 'px';
            if (/^middle/.test(p)) hs.setStyles(overlay, {
                top: '50%',
                marginTop: (offY - Math.round(overlay.offsetHeight / 2)) + 'px'
            });
            if (/^bottom/.test(p)) overlay.style.bottom = -offY + 'px';
            if (/^above$/.test(p)) {
                hs.setStyles(overlay, {
                    left: (-this.x.p1 - this.x.cb) + 'px',
                    right: (-this.x.p2 - this.x.cb) + 'px',
                    bottom: '100%',
                    marginBottom: this.y.cb + 'px',
                    width: 'auto'
                });
                this.y.p1 = overlay.offsetHeight
            } else if (/^below$/.test(p)) {
                hs.setStyles(overlay, {
                    position: 'relative',
                    left: (-this.x.p1 - this.x.cb) + 'px',
                    right: (-this.x.p2 - this.x.cb) + 'px',
                    top: '100%',
                    marginTop: this.y.cb + 'px',
                    width: 'auto'
                });
                this.y.p2 = overlay.offsetHeight;
                overlay.style.position = 'absolute'
            }
        },
        getOverlays: function() {
            this.getInline(['heading', 'caption'], true);
            this.getNumber();
            if (this.heading && this.dragByHeading) this.heading.className += ' highslide-move';
            if (hs.showCredits) this.writeCredits();
            for (var i = 0; i < hs.overlays.length; i++) {
                var o = hs.overlays[i],
                    tId = o.thumbnailId,
                    sg = o.slideshowGroup;
                if ((!tId && !sg) || (tId && tId == this.thumbsUserSetId) || (sg && sg === this.slideshowGroup)) {
                    this.createOverlay(o)
                }
            }
            var os = [];
            for (var i = 0; i < this.overlays.length; i++) {
                var o = hs.$('hsId' + this.overlays[i]);
                if (/panel$/.test(o.position)) this.positionOverlay(o);
                else hs.push(os, o)
            }
            for (var i = 0; i < os.length; i++) this.positionOverlay(os[i]);
            this.gotOverlays = true
        },
        genOverlayBox: function() {
            if (!this.overlayBox) this.overlayBox = hs.createElement('div', {
                className: this.wrapperClassName
            }, {
                position: 'absolute',
                width: (this.x.size || (this.useBox ? this.width : null) || this.x.full) + 'px',
                height: (this.y.size || this.y.full) + 'px',
                visibility: 'hidden',
                overflow: 'hidden',
                zIndex: hs.ie ? 4 : 'auto'
            }, hs.container, true)
        },
        sizeOverlayBox: function(doWrapper, doPanels) {
            var overlayBox = this.overlayBox,
                x = this.x,
                y = this.y;
            hs.setStyles(overlayBox, {
                width: x.size + 'px',
                height: y.size + 'px'
            });
            if (doWrapper || doPanels) {
                for (var i = 0; i < this.overlays.length; i++) {
                    var o = hs.$('hsId' + this.overlays[i]);
                    var ie6 = (hs.ieLt7 || document.compatMode == 'BackCompat');
                    if (o && /^(above|below)$/.test(o.position)) {
                        if (ie6) {
                            o.style.width = (overlayBox.offsetWidth + 2 * x.cb + x.p1 + x.p2) + 'px'
                        }
                        y[o.position == 'above' ? 'p1' : 'p2'] = o.offsetHeight
                    }
                    if (o && ie6 && /^(left|right)panel$/.test(o.position)) {
                        o.style.height = (overlayBox.offsetHeight + 2 * y.cb) + 'px'
                    }
                }
            }
            if (doWrapper) {
                hs.setStyles(this.content, {
                    top: y.p1 + 'px'
                });
                hs.setStyles(overlayBox, {
                    top: (y.p1 + y.cb) + 'px'
                })
            }
        },
        showOverlays: function() {
            var b = this.overlayBox;
            b.className = '';
            hs.setStyles(b, {
                top: (this.y.p1 + this.y.cb) + 'px',
                left: (this.x.p1 + this.x.cb) + 'px',
                overflow: 'visible'
            });
            if (hs.safari) b.style.visibility = 'visible';
            this.wrapper.appendChild(b);
            for (var i = 0; i < this.overlays.length; i++) {
                var o = hs.$('hsId' + this.overlays[i]);
                o.style.zIndex = o.zIndex || 4;
                if (!o.hideOnMouseOut || this.mouseIsOver) {
                    o.style.visibility = 'visible';
                    hs.setStyles(o, {
                        visibility: 'visible',
                        display: ''
                    });
                    hs.animate(o, {
                        opacity: o.opacity
                    }, o.dur)
                }
            }
        },
        destroyOverlays: function() {
            if (!this.overlays.length) return;
            if (this.slideshow) {
                var c = this.slideshow.controls;
                if (c && hs.getExpander(c) == this) c.parentNode.removeChild(c)
            }
            for (var i = 0; i < this.overlays.length; i++) {
                var o = hs.$('hsId' + this.overlays[i]);
                if (o && o.parentNode == hs.viewport && hs.getExpander(o) == this) hs.discardElement(o)
            }
            hs.discardElement(this.overlayBox)
        },
        createFullExpand: function() {
            if (this.slideshow && this.slideshow.controls) {
                this.slideshow.enable('full-expand');
                return
            }
            this.fullExpandLabel = hs.createElement('a', {
                href: 'javascript:hs.expanders[' + this.key + '].doFullExpand();',
                title: hs.lang.fullExpandTitle,
                className: 'highslide-full-expand'
            });
            this.createOverlay({
                overlayId: this.fullExpandLabel,
                position: hs.fullExpandPosition,
                hideOnMouseOut: true,
                opacity: hs.fullExpandOpacity
            })
        },
        doFullExpand: function() {
            try {
                if (this.fullExpandLabel) hs.discardElement(this.fullExpandLabel);
                this.focus();
                var xSize = this.x.size,
                    ySize = this.y.size;
                this.resizeTo(this.x.full, this.y.full);
                var xpos = this.x.pos - (this.x.size - xSize) / 2;
                if (xpos < hs.marginLeft) xpos = hs.marginLeft;
                var ypos = this.y.pos - (this.y.size - ySize) / 2;
                if (ypos < hs.marginTop) ypos = hs.marginTop;
                this.moveTo(xpos, ypos);
                this.doShowHide('hidden')
            } catch (e) {
                this.error(e)
            }
        },
        afterClose: function() {
            this.a.className = this.a.className.replace('highslide-active-anchor', '');
            this.doShowHide('visible');
            if (this.outline && this.outlineWhileAnimating) this.outline.destroy();
            hs.discardElement(this.wrapper);
            this.destroyOverlays();
            if (!hs.viewport.childNodes.length) hs.viewport.style.display = 'none';
            if (this.dimmingOpacity) hs.undim(this.key);
            hs.expanders[this.key] = null;
            hs.reOrder()
        }
    };
    hs.Slideshow = function(expKey, options) {
        if (hs.dynamicallyUpdateAnchors !== false) hs.updateAnchors();
        this.expKey = expKey;
        for (var x in options) this[x] = options[x];
        if (this.useControls) this.getControls();
        if (this.thumbstrip) this.thumbstrip = hs.Thumbstrip(this)
    };
    hs.Slideshow.prototype = {
        getControls: function() {
            this.controls = hs.createElement('div', {
                innerHTML: hs.replaceLang(hs.skin.controls)
            }, null, hs.container);
            var buttons = ['play', 'pause', 'previous', 'next', 'move', 'full-expand', 'close'];
            this.btn = {};
            var pThis = this;
            for (var i = 0; i < buttons.length; i++) {
                this.btn[buttons[i]] = hs.getElementByClass(this.controls, 'li', 'highslide-' + buttons[i]);
                this.enable(buttons[i])
            }
            this.btn.pause.style.display = 'none'
        },
        checkFirstAndLast: function() {
            if (this.repeat || !this.controls) return;
            var exp = hs.expanders[this.expKey],
                cur = exp.getAnchorIndex(),
                re = /disabled$/;
            if (cur == 0) this.disable('previous');
            else if (re.test(this.btn.previous.getElementsByTagName('a')[0].className)) this.enable('previous');
            if (cur + 1 == hs.anchors.groups[exp.slideshowGroup || 'none'].length) {
                this.disable('next');
                this.disable('play')
            } else if (re.test(this.btn.next.getElementsByTagName('a')[0].className)) {
                this.enable('next');
                this.enable('play')
            }
        },
        enable: function(btn) {
            if (!this.btn) return;
            var sls = this,
                a = this.btn[btn].getElementsByTagName('a')[0],
                re = /disabled$/;
            a.onclick = function() {
                sls[btn]();
                return false
            };
            if (re.test(a.className)) a.className = a.className.replace(re, '')
        },
        disable: function(btn) {
            if (!this.btn) return;
            var a = this.btn[btn].getElementsByTagName('a')[0];
            a.onclick = function() {
                return false
            };
            if (!/disabled$/.test(a.className)) a.className += ' disabled'
        },
        hitSpace: function() {
            if (this.autoplay) this.pause();
            else this.play()
        },
        play: function(wait) {
            if (this.btn) {
                this.btn.play.style.display = 'none';
                this.btn.pause.style.display = ''
            }
            this.autoplay = true;
            if (!wait) hs.next(this.expKey)
        },
        pause: function() {
            if (this.btn) {
                this.btn.pause.style.display = 'none';
                this.btn.play.style.display = ''
            }
            clearTimeout(this.autoplay);
            this.autoplay = null
        },
        previous: function() {
            this.pause();
            hs.previous(this.btn.previous)
        },
        next: function() {
            this.pause();
            hs.next(this.btn.next)
        },
        move: function() {},
        'full-expand': function() {
            hs.getExpander().doFullExpand()
        },
        close: function() {
            hs.close(this.btn.close)
        }
    };
    hs.Thumbstrip = function(slideshow) {
        function add(exp) {
            hs.extend(options || {}, {
                overlayId: dom,
                hsId: 'thumbstrip',
                className: 'highslide-thumbstrip-' + mode + '-overlay ' + (options.className || '')
            });
            if (hs.ieLt7) options.fade = 0;
            exp.createOverlay(options);
            hs.setStyles(dom.parentNode, {
                overflow: 'hidden'
            })
        };

        function scroll(delta) {
            selectThumb(undefined, Math.round(delta * dom[isX ? 'offsetWidth' : 'offsetHeight'] * 0.7))
        };

        function selectThumb(i, scrollBy) {
            if (i === undefined)
                for (var j = 0; j < group.length; j++) {
                    if (group[j] == hs.expanders[slideshow.expKey].a) {
                        i = j;
                        break
                    }
                }
            if (i === undefined) return;
            var as = dom.getElementsByTagName('a'),
                active = as[i],
                cell = active.parentNode,
                left = isX ? 'Left' : 'Top',
                right = isX ? 'Right' : 'Bottom',
                width = isX ? 'Width' : 'Height',
                offsetLeft = 'offset' + left,
                offsetWidth = 'offset' + width,
                overlayWidth = div.parentNode.parentNode[offsetWidth],
                minTblPos = overlayWidth - table[offsetWidth],
                curTblPos = parseInt(table.style[isX ? 'left' : 'top']) || 0,
                tblPos = curTblPos,
                mgnRight = 20;
            if (scrollBy !== undefined) {
                tblPos = curTblPos - scrollBy;
                if (minTblPos > 0) minTblPos = 0;
                if (tblPos > 0) tblPos = 0;
                if (tblPos < minTblPos) tblPos = minTblPos
            } else {
                for (var j = 0; j < as.length; j++) as[j].className = '';
                active.className = 'highslide-active-anchor';
                var activeLeft = i > 0 ? as[i - 1].parentNode[offsetLeft] : cell[offsetLeft],
                    activeRight = cell[offsetLeft] + cell[offsetWidth] + (as[i + 1] ? as[i + 1].parentNode[offsetWidth] : 0);
                if (activeRight > overlayWidth - curTblPos) tblPos = overlayWidth - activeRight;
                else if (activeLeft < -curTblPos) tblPos = -activeLeft
            }
            var markerPos = cell[offsetLeft] + (cell[offsetWidth] - marker[offsetWidth]) / 2 + tblPos;
            hs.animate(table, isX ? {
                left: tblPos
            } : {
                top: tblPos
            }, null, 'easeOutQuad');
            hs.animate(marker, isX ? {
                left: markerPos
            } : {
                top: markerPos
            }, null, 'easeOutQuad');
            scrollUp.style.display = tblPos < 0 ? 'block' : 'none';
            scrollDown.style.display = (tblPos > minTblPos) ? 'block' : 'none'
        };
        var group = hs.anchors.groups[hs.expanders[slideshow.expKey].slideshowGroup || 'none'],
            options = slideshow.thumbstrip,
            mode = options.mode || 'horizontal',
            floatMode = (mode == 'float'),
            tree = floatMode ? ['div', 'ul', 'li', 'span'] : ['table', 'tbody', 'tr', 'td'],
            isX = (mode == 'horizontal'),
            dom = hs.createElement('div', {
                className: 'highslide-thumbstrip highslide-thumbstrip-' + mode,
                innerHTML: '<div class="highslide-thumbstrip-inner">' + '<' + tree[0] + '><' + tree[1] + '></' + tree[1] + '></' + tree[0] + '></div>' + '<div class="highslide-scroll-up"><div></div></div>' + '<div class="highslide-scroll-down"><div></div></div>' + '<div class="highslide-marker"><div></div></div>'
            }, {
                display: 'none'
            }, hs.container),
            domCh = dom.childNodes,
            div = domCh[0],
            scrollUp = domCh[1],
            scrollDown = domCh[2],
            marker = domCh[3],
            table = div.firstChild,
            tbody = dom.getElementsByTagName(tree[1])[0],
            tr;
        for (var i = 0; i < group.length; i++) {
            if (i == 0 || !isX) tr = hs.createElement(tree[2], null, null, tbody);
            (function() {
                var a = group[i],
                    cell = hs.createElement(tree[3], null, null, tr),
                    pI = i;
                hs.createElement('a', {
                    href: a.href,
                    title: a.title,
                    onclick: function() {
                        if (/highslide-active-anchor/.test(this.className)) return false;
                        hs.getExpander(this).focus();
                        return hs.transit(a)
                    },
                    innerHTML: hs.stripItemFormatter ? hs.stripItemFormatter(a) : a.innerHTML
                }, null, cell)
            })()
        }
        if (!floatMode) {
            scrollUp.onclick = function() {
                scroll(-1)
            };
            scrollDown.onclick = function() {
                scroll(1)
            };
            hs.addEventListener(tbody, document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll', function(e) {
                var delta = 0;
                e = e || window.event;
                if (e.wheelDelta) {
                    delta = e.wheelDelta / 120;
                    if (hs.opera) delta = -delta
                } else if (e.detail) {
                    delta = -e.detail / 3
                }
                if (delta) scroll(-delta * 0.2);
                if (e.preventDefault) e.preventDefault();
                e.returnValue = false
            })
        }
        return {
            add: add,
            selectThumb: selectThumb
        }
    };
    hs.langDefaults = hs.lang;
    var HsExpander = hs.Expander;
    if (hs.ie && window == window.top) {
        (function() {
            try {
                document.documentElement.doScroll('left')
            } catch (e) {
                setTimeout(arguments.callee, 50);
                return
            }
            hs.ready()
        })()
    }
    hs.addEventListener(document, 'DOMContentLoaded', hs.ready);
    hs.addEventListener(window, 'load', hs.ready);
    hs.addEventListener(document, 'ready', function() {
        if (hs.expandCursor || hs.dimmingOpacity) {
            var style = hs.createElement('style', {
                    type: 'text/css'
                }, null, document.getElementsByTagName('HEAD')[0]),
                backCompat = document.compatMode == 'BackCompat';

            function addRule(sel, dec) {
                if (hs.ie && (hs.uaVersion < 9 || backCompat)) {
                    var last = document.styleSheets[document.styleSheets.length - 1];
                    if (typeof(last.addRule) == "object") last.addRule(sel, dec)
                } else {
                    style.appendChild(document.createTextNode(sel + " {" + dec + "}"))
                }
            }

            function fix(prop) {
                return 'expression( ( ( ignoreMe = document.documentElement.' + prop + ' ? document.documentElement.' + prop + ' : document.body.' + prop + ' ) ) + \'px\' );'
            }
            if (hs.expandCursor) addRule('.highslide img', 'cursor: url(' + hs.graphicsDir + hs.expandCursor + '), pointer !important;');
            addRule('.highslide-viewport-size', hs.ie && (hs.uaVersion < 7 || backCompat) ? 'position: absolute; ' + 'left:' + fix('scrollLeft') + 'top:' + fix('scrollTop') + 'width:' + fix('clientWidth') + 'height:' + fix('clientHeight') : 'position: fixed; width: 100%; height: 100%; left: 0; top: 0')
        }
    });
    hs.addEventListener(window, 'resize', function() {
        hs.getPageSize();
        if (hs.viewport)
            for (var i = 0; i < hs.viewport.childNodes.length; i++) {
                var node = hs.viewport.childNodes[i],
                    exp = hs.getExpander(node);
                exp.positionOverlay(node);
                if (node.hsId == 'thumbstrip') exp.slideshow.thumbstrip.selectThumb()
            }
    });
    hs.addEventListener(document, 'mousemove', function(e) {
        hs.mouse = {
            x: e.clientX,
            y: e.clientY
        }
    });
    hs.addEventListener(document, 'mousedown', hs.mouseClickHandler);
    hs.addEventListener(document, 'mouseup', hs.mouseClickHandler);
    hs.addEventListener(document, 'ready', hs.getAnchors);
    hs.addEventListener(window, 'load', hs.preloadImages)
}
                                    

Executed Writes (0)



HTTP Transactions (30)


Request Response
                                        
                                            GET / HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
                                        
Date: Wed, 30 Aug 2017 18:29:01 GMT
Server: Apache
X-Powered-By: PHP/5.6.29
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Expires: Wed, 17 Aug 2005 00:00:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0; path=/; HttpOnly
Last-Modified: Wed, 30 Aug 2017 18:29:01 GMT
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 7874
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   7874
Md5:    d4b5b16d24b85b76949f44629b1b11fc
Sha1:   374a7d9515ef901e35217f56da578d44e9b89f9c
Sha256: ad5abe293c96e822d50365d4455a2f05b40036c78bf27b4086dbd3dbce58fb82
                                        
                                            GET /media/plg_content_mavikthumbnails/highslide/highslide.css HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: text/css
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Mon, 10 Apr 2017 11:55:45 GMT
Etag: "3e06a8-536e-54ccea7c2f400"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 3626
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   3626
Md5:    5b211cd9976f44ebaa293c09a5e5873c
Sha1:   2966c3c8cb14b297a2f72c895b9507b26aba5c7a
Sha256: c0d28802ea53d458d817272d8e6fe6553ecbba0091e538adc35e7a12b400bca9
                                        
                                            GET /templates/atr/favicon.ico HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/x-icon
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Thu, 15 Jan 2015 11:57:20 GMT
Etag: "268e7f-47e-50caf8ee90800"
Accept-Ranges: bytes
Content-Length: 1150
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive


--- Additional Info ---
Magic:  MS Windows icon resource - 1 icon
Size:   1150
Md5:    9d793c51f4df3bc3759ad9c6f0fd3eaf
Sha1:   28816be97d246e41607caef159eacc48af60c5d9
Sha256: 43e0ca8b55356115229bb1b8c86739c1ffffefd3c0f0d34eb64767a61bdc5d30
                                        
                                            GET /css?family=Open+Sans HTTP/1.1 
Host: fonts.googleapis.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/

                                         
                                         173.194.221.95
HTTP/1.1 200 OK
Content-Type: text/css; charset=utf-8
                                        
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Expires: Wed, 30 Aug 2017 18:29:02 GMT
Date: Wed, 30 Aug 2017 18:29:02 GMT
Cache-Control: private, max-age=86400
Content-Encoding: gzip
Transfer-Encoding: chunked
Server: ESF
X-XSS-Protection: 1; mode=block
X-Frame-Options: SAMEORIGIN


--- Additional Info ---
Magic:  gzip compressed data, max compression
Size:   214
Md5:    671e18c01647c81afdbcf0042b9a4102
Sha1:   ea2e3112826c48d2c04b18979c8adc030e85ae34
Sha256: ab1bb6c97cb50e4e6d6282aa605478f29568133c9d96cca3d31dc6c1d1964f38
                                        
                                            GET /media/jui/js/jquery-migrate.min.js?219a96d9f6cb23d0d75bfda23e22dc49 HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 04 Jul 2017 06:04:12 GMT
Etag: "3e0057-2748-55377a706af00"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 4014
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   4014
Md5:    a6c81e2f02bd04160d2de88c4e8f3559
Sha1:   e3f3c91427d785820ca97dabe738f01faf041f36
Sha256: b734d83af5da0eb627e04d3e62ce652b9eb7de19667a1b91da6b93f0ea5d7ffe
                                        
                                            GET /media/system/js/caption.js?219a96d9f6cb23d0d75bfda23e22dc49 HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 04 Jul 2017 06:04:12 GMT
Etag: "3a12ad-1eb-55377a706af00"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 336
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   336
Md5:    6d37e4491c806fe1280ea6af868c307c
Sha1:   76bd49025156b7c2507189bb48cc83142e8177dd
Sha256: fcdc70db37bd7884b1b94358f4849eb7e6a88bcafe82c93df635913ae03039cb
                                        
                                            GET /media/jui/js/jquery-noconflict.js?219a96d9f6cb23d0d75bfda23e22dc49 HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 04 Jul 2017 06:04:12 GMT
Etag: "3e0058-15-55377a706af00"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 41
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   41
Md5:    01485065c5c02f7672c39e05953c2df5
Sha1:   cef663f3a9f3da1daa2d696a15c0bdf9dc32589e
Sha256: 1495aee8af6c76c8fa92504d35901431976624359a3feb2cdbf767b0778d2c5c
                                        
                                            GET /templates/atr/js/template.js HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Thu, 15 Jan 2015 11:57:20 GMT
Etag: "2a17e0-53c-50caf8ee90800"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 577
Keep-Alive: timeout=15, max=97
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   577
Md5:    d8acf33b528b5e2918e1267f0944fae3
Sha1:   30194954f817671b4207fc05b1c3c4d5b2807089
Sha256: 64394196773618a559ae59fe6542463f1f2b423b1939188dba098a2de32388ec
                                        
                                            GET /media/system/js/core.js?219a96d9f6cb23d0d75bfda23e22dc49 HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 04 Jul 2017 06:04:12 GMT
Etag: "3a12aa-298d-55377a706af00"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 3582
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   3582
Md5:    966389661943e1b144b14586588348b5
Sha1:   332243416baa5a875604f7813eade46ab93452ea
Sha256: 143492044d5c42a107c15176b4fcd2a276687e3981c5493930bf9ee7ba7ac4f7
                                        
                                            GET /media/jui/js/bootstrap.min.js?219a96d9f6cb23d0d75bfda23e22dc49 HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 04 Jul 2017 06:04:12 GMT
Etag: "3e004c-71e4-55377a706af00"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 7701
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   7701
Md5:    fc8b97507794f272cffac61360a304c0
Sha1:   9ea0634a66aec33fa44b92c71fc09c9fbb37b3d9
Sha256: 1004988d51baf8a1b7a14bd468fc219ecb180644a1baa36076dcb09c440bef19
                                        
                                            GET /media/system/js/keepalive.js?219a96d9f6cb23d0d75bfda23e22dc49 HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 04 Jul 2017 06:04:12 GMT
Etag: "3a0c47-1ce-55377a706af00"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 306
Keep-Alive: timeout=15, max=96
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   306
Md5:    7c38920647aa197ba2edf27e46609d81
Sha1:   c7b76583a40b44919634866261dc4dfa7047c047
Sha256: e1da2a24649323458694f8f4e929487f9953979906a7c1786a59e9f7c4196b56
                                        
                                            GET /media/plg_content_mavikthumbnails/highslide/highslide-with-gallery.packed.js HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Mon, 10 Apr 2017 11:55:45 GMT
Etag: "3e06aa-91b1-54ccea7c2f400"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 17417
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   17417
Md5:    350d26c9a0a2c3bd4ff5cc439ec918e4
Sha1:   2d514e7142fa41828316396923963fa5cf5882c4
Sha256: c8c005a1c55ba84c4f4753b9106b66cd979dcd75faf311b8d623a85c2a671a0f
                                        
                                            GET /templates/atr/css/template.css HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/css,*/*;q=0.1
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: text/css
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 30 May 2017 07:45:25 GMT
Etag: "303b0e-28466-550b8fc9d5b31"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 24325
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   24325
Md5:    5213c39b0c717bb0bfee8455a05716c9
Sha1:   f1a176e0581961e8adc15a9aaadb870ec5d6d547
Sha256: 69659b3ba98091f04f39d934e1df0fe00f804cbec9c53b40f333fa169078cab2

Alerts:
  IDS:
    - ET POLICY HTTP Request to .su TLD (Soviet Union) Often Malware Related
                                        
                                            GET /images/glasses.png HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Mon, 29 May 2017 06:33:52 GMT
Etag: "7250d9-28b6-550a3dedbec12"
Accept-Ranges: bytes
Content-Length: 10422
Keep-Alive: timeout=15, max=97
Connection: Keep-Alive


--- Additional Info ---
Magic:  PNG image, 193 x 135, 8-bit/color RGBA, non-interlaced
Size:   10422
Md5:    ec59f926f14be463e2aede39b859df00
Sha1:   bf3ab0e7d5b8f8d8dac43d2313dbe62a52d07a23
Sha256: 59c1d6bd8324e5a17192eccb04f4e5ce65b1e53bd21a412a61885043c9b15ddf
                                        
                                            GET /images/2.jpg HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 30 May 2017 06:30:44 GMT
Etag: "7250e5-2dfd-550b7f17e2d72"
Accept-Ranges: bytes
Content-Length: 11773
Keep-Alive: timeout=15, max=95
Connection: Keep-Alive


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01
Size:   11773
Md5:    b66d37e078660b0fc513f6c9f11b8985
Sha1:   03b81edfb93ba6b6c3d8c311bf2bf71c3fb59e28
Sha256: a12723d649cf992b89ad2b65ff9ad3b3df0a25d10c06a7ed7a8f8da377bd7566
                                        
                                            GET /media/jui/js/jquery.min.js?219a96d9f6cb23d0d75bfda23e22dc49 HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: */*
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: application/javascript
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 04 Jul 2017 06:04:12 GMT
Etag: "3e005c-17b8b-55377a706af00"
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 33760
Keep-Alive: timeout=15, max=100
Connection: Keep-Alive


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   33760
Md5:    90af67e8fd4d5ab0d104b28b82a5f9e3
Sha1:   0172e38010ebd25ebcb3f0a4094be0e20f72ac48
Sha256: 971b268c15450ab1dded5c1e8e7875660b086b2ca6c45a31ddfa82486b1d06d3
                                        
                                            GET /templates/atr/img/cool.jpg?1 HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Tue, 05 May 2009 20:00:00 GMT
Etag: "2a17ea-143de-4692fb94c3000"
Accept-Ranges: bytes
Content-Length: 82910
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   82910
Md5:    6021ebeeb8c9929280f7fa10ddc6f70f
Sha1:   f0cf47f3a5ffe600290671031216cfa121c08531
Sha256: 9fa627baa9b92c9b2abfffef1a10bdcacbee79d5912bd98d6e17c76440df74ac
                                        
                                            GET /Foto/4.JPG HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Mon, 16 Sep 2013 16:07:40 GMT
Etag: "a2c9d-f72-4e682674bcb00"
Accept-Ranges: bytes
Content-Length: 3954
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01
Size:   3954
Md5:    223e7aa7f8669d2becc068cdc02638a0
Sha1:   bcdd10c3debfe9a74c67ada8c0f511e7a28be0f4
Sha256: a2af522f78f6f75122d6638500b05a08f334f5e793f586711de747d4ac7bfd27

Alerts:
  IDS:
    - ET POLICY HTTP Request to .su TLD (Soviet Union) Often Malware Related
                                        
                                            GET /Foto/3.gif HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Fri, 11 Dec 2009 21:00:00 GMT
Etag: "a2c9e-2a83-47a7a34f65400"
Accept-Ranges: bytes
Content-Length: 10883
Keep-Alive: timeout=15, max=96
Connection: Keep-Alive


--- Additional Info ---
Magic:  GIF image data, version 89a, 160 x 75
Size:   10883
Md5:    ab983ea963405fc3063edb6f9d7ff714
Sha1:   9768c1aa4d4d2827a876918cd0d13326c8efb073
Sha256: dbb748fbc198b503eea139039fe1344a45ba818df276ec285edb47af766168a7
                                        
                                            GET /templates/atr/img/top_bg.jpg?1 HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/templates/atr/css/template.css
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 30 Aug 2017 18:29:03 GMT
Server: Apache
Last-Modified: Thu, 13 Apr 2017 09:47:08 GMT
Etag: "2a17e9-45c-54d09354f7f00"
Accept-Ranges: bytes
Content-Length: 1116
Keep-Alive: timeout=15, max=94
Connection: Keep-Alive


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.01
Size:   1116
Md5:    44a148f9997fb6df3b89ba0d94c6d862
Sha1:   5f80ae4fcc933e3c33d782595e265db6eb0f1e3f
Sha256: 77f01eaf62c07396696e7ab579b3ca07cd023cc9c7343e4629b1806a6dc51f74
                                        
                                            GET /Foto/Glavnaya/7.jpg HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/jpeg
                                        
Date: Wed, 30 Aug 2017 18:29:02 GMT
Server: Apache
Last-Modified: Sat, 25 Feb 2012 12:33:35 GMT
Etag: "1e189e-2bf6b-4b9c915f845c0"
Accept-Ranges: bytes
Content-Length: 180075
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive


--- Additional Info ---
Magic:  JPEG image data, JFIF standard 1.02
Size:   180075
Md5:    d0ca6eb94159fe44761312cf1dea697b
Sha1:   991d5ddf41d547d389891bdab30c4944c28d4bca
Sha256: 31e5b7c39a49db3978dc815c1fc550043071b21175225ff8a44f1673e4a3ba67
                                        
                                            GET /s/opensans/v14/cJZKeOuBrn4kERxqtaUH3T8E0i7KZn-EPnyo3HZu7kw.woff HTTP/1.1 
Host: fonts.gstatic.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://fonts.googleapis.com/css?family=Open+Sans
Origin: http://school1.pit.su

                                         
                                         216.58.211.131
HTTP/1.1 200 OK
Content-Type: font/woff
                                        
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Timing-Allow-Origin: *
Content-Length: 17640
Date: Fri, 04 Aug 2017 16:47:47 GMT
Expires: Sat, 04 Aug 2018 16:47:47 GMT
Last-Modified: Wed, 14 Jun 2017 16:46:30 GMT
X-Content-Type-Options: nosniff
Server: sffe
X-XSS-Protection: 1; mode=block
Cache-Control: public, max-age=31536000
Age: 2252476


--- Additional Info ---
Magic:  data
Size:   17640
Md5:    e447d08f4d164f3995e7c5090a735332
Sha1:   affe866d1f2c13b1a91772c652392838f98e43ad
Sha256: 3fdc38539d2762cd1293e2822c97fa7972a89e3096c7b1163877344021d8fbf9
                                        
                                            GET /media/jui/fonts/IcoMoon.woff HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/templates/atr/css/template.css
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: text/plain
                                        
Date: Wed, 30 Aug 2017 18:29:03 GMT
Server: Apache
Last-Modified: Tue, 04 Jul 2017 06:04:12 GMT
Etag: "3e003c-6350-55377a706af00"
Accept-Ranges: bytes
Content-Length: 25424
Keep-Alive: timeout=15, max=99
Connection: Keep-Alive


--- Additional Info ---
Magic:  data
Size:   25424
Md5:    910a8fd387e6c5ac62dbe014dc131960
Sha1:   78d797741e92a0fb3094ad076dfd0ae8f1c36713
Sha256: 6d362fa22342a2d22cbe8d4472d2d11a8d0864310ee2e8e48ede3148465a609d
                                        
                                            GET /informer/100x100/1/12.swf HTTP/1.1 
Host: rp5.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/

                                         
                                         95.213.205.172
HTTP/1.1 200 OK
Content-Type: application/x-shockwave-flash
                                        
Server: nginx/1.10.3
Date: Wed, 30 Aug 2017 18:29:05 GMT
Content-Length: 1468
Last-Modified: Mon, 15 Aug 2011 07:46:22 GMT
Connection: keep-alive
Etag: "4e48cece-5bc"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
Accept-Ranges: bytes


--- Additional Info ---
Magic:  Macromedia Flash data (compressed), version 6
Size:   1468
Md5:    995a2fc95bb618bf0d510f59d639e737
Sha1:   b5b7c518294911de0b293eec0d3fe6930e86e7dd
Sha256: 4adfbeef22b492cdf7ca5c942fbd873b41ad75964fcd34ad3761b91d61ab5c93
                                        
                                            GET /media/plg_content_mavikthumbnails/highslide/graphics/loader.white.gif HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/media/plg_content_mavikthumbnails/highslide/highslide.css
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/gif
                                        
Date: Wed, 30 Aug 2017 18:29:05 GMT
Server: Apache
Last-Modified: Mon, 10 Apr 2017 11:55:45 GMT
Etag: "3e06bb-2a1-54ccea7c2f400"
Accept-Ranges: bytes
Content-Length: 673
Keep-Alive: timeout=15, max=97
Connection: Keep-Alive


--- Additional Info ---
Magic:  GIF image data, version 89a, 16 x 16
Size:   673
Md5:    2a6692973429d7a74513bfa8bcb5be20
Sha1:   f2af060f1cadbc9065c8c465c648dc01be67cc12
Sha256: 1eb9e7880f723999a4ed63eece6a6e4d4976833d3c16dc18b4ace3971728ab0d
                                        
                                            GET /media/plg_content_mavikthumbnails/highslide/graphics/outlines/rounded-white.png HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: image/png
                                        
Date: Wed, 30 Aug 2017 18:29:05 GMT
Server: Apache
Last-Modified: Mon, 10 Apr 2017 11:55:45 GMT
Etag: "3e06b5-802-54ccea7c2f400"
Accept-Ranges: bytes
Content-Length: 2050
Keep-Alive: timeout=15, max=98
Connection: Keep-Alive


--- Additional Info ---
Magic:  PNG image, 40 x 3000, 8-bit gray+alpha, non-interlaced
Size:   2050
Md5:    ff904e99a0ecb32a27642d389adb91ba
Sha1:   c4ef235dcc34844e4050f845ff4ce22ce35fe0b8
Sha256: e82d0547f662dc02f6d55c082758f5aac71937fee44bc0cb0f106f85b5fe2f81

Alerts:
  IDS:
    - ET POLICY HTTP Request to .su TLD (Soviet Union) Often Malware Related
                                        
                                            GET /media/plg_content_mavikthumbnails/highslide/graphics/zoomout.cur HTTP/1.1 
Host: school1.pit.su
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: image/png,image/*;q=0.8,*/*;q=0.5
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://school1.pit.su/
Cookie: 6c509ba3c825b6f9b283d796201ed789=234gdtsfhann9rgbjosvno91b0

                                         
                                         195.62.78.7
HTTP/1.1 200 OK
Content-Type: text/plain
                                        
Date: Wed, 30 Aug 2017 18:29:05 GMT
Server: Apache
Last-Modified: Mon, 10 Apr 2017 11:55:45 GMT
Etag: "3e06c5-146-54ccea7c2f400"
Accept-Ranges: bytes
Content-Length: 326
Keep-Alive: timeout=15, max=95
Connection: Keep-Alive


--- Additional Info ---
Magic:  Lotus 1-2-3
Size:   326
Md5:    e5f236bf2b60f8c8fc1867d70636a046
Sha1:   2d1695a011edd32a1abc5329dcf4b8ee196d5e7f
Sha256: 110a21ee3616bfa86b492bb237eeb946ee4a643d7bb77a7fd2b131311f5ccf72
                                        
                                            GET /get/flashplayer/update/current/xml/version_en_win_pl.xml HTTP/1.1 
Host: fpdownload2.macromedia.com
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive

                                         
                                         195.159.219.18
HTTP/1.1 200 OK
Content-Type: text/xml
                                        
Server: Apache
Last-Modified: Tue, 08 Aug 2017 08:33:41 GMT
Etag: "60c-55639d2111c20"
Accept-Ranges: bytes
Content-Length: 1548
Date: Wed, 30 Aug 2017 18:29:05 GMT
Connection: keep-alive


--- Additional Info ---
Magic:  XML document text\012 XML document text
Size:   1548
Md5:    11bdb5b3d02154ce4ac35345c8e41314
Sha1:   0133c7cdcd9afa9960ab75c8cc3afd8521cc51c3
Sha256: 85b85ca5a3b05180175f2eee1fb2dd7a735b8a310f12cbb701329a147ca8442a
                                        
                                            GET /flash.php?s=1&id=6655&lang=ru&um=00000&0.525787906721234 HTTP/1.1 
Host: rp5.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive

                                         
                                         95.213.205.172
HTTP/1.1 200 OK
Content-Type: text/html; charset=UTF-8
                                        
Server: nginx/1.10.3
Date: Wed, 30 Aug 2017 18:29:05 GMT
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.6.30
Set-Cookie: PHPSESSID=hc02t8r5nvcc6979cfugu7je55; path=/ lang=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; Max-Age=0; path=/ lang=ru; expires=Fri, 29-Sep-2017 18:29:05 GMT; Max-Age=2592000; path=/
Expires: Wed, 30 Aug 2017 18:29:05 GMT
Last-Modified: Wed, 30 Aug 2017 18:29:05 GMT
Cache-Control: no-store, no-cache, must-revalidate, pre-check=0, post-check=0, max-age=0
Pragma: no-cache
Content-Encoding: gzip


--- Additional Info ---
Magic:  gzip compressed data, from Unix
Size:   126
Md5:    3f3ec4e60563d3ff826a1ab345afa608
Sha1:   4df9a51f82779a85b7e52e463337b6345f8e09ff
Sha256: f4fc43f5469bc83514dcc4cfd2d304570edaf0244714a839dcc88e8a0a9ea97a
                                        
                                            GET /informer/images/samurize/cn4.swf HTTP/1.1 
Host: rp5.ru
                                        
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.13) Gecko/20101203 Firefox/3.6.13
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Cookie: PHPSESSID=hc02t8r5nvcc6979cfugu7je55; lang=ru

                                         
                                         95.213.205.172
HTTP/1.1 200 OK
Content-Type: application/x-shockwave-flash
                                        
Server: nginx/1.10.3
Date: Wed, 30 Aug 2017 18:29:06 GMT
Content-Length: 3156
Last-Modified: Fri, 04 Apr 2008 11:04:58 GMT
Connection: keep-alive
Etag: "47f60b5a-c54"
Expires: Thu, 31 Dec 2037 23:55:55 GMT
Cache-Control: max-age=315360000
Accept-Ranges: bytes


--- Additional Info ---
Magic:  Macromedia Flash data (compressed), version 6
Size:   3156
Md5:    b919fd842580c9f9eb1ce27a7f12663d
Sha1:   047bd2b42aafb90cb1aa136d2b89026534f77114
Sha256: 745feb0788c79b5cd1a4fa2102d5950e353ad24d48875804b138ec33c8280380