SYMBOL INDEX (765 symbols across 30 files) FILE: libs/aos/aos.js function v (line 1) | function v(e,n,o){var i,a,r,c,s,u,d=0,l=!1,f=!1,v=!0;if("function"!=type... function g (line 1) | function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)} function w (line 1) | function w(e){if("number"==typeof e)return e;if(function(e){return"symbo... function D (line 1) | function D(e){var t=typeof e;return!!e&&("object"==t||"function"==t)} function H (line 1) | function H(e){if("number"==typeof e)return e;if(function(e){return"symbo... function m (line 1) | function m(t){var n=o,a=i;return o=i=void 0,u=t,r=e.apply(a,n)} function p (line 1) | function p(e){var n=e-s;return void 0===s||n>=t||n<0||l&&e-u>=a} function b (line 1) | function b(){var e=S();if(p(e))return v(e);c=setTimeout(b,function(e){va... function v (line 1) | function v(e){return c=void 0,f&&o?m(e):(o=i=void 0,r)} function g (line 1) | function g(){var e=S(),n=p(e);if(o=arguments,i=this,s=e,n){if(void 0===c... function P (line 1) | function P(e){e&&e.forEach(function(e){var t=Array.prototype.slice.call(... function Y (line 1) | function Y(){return window.MutationObserver||window.WebKitMutationObserv... function e (line 1) | function e(e,t){for(var n=0;n= 768 && extendi... function skipExtendingChars (line 297) | function skipExtendingChars(str, pos, dir) { function findFirst (line 305) | function findFirst(pred, from, to) { function iterateBidiSections (line 320) | function iterateBidiSections(order, from, to, f) { function getBidiPartAt (line 334) | function getBidiPartAt(order, ch, sticky) { function charType (line 380) | function charType(code) { function BidiSpan (line 393) | function BidiSpan(level, from, to) { function getOrder (line 526) | function getOrder(line, direction) { function getHandlers (line 550) | function getHandlers(emitter, type) { function off (line 554) | function off(emitter, type, f) { function signal (line 569) | function signal(emitter, type /*, values...*/) { function signalDOMEvent (line 579) | function signalDOMEvent(cm, e, override) { function signalCursorActivity (line 586) | function signalCursorActivity(cm) { function hasHandler (line 594) | function hasHandler(emitter, type) { function eventMixin (line 600) | function eventMixin(ctor) { function e_preventDefault (line 608) | function e_preventDefault(e) { function e_stopPropagation (line 612) | function e_stopPropagation(e) { function e_defaultPrevented (line 616) | function e_defaultPrevented(e) { function e_stop (line 619) | function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);} function e_target (line 621) | function e_target(e) {return e.target || e.srcElement} function e_button (line 622) | function e_button(e) { function zeroWidthElement (line 643) | function zeroWidthElement(measure) { function hasBadBidiRects (line 658) | function hasBadBidiRects(measure) { function hasBadZoomedRects (line 707) | function hasBadZoomedRects(measure) { function defineMode (line 721) | function defineMode(name, mode) { function defineMIME (line 727) | function defineMIME(mime, spec) { function resolveMode (line 733) | function resolveMode(spec) { function getMode (line 752) | function getMode(options, spec) { function extendMode (line 776) | function extendMode(mode, properties) { function copyState (line 781) | function copyState(mode, state) { function innerMode (line 795) | function innerMode(mode, state) { function startState (line 806) | function startState(mode, a1, a2) { function getLine (line 896) | function getLine(doc, n) { function getBetween (line 912) | function getBetween(doc, start, end) { function getLines (line 924) | function getLines(doc, from, to) { function updateLineHeight (line 932) | function updateLineHeight(line, height) { function lineNo (line 939) | function lineNo(line) { function lineAtHeight (line 953) | function lineAtHeight(chunk, h) { function isLine (line 973) | function isLine(doc, l) {return l >= doc.first && l < doc.first + doc.size} function lineNumberFor (line 975) | function lineNumberFor(options, i) { function Pos (line 980) | function Pos(line, ch, sticky) { function cmp (line 991) | function cmp(a, b) { return a.line - b.line || a.ch - b.ch } function equalCursorPos (line 993) | function equalCursorPos(a, b) { return a.sticky == b.sticky && cmp(a, b)... function copyPos (line 995) | function copyPos(x) {return Pos(x.line, x.ch)} function maxPos (line 996) | function maxPos(a, b) { return cmp(a, b) < 0 ? b : a } function minPos (line 997) | function minPos(a, b) { return cmp(a, b) < 0 ? a : b } function clipLine (line 1001) | function clipLine(doc, n) {return Math.max(doc.first, Math.min(n, doc.fi... function clipPos (line 1002) | function clipPos(doc, pos) { function clipToLen (line 1008) | function clipToLen(pos, linelen) { function clipPosArray (line 1014) | function clipPosArray(doc, array) { function highlightLine (line 1071) | function highlightLine(cm, line, context, forceToEnd) { function getLineStyles (line 1116) | function getLineStyles(cm, line, updateFrontier) { function getContextBefore (line 1132) | function getContextBefore(cm, n, precise) { function processLine (line 1152) | function processLine(cm, text, context, startAt) { function callBlankLine (line 1163) | function callBlankLine(mode, state) { function readToken (line 1170) | function readToken(mode, stream, state, inner) { function takeToken (line 1187) | function takeToken(cm, pos, precise, asArray) { function extractLineClasses (line 1201) | function extractLineClasses(type, output) { function runMode (line 1216) | function runMode(cm, text, mode, context, f, lineClasses, forceToEnd) { function findStartLine (line 1260) | function findStartLine(cm, n, precise) { function retreatFrontier (line 1277) | function retreatFrontier(doc, n) { function seeReadOnlySpans (line 1297) | function seeReadOnlySpans() { function seeCollapsedSpans (line 1301) | function seeCollapsedSpans() { function MarkedSpan (line 1307) | function MarkedSpan(marker, from, to) { function getMarkedSpanFor (line 1313) | function getMarkedSpanFor(spans, marker) { function removeMarkedSpan (line 1322) | function removeMarkedSpan(spans, span) { function addMarkedSpan (line 1330) | function addMarkedSpan(line, span, op) { function markedSpansBefore (line 1345) | function markedSpansBefore(old, startCh, isInsert) { function markedSpansAfter (line 1357) | function markedSpansAfter(old, endCh, isInsert) { function stretchSpansOverChange (line 1377) | function stretchSpansOverChange(doc, change) { function clearEmptySpans (line 1439) | function clearEmptySpans(spans) { function removeReadOnlyRanges (line 1450) | function removeReadOnlyRanges(doc, from, to) { function detachMarkedSpans (line 1479) | function detachMarkedSpans(line) { function attachMarkedSpans (line 1486) | function attachMarkedSpans(line, spans) { function extraLeft (line 1495) | function extraLeft(marker) { return marker.inclusiveLeft ? -1 : 0 } function extraRight (line 1496) | function extraRight(marker) { return marker.inclusiveRight ? 1 : 0 } function compareCollapsedMarkers (line 1501) | function compareCollapsedMarkers(a, b) { function collapsedSpanAtSide (line 1514) | function collapsedSpanAtSide(line, start) { function collapsedSpanAtStart (line 1524) | function collapsedSpanAtStart(line) { return collapsedSpanAtSide(line, t... function collapsedSpanAtEnd (line 1525) | function collapsedSpanAtEnd(line) { return collapsedSpanAtSide(line, fal... function collapsedSpanAround (line 1527) | function collapsedSpanAround(line, ch) { function conflictingCollapsedRange (line 1540) | function conflictingCollapsedRange(doc, lineNo, from, to, marker) { function visualLine (line 1560) | function visualLine(line) { function visualLineEnd (line 1567) | function visualLineEnd(line) { function visualLineContinued (line 1576) | function visualLineContinued(line) { function visualLineNo (line 1587) | function visualLineNo(doc, lineN) { function visualLineEndNo (line 1595) | function visualLineEndNo(doc, lineN) { function lineIsHidden (line 1607) | function lineIsHidden(doc, line) { function lineIsHiddenInner (line 1618) | function lineIsHiddenInner(doc, line, span) { function heightAtLine (line 1635) | function heightAtLine(lineObj) { function lineLength (line 1657) | function lineLength(line) { function findMaxLine (line 1676) | function findMaxLine(cm) { function updateLine (line 1706) | function updateLine(line, text, markedSpans, estimateHeight) { function cleanUpLine (line 1718) | function cleanUpLine(line) { function interpretTokenStyle (line 1727) | function interpretTokenStyle(style, options) { function buildLineContent (line 1739) | function buildLineContent(cm, lineView) { function defaultSpecialCharPlaceholder (line 1797) | function defaultSpecialCharPlaceholder(ch) { function buildToken (line 1806) | function buildToken(builder, text, style, startStyle, endStyle, css, att... function splitSpaces (line 1873) | function splitSpaces(text, trailingBefore) { function buildTokenBadBidi (line 1888) | function buildTokenBadBidi(inner, order) { function buildCollapsedSpan (line 1908) | function buildCollapsedSpan(builder, size, marker, ignoreWidget) { function insertLineContent (line 1926) | function insertLineContent(line, builder, styles) { function LineView (line 2005) | function LineView(doc, line, lineN) { function buildViewArray (line 2017) | function buildViewArray(cm, from, to) { function pushOperation (line 2029) | function pushOperation(op) { function fireCallbacksForOps (line 2040) | function fireCallbacksForOps(group) { function finishOperation (line 2056) | function finishOperation(op, endCb) { function signalLater (line 2076) | function signalLater(emitter, type /*, values...*/) { function fireOrphanDelayed (line 2096) | function fireOrphanDelayed() { function updateLineForChanges (line 2105) | function updateLineForChanges(cm, lineView, lineN, dims) { function ensureLineWrapped (line 2118) | function ensureLineWrapped(lineView) { function updateLineBackground (line 2129) | function updateLineBackground(cm, lineView) { function getLineContent (line 2144) | function getLineContent(cm, lineView) { function updateLineText (line 2157) | function updateLineText(cm, lineView) { function updateLineClasses (line 2172) | function updateLineClasses(cm, lineView) { function updateLineGutter (line 2182) | function updateLineGutter(cm, lineView, lineN, dims) { function updateLineWidgets (line 2221) | function updateLineWidgets(cm, lineView, dims) { function buildLineElement (line 2232) | function buildLineElement(cm, lineView, lineN, dims) { function insertLineWidgets (line 2246) | function insertLineWidgets(cm, lineView, dims) { function insertLineWidgetsFor (line 2252) | function insertLineWidgetsFor(cm, line, lineView, dims, allowAbove) { function positionLineWidget (line 2268) | function positionLineWidget(widget, node, lineView, dims) { function widgetHeight (line 2286) | function widgetHeight(widget) { function eventInWidget (line 2302) | function eventInWidget(display, e) { function paddingTop (line 2312) | function paddingTop(display) {return display.lineSpace.offsetTop} function paddingVert (line 2313) | function paddingVert(display) {return display.mover.offsetHeight - displ... function paddingH (line 2314) | function paddingH(display) { function scrollGap (line 2323) | function scrollGap(cm) { return scrollerGap - cm.display.nativeBarWidth } function displayWidth (line 2324) | function displayWidth(cm) { function displayHeight (line 2327) | function displayHeight(cm) { function ensureLineHeights (line 2335) | function ensureLineHeights(cm, lineView, rect) { function mapFromLineView (line 2356) | function mapFromLineView(lineView, line, lineN) { function updateExternalMeasurement (line 2371) | function updateExternalMeasurement(cm, line) { function measureChar (line 2384) | function measureChar(cm, line, ch, bias) { function findViewForLine (line 2389) | function findViewForLine(cm, lineN) { function prepareMeasureForLine (line 2402) | function prepareMeasureForLine(cm, line) { function measureCharPrepared (line 2424) | function measureCharPrepared(cm, prepared, ch, bias, varHeight) { function nodeAndOffsetInLineMap (line 2446) | function nodeAndOffsetInLineMap(map, ch, bias) { function getUsefulRect (line 2484) | function getUsefulRect(rects, bias) { function measureCharInner (line 2494) | function measureCharInner(cm, prepared, ch, bias) { function maybeUpdateRectForZooming (line 2547) | function maybeUpdateRectForZooming(measure, rect) { function clearLineMeasurementCacheFor (line 2557) | function clearLineMeasurementCacheFor(lineView) { function clearLineMeasurementCache (line 2566) | function clearLineMeasurementCache(cm) { function clearCaches (line 2573) | function clearCaches(cm) { function pageScrollX (line 2580) | function pageScrollX(doc) { function pageScrollY (line 2587) | function pageScrollY(doc) { function widgetTopHeight (line 2592) | function widgetTopHeight(lineObj) { function intoCoordSystem (line 2605) | function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) { function fromCoordSystem (line 2627) | function fromCoordSystem(cm, coords, context) { function charCoords (line 2644) | function charCoords(cm, pos, context, lineObj, bias) { function cursorCoords (line 2665) | function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHei... function estimateCoords (line 2696) | function estimateCoords(cm, pos) { function PosWithInfo (line 2711) | function PosWithInfo(line, ch, sticky, outside, xRel) { function coordsChar (line 2720) | function coordsChar(cm, x, y) { function wrappedLineExtent (line 2740) | function wrappedLineExtent(cm, lineObj, preparedMeasure, y) { function wrappedLineExtentChar (line 2748) | function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) { function boxIsAfter (line 2756) | function boxIsAfter(box, x, y, left) { function coordsCharInner (line 2760) | function coordsCharInner(cm, lineObj, lineNo, x, y) { function coordsBidiPart (line 2827) | function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, ... function coordsBidiPartWrapped (line 2851) | function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, or... function textHeight (line 2886) | function textHeight(display) { function charWidth (line 2906) | function charWidth(display) { function getDimensions (line 2918) | function getDimensions(cm) { function compensateForHScroll (line 2936) | function compensateForHScroll(display) { function estimateHeight (line 2943) | function estimateHeight(cm) { function estimateLineHeights (line 2961) | function estimateLineHeights(cm) { function posFromMouse (line 2974) | function posFromMouse(cm, e, liberal, forRect) { function findViewIndex (line 2992) | function findViewIndex(cm, n) { function regChange (line 3009) | function regChange(cm, from, to, lendiff) { function regLineChange (line 3074) | function regLineChange(cm, line, type) { function resetView (line 3088) | function resetView(cm) { function viewCuttingPoint (line 3094) | function viewCuttingPoint(cm, oldN, newN, dir) { function adjustView (line 3121) | function adjustView(cm, from, to) { function countDirtyView (line 3142) | function countDirtyView(cm) { function updateSelection (line 3151) | function updateSelection(cm) { function prepareSelection (line 3155) | function prepareSelection(cm, primary) { function drawSelectionCursor (line 3182) | function drawSelectionCursor(cm, head, output) { function cmpCoords (line 3206) | function cmpCoords(a, b) { return a.top - b.top || a.left - b.left } function drawSelectionRange (line 3209) | function drawSelectionRange(cm, range, output) { function restartBlink (line 3302) | function restartBlink(cm) { function ensureFocus (line 3317) | function ensureFocus(cm) { function delayBlurEvent (line 3324) | function delayBlurEvent(cm) { function onFocus (line 3332) | function onFocus(cm, e) { function onBlur (line 3351) | function onBlur(cm, e) { function updateHeightsInViewport (line 3365) | function updateHeightsInViewport(cm) { function updateWidgetHeight (line 3410) | function updateWidgetHeight(line) { function visibleLines (line 3420) | function visibleLines(display, doc, viewport) { function maybeScrollWindow (line 3445) | function maybeScrollWindow(cm, rect) { function scrollPosIntoView (line 3463) | function scrollPosIntoView(cm, pos, end, margin) { function scrollIntoView (line 3497) | function scrollIntoView(cm, rect) { function calculateScrollPos (line 3507) | function calculateScrollPos(cm, rect) { function addToScrollTop (line 3538) | function addToScrollTop(cm, top) { function ensureCursorVisible (line 3546) | function ensureCursorVisible(cm) { function scrollToCoords (line 3552) | function scrollToCoords(cm, x, y) { function scrollToRange (line 3558) | function scrollToRange(cm, range) { function resolveScrollToPos (line 3567) | function resolveScrollToPos(cm) { function scrollToCoordsRange (line 3576) | function scrollToCoordsRange(cm, from, to, margin) { function updateScrollTop (line 3588) | function updateScrollTop(cm, val) { function setScrollTop (line 3596) | function setScrollTop(cm, val, forceScroll) { function setScrollLeft (line 3606) | function setScrollLeft(cm, val, isScroller, forceScroll) { function measureForScrollbars (line 3619) | function measureForScrollbars(cm) { function maybeDisable (line 3712) | function maybeDisable() { function updateScrollbars (line 3741) | function updateScrollbars(cm, measure) { function updateScrollbarsInner (line 3755) | function updateScrollbarsInner(cm, measure) { function initScrollbars (line 3777) | function initScrollbars(cm) { function startOperation (line 3807) | function startOperation(cm) { function endOperation (line 3830) | function endOperation(cm) { function endOperations (line 3841) | function endOperations(group) { function endOperation_R1 (line 3855) | function endOperation_R1(op) { function endOperation_W1 (line 3868) | function endOperation_W1(op) { function endOperation_R2 (line 3872) | function endOperation_R2(op) { function endOperation_W2 (line 3893) | function endOperation_W2(op) { function endOperation_finish (line 3918) | function endOperation_finish(op) { function runInOp (line 3957) | function runInOp(cm, f) { function operation (line 3964) | function operation(cm, f) { function methodOp (line 3974) | function methodOp(f) { function docMethodOp (line 3982) | function docMethodOp(f) { function startWorker (line 3994) | function startWorker(cm, time) { function highlightWorker (line 3999) | function highlightWorker(cm) { function maybeClipScrollbars (line 4067) | function maybeClipScrollbars(cm) { function selectionSnapshot (line 4078) | function selectionSnapshot(cm) { function restoreSelection (line 4095) | function restoreSelection(snapshot) { function updateDisplayIfNeeded (line 4113) | function updateDisplayIfNeeded(cm, update) { function postUpdateDisplay (line 4185) | function postUpdateDisplay(cm, update) { function updateDisplaySimple (line 4217) | function updateDisplaySimple(cm, viewport) { function patchDisplay (line 4234) | function patchDisplay(cm, updateNumbersFrom, dims) { function updateGutterSpace (line 4275) | function updateGutterSpace(display) { function setDocumentHeight (line 4282) | function setDocumentHeight(cm, measure) { function alignHorizontally (line 4290) | function alignHorizontally(cm) { function maybeUpdateLineNumberWidth (line 4313) | function maybeUpdateLineNumberWidth(cm) { function getGutters (line 4331) | function getGutters(gutters, lineNumbers) { function renderGutters (line 4348) | function renderGutters(display) { function updateGutters (line 4367) | function updateGutters(cm) { function Display (line 4377) | function Display(place, doc, input, options) { function wheelEventDelta (line 4506) | function wheelEventDelta(e) { function wheelEventPixels (line 4513) | function wheelEventPixels(e) { function onScrollWheel (line 4520) | function onScrollWheel(cm, e) { function normalizeSelection (line 4668) | function normalizeSelection(cm, ranges, primIndex) { function simpleSelection (line 4686) | function simpleSelection(anchor, head) { function changeEnd (line 4692) | function changeEnd(change) { function adjustForChange (line 4700) | function adjustForChange(pos, change) { function computeSelAfterChange (line 4709) | function computeSelAfterChange(doc, change) { function offsetPos (line 4719) | function offsetPos(pos, old, nw) { function computeReplacedSel (line 4728) | function computeReplacedSel(doc, changes, hint) { function loadMode (line 4749) | function loadMode(cm) { function resetModeState (line 4754) | function resetModeState(cm) { function isWholeLineUpdate (line 4770) | function isWholeLineUpdate(doc, change) { function updateDoc (line 4776) | function updateDoc(doc, change, markedSpans, estimateHeight) { function linkedDocs (line 4828) | function linkedDocs(doc, f, sharedHistOnly) { function attachDoc (line 4843) | function attachDoc(cm, doc) { function setDirectionClass (line 4856) | function setDirectionClass(cm) { function directionChanged (line 4860) | function directionChanged(cm) { function History (line 4867) | function History(prev) { function historyChangeFromChange (line 4884) | function historyChangeFromChange(doc, change) { function clearSelectionEvents (line 4893) | function clearSelectionEvents(array) { function lastChangeEvent (line 4903) | function lastChangeEvent(hist, force) { function addChangeToHistory (line 4918) | function addChangeToHistory(doc, change, selAfter, opId) { function selectionEventCanBeMerged (line 4961) | function selectionEventCanBeMerged(doc, origin, prev, sel) { function addSelectionToHistory (line 4974) | function addSelectionToHistory(doc, sel, opId, options) { function pushSelectionToHistory (line 4996) | function pushSelectionToHistory(sel, dest) { function attachLocalSpans (line 5003) | function attachLocalSpans(doc, change, from, to) { function removeClearedSpans (line 5014) | function removeClearedSpans(spans) { function getOldSpans (line 5025) | function getOldSpans(doc, change) { function mergeOldSpans (line 5038) | function mergeOldSpans(doc, change) { function copyHistoryArray (line 5062) | function copyHistoryArray(events, newGroup, instantiateSel) { function extendRange (line 5094) | function extendRange(range, head, other, extend) { function extendSelection (line 5113) | function extendSelection(doc, head, other, options, extend) { function extendSelections (line 5120) | function extendSelections(doc, heads, options) { function replaceOneSelection (line 5130) | function replaceOneSelection(doc, i, range, options) { function setSimpleSelection (line 5137) | function setSimpleSelection(doc, anchor, head, options) { function filterSelectionChange (line 5143) | function filterSelectionChange(doc, sel, options) { function setSelectionReplaceHistory (line 5160) | function setSelectionReplaceHistory(doc, sel, options) { function setSelection (line 5171) | function setSelection(doc, sel, options) { function setSelectionNoUndo (line 5176) | function setSelectionNoUndo(doc, sel, options) { function setSelectionInner (line 5188) | function setSelectionInner(doc, sel) { function reCheckSelection (line 5203) | function reCheckSelection(doc) { function skipAtomicInSelection (line 5209) | function skipAtomicInSelection(doc, sel, bias, mayClear) { function skipAtomicInner (line 5224) | function skipAtomicInner(doc, pos, oldPos, dir, mayClear) { function skipAtomic (line 5264) | function skipAtomic(doc, pos, oldPos, bias, mayClear) { function movePos (line 5277) | function movePos(doc, pos, dir, line) { function selectAll (line 5289) | function selectAll(cm) { function filterChange (line 5296) | function filterChange(doc, change, update) { function makeChange (line 5323) | function makeChange(doc, change, ignoreReadOnly) { function makeChangeInner (line 5345) | function makeChangeInner(doc, change) { function makeChangeFromHistory (line 5363) | function makeChangeFromHistory(doc, type, allowSelectionOnly) { function shiftDoc (line 5439) | function shiftDoc(doc, distance) { function makeChangeSingleDoc (line 5455) | function makeChangeSingleDoc(doc, change, selAfter, spans) { function makeChangeSingleDocInEditor (line 5491) | function makeChangeSingleDocInEditor(cm, change, spans) { function replaceRange (line 5549) | function replaceRange(doc, code, from, to, origin) { function rebaseHistSelSingle (line 5560) | function rebaseHistSelSingle(pos, from, to, diff) { function rebaseHistArray (line 5576) | function rebaseHistArray(array, from, to, diff) { function rebaseHist (line 5604) | function rebaseHist(hist, change) { function changeLine (line 5613) | function changeLine(doc, handle, changeType, op) { function LeafChunk (line 5635) | function LeafChunk(lines) { function BranchChunk (line 5680) | function BranchChunk(children) { function adjustScrollWhenAboveVisible (line 5829) | function adjustScrollWhenAboveVisible(cm, line, diff) { function addLineWidget (line 5834) | function addLineWidget(doc, handle, node, options) { function markText (line 5990) | function markText(doc, from, to, options, type) { function markTextShared (line 6085) | function markTextShared(doc, from, to, options, type) { function findSharedMarkers (line 6100) | function findSharedMarkers(doc) { function copySharedMarkers (line 6104) | function copySharedMarkers(doc, markers) { function detachSharedMarkers (line 6116) | function detachSharedMarkers(markers) { function onDrop (line 6554) | function onDrop(e) { function onDragStart (line 6625) | function onDragStart(cm, e) { function onDragOver (line 6648) | function onDragOver(cm, e) { function clearDragCursor (line 6660) | function clearDragCursor(cm) { function forEachCodeMirror (line 6671) | function forEachCodeMirror(f) { function ensureGlobalHandlers (line 6684) | function ensureGlobalHandlers() { function registerGlobalHandlers (line 6689) | function registerGlobalHandlers() { function onResize (line 6702) | function onResize(cm) { function normalizeKeyName (line 6772) | function normalizeKeyName(name) { function normalizeKeyMap (line 6796) | function normalizeKeyMap(keymap) { function lookupKey (line 6823) | function lookupKey(key, map, handle, context) { function isModifierKey (line 6842) | function isModifierKey(value) { function addModifierNames (line 6847) | function addModifierNames(name, event, noShift) { function keyName (line 6857) | function keyName(event, noShift) { function getKeyMap (line 6867) | function getKeyMap(val) { function deleteNearSelection (line 6873) | function deleteNearSelection(cm, compute) { function moveCharLogically (line 6896) | function moveCharLogically(line, ch, dir) { function moveLogically (line 6901) | function moveLogically(line, start, dir) { function endOfLine (line 6906) | function endOfLine(visually, cm, lineObj, lineNo, dir) { function moveVisually (line 6934) | function moveVisually(cm, line, start, dir) { function lineStart (line 7146) | function lineStart(cm, lineN) { function lineEnd (line 7152) | function lineEnd(cm, lineN) { function lineStartSmart (line 7158) | function lineStartSmart(cm, pos) { function doHandleBinding (line 7171) | function doHandleBinding(cm, bound, dropShift) { function lookupKeyForEditor (line 7191) | function lookupKeyForEditor(cm, name, handle) { function dispatchKey (line 7205) | function dispatchKey(cm, name, e, handle) { function dispatchKeyInner (line 7223) | function dispatchKeyInner(cm, name, e, handle) { function handleKeyBinding (line 7240) | function handleKeyBinding(cm, e) { function handleCharBinding (line 7259) | function handleCharBinding(cm, e, ch) { function onKeyDown (line 7264) | function onKeyDown(e) { function showCrossHair (line 7288) | function showCrossHair(cm) { function onKeyUp (line 7303) | function onKeyUp(e) { function onKeyPress (line 7308) | function onKeyPress(e) { function clickRepeat (line 7336) | function clickRepeat(pos, button) { function onMouseDown (line 7357) | function onMouseDown(e) { function handleMappedButton (line 7394) | function handleMappedButton(cm, button, pos, repeat, event) { function configureMouse (line 7414) | function configureMouse(cm, repeat, event) { function leftButtonDown (line 7427) | function leftButtonDown(cm, pos, repeat, event) { function leftButtonStartDrag (line 7445) | function leftButtonStartDrag(cm, event, pos, behavior) { function rangeForUnit (line 7488) | function rangeForUnit(cm, pos, unit) { function leftButtonSelect (line 7497) | function leftButtonSelect(cm, event, start, behavior) { function bidiSimplify (line 7635) | function bidiSimplify(cm, range) { function gutterEvent (line 7670) | function gutterEvent(cm, e, type, prevent) { function clickInGutter (line 7699) | function clickInGutter(cm, e) { function onContextMenu (line 7708) | function onContextMenu(cm, e) { function contextMenuInGutter (line 7714) | function contextMenuInGutter(cm, e) { function themeChanged (line 7719) | function themeChanged(cm) { function defineOptions (line 7730) | function defineOptions(CodeMirror) { function dragDropChanged (line 7874) | function dragDropChanged(cm, value, old) { function wrappingChanged (line 7887) | function wrappingChanged(cm) { function CodeMirror (line 7905) | function CodeMirror(place, options) { function registerEventHandlers (line 7982) | function registerEventHandlers(cm) { function indentLine (line 8100) | function indentLine(cm, n, how, aggressive) { function setLastCopied (line 8164) | function setLastCopied(newLastCopied) { function applyTextInput (line 8168) | function applyTextInput(cm, inserted, deleted, sel, origin) { function handlePaste (line 8216) | function handlePaste(e, cm) { function triggerElectric (line 8226) | function triggerElectric(cm, inserted) { function copyableRanges (line 8250) | function copyableRanges(cm) { function disableBrowserMagic (line 8261) | function disableBrowserMagic(field, spellcheck, autocorrect, autocapital... function hiddenTextarea (line 8267) | function hiddenTextarea() { function addEditorMethods (line 8289) | function addEditorMethods(CodeMirror) { function findPosH (line 8729) | function findPosH(doc, pos, dir, unit, visually) { function findPosV (line 8798) | function findPosV(cm, pos, dir, unit) { function belongsToInput (line 8837) | function belongsToInput(e) { function onCopyCut (line 8870) | function onCopyCut(e) { function poll (line 9040) | function poll() { function posToDOM (line 9206) | function posToDOM(cm, pos) { function isInGutter (line 9222) | function isInGutter(node) { function badPos (line 9228) | function badPos(pos, bad) { if (bad) { pos.bad = true; } return pos } function domTextBetween (line 9230) | function domTextBetween(cm, from, to, fromLine, toLine) { function domToPos (line 9283) | function domToPos(cm, node, offset) { function locateNodeInLineView (line 9302) | function locateNodeInLineView(lineView, node, offset) { function prepareCopyCut (line 9400) | function prepareCopyCut(e) { function p (line 9561) | function p() { function prepareSelectAllHack (line 9665) | function prepareSelectAllHack() { function rehide (line 9678) | function rehide() { function fromTextArea (line 9726) | function fromTextArea(textarea, options) { function addLegacyProps (line 9783) | function addLegacyProps(CodeMirror) { FILE: libs/codemirror/lib/css.js function ret (line 36) | function ret(style, tp) { type = tp; return style; } function tokenBase (line 40) | function tokenBase(stream, state) { function tokenString (line 94) | function tokenString(quote) { function tokenParenthesized (line 109) | function tokenParenthesized(stream, state) { function Context (line 120) | function Context(type, indent, prev) { function pushContext (line 126) | function pushContext(state, stream, type, indent) { function popContext (line 131) | function popContext(state) { function pass (line 137) | function pass(type, stream, state) { function popAndPass (line 140) | function popAndPass(type, stream, state, n) { function wordAsValue (line 148) | function wordAsValue(stream) { function keySet (line 419) | function keySet(array) { function tokenCComment (line 725) | function tokenCComment(stream, state) { FILE: libs/codemirror/lib/formatting.js function jsNonBreakableBlocks (line 13) | function jsNonBreakableBlocks(text) { function localModeAt (line 100) | function localModeAt(cm, pos) { function enumerateModesBetween (line 104) | function enumerateModesBetween(cm, line, start, end) { FILE: libs/codemirror/lib/htmlmixed.js function maybeBackup (line 29) | function maybeBackup(stream, pat, style) { function getAttrRegexp (line 41) | function getAttrRegexp(attr) { function getAttrValue (line 47) | function getAttrValue(text, attr) { function getTagRegexp (line 52) | function getTagRegexp(tagName, anchored) { function addTags (line 56) | function addTags(from, to) { function findMatchingMode (line 65) | function findMatchingMode(tagInfo, tagText) { function html (line 88) | function html(stream, state) { FILE: libs/codemirror/lib/search.js function searchOverlay (line 25) | function searchOverlay(query, caseInsensitive) { function SearchState (line 45) | function SearchState() { function getSearchState (line 50) | function getSearchState(cm) { function queryCaseInsensitive (line 54) | function queryCaseInsensitive(query) { function getSearchCursor (line 58) | function getSearchCursor(cm, query, pos) { function persistentDialog (line 63) | function persistentDialog(cm, text, deflt, onEnter, onKeyDown) { function dialog (line 74) | function dialog(cm, text, shortText, deflt, f) { function confirmDialog (line 79) | function confirmDialog(cm, text, shortText, fs) { function parseString (line 84) | function parseString(string) { function parseQuery (line 94) | function parseQuery(query) { function startSearch (line 107) | function startSearch(cm, state, query) { function doSearch (line 119) | function doSearch(cm, rev, persistent, immediate) { function findNext (line 170) | function findNext(cm, rev, callback) {cm.operation(function() { function clearSearch (line 183) | function clearSearch(cm) {cm.operation(function() { function el (line 192) | function el(tag, attrs) { function getQueryDialog (line 204) | function getQueryDialog(cm) { function getReplaceQueryDialog (line 214) | function getReplaceQueryDialog(cm) { function getReplacementQueryDialog (line 220) | function getReplacementQueryDialog(cm) { function getDoReplaceConfirm (line 225) | function getDoReplaceConfirm(cm) { function replaceAll (line 234) | function replaceAll(cm, query, text) { function replace (line 245) | function replace(cm, all) { FILE: libs/codemirror/lib/searchcursor.js function regexpFlags (line 15) | function regexpFlags(regexp) { function ensureFlags (line 22) | function ensureFlags(regexp, flags) { function maybeMultiline (line 29) | function maybeMultiline(regexp) { function searchRegexpForward (line 33) | function searchRegexpForward(doc, regexp, start) { function searchRegexpForwardMultiline (line 45) | function searchRegexpForwardMultiline(doc, regexp, start) { function lastMatchIn (line 75) | function lastMatchIn(string, regexp, endMargin) { function searchRegexpBackward (line 90) | function searchRegexpBackward(doc, regexp, start) { function searchRegexpBackwardMultiline (line 102) | function searchRegexpBackwardMultiline(doc, regexp, start) { function adjustPos (line 136) | function adjustPos(orig, folded, pos, foldFunc) { function searchStringForward (line 148) | function searchStringForward(doc, query, start, caseFold) { function searchStringBackward (line 176) | function searchStringBackward(doc, query, start, caseFold) { function SearchCursor (line 203) | function SearchCursor(doc, query, pos, options) { FILE: libs/codemirror/lib/xml.js function inText (line 69) | function inText(stream, state) { function inTag (line 117) | function inTag(stream, state) { function inAttribute (line 142) | function inAttribute(quote) { function inBlock (line 156) | function inBlock(style, terminator) { function doctype (line 169) | function doctype(depth) { function lower (line 190) | function lower(tagName) { function Context (line 194) | function Context(state, tagName, startOfLine) { function popContext (line 202) | function popContext(state) { function maybePopContext (line 205) | function maybePopContext(state, nextTagName) { function baseState (line 220) | function baseState(type, stream, state) { function tagNameState (line 230) | function tagNameState(type, stream, state) { function closeTagNameState (line 243) | function closeTagNameState(type, stream, state) { function closeState (line 265) | function closeState(type, _stream, state) { function closeStateErr (line 273) | function closeStateErr(type, stream, state) { function attrState (line 278) | function attrState(type, _stream, state) { function attrEqState (line 297) | function attrEqState(type, stream, state) { function attrValueState (line 302) | function attrValueState(type, stream, state) { function attrContinuedState (line 308) | function attrContinuedState(type, stream, state) { FILE: libs/coloris/coloris.js function configure (line 62) | function configure(options) { function setVirtualInstance (line 245) | function setVirtualInstance(selector, options) { function removeVirtualInstance (line 256) | function removeVirtualInstance(selector) { function attachVirtualInstance (line 272) | function attachVirtualInstance(element) { function resetVirtualInstance (line 304) | function resetVirtualInstance() { function bindFields (line 316) | function bindFields(selector) { function openPicker (line 336) | function openPicker(event) { function updatePickerPosition (line 374) | function updatePickerPosition() { function wrapFields (line 452) | function wrapFields(selector) { function wrapColorField (line 466) | function wrapColorField(field) { function updateColorPreview (line 489) | function updateColorPreview(event) { function closePicker (line 502) | function closePicker(revert) { function setColorFromStr (line 550) | function setColorFromStr(str) { function getColorFormatFromStr (line 574) | function getColorFormatFromStr(str) { function pickColor (line 588) | function pickColor(color) { function setColorAtPosition (line 608) | function setColorAtPosition(x, y) { function updateMarkerA11yLabel (line 627) | function updateMarkerA11yLabel(saturation, value) { function getPointerPosition (line 643) | function getPointerPosition(event) { function moveMarker (line 654) | function moveMarker(event) { function moveMarkerOnKeydown (line 675) | function moveMarkerOnKeydown(offsetX, offsetY) { function setMarkerPosition (line 687) | function setMarkerPosition(x, y) { function updateColor (line 708) | function updateColor(rgba, hsva) {if (rgba === void 0) {rgba = {};}if (h... function setHue (line 760) | function setHue() { function setAlpha (line 774) | function setAlpha() { function HSVAtoRGBA (line 787) | function HSVAtoRGBA(hsva) { function HSVAtoHSLA (line 816) | function HSVAtoHSLA(hsva) { function RGBAtoHSVA (line 838) | function RGBAtoHSVA(rgba) { function strToRGBA (line 871) | function strToRGBA(str) { function RGBAToHex (line 908) | function RGBAToHex(rgba) { function RGBAToStr (line 943) | function RGBAToStr(rgba) { function HSLAToStr (line 956) | function HSLAToStr(hsla) { function init (line 967) | function init() { function getFocusableElements (line 1169) | function getFocusableElements() { function getEl (line 1181) | function getEl(id) { function addListener (line 1192) | function addListener(context, type, selector, fn) { function DOMReady (line 1216) | function DOMReady(fn, args) { function Coloris (line 1245) | function Coloris(options) { FILE: libs/jszip/filesaver.js function bom (line 29) | function bom(blob, opts) { function download (line 49) | function download(url, name, opts) { function corsEnabled (line 65) | function corsEnabled(url) { function click (line 78) | function click(node) { FILE: libs/jszip/jszip.js function s (line 13) | function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&re... function CompressedObject (line 138) | function CompressedObject(compressedSize, uncompressedSize, crc32, compr... function makeTable (line 224) | function makeTable() { function crc32 (line 242) | function crc32(crc, buf, len, pos) { function crc32str (line 266) | function crc32str(crc, str, len, pos) { function FlateWorker (line 344) | function FlateWorker(action, options) { function ZipFileWorker (line 735) | function ZipFileWorker(streamFiles, comment, platform, encodeFileName) { function JSZip (line 1021) | function JSZip() { function checkEntryCRC32 (line 1085) | function checkEntryCRC32(zipEntry) { function NodejsStreamInputAdapter (line 1166) | function NodejsStreamInputAdapter(filename, stream) { function NodejsStreamOutputAdapter (line 1246) | function NodejsStreamOutputAdapter(helper, options, updateCb) { function isRegExp (line 1493) | function isRegExp(object) { function ArrayReader (line 1740) | function ArrayReader(data) { function DataReader (line 1798) | function DataReader(data) { function NodeBufferReader (line 1917) | function NodeBufferReader(data) { function StringReader (line 1938) | function StringReader(data) { function Uint8ArrayReader (line 1978) | function Uint8ArrayReader(data) { function ConvertWorker (line 2047) | function ConvertWorker(destType) { function Crc32Probe (line 2075) | function Crc32Probe() { function DataLengthProbe (line 2101) | function DataLengthProbe(propName) { function DataWorker (line 2136) | function DataWorker(dataP) { function GenericWorker (line 2256) | function GenericWorker(name) { function transformZipOutput (line 2530) | function transformZipOutput(type, content, mimeType) { function concat (line 2548) | function concat (type, dataArray) { function accumulate (line 2581) | function accumulate(helper, updateCallback) { function StreamHelper (line 2618) | function StreamHelper(worker, outputType, mimeType) { function Utf8DecodeWorker (line 2956) | function Utf8DecodeWorker() { function Utf8EncodeWorker (line 3019) | function Utf8EncodeWorker() { function string2binary (line 3052) | function string2binary(str) { function identity (line 3107) | function identity(input) { function stringToArrayLike (line 3117) | function stringToArrayLike(str, array) { function arrayLikeToString (line 3199) | function arrayLikeToString(array) { function arrayLikeToArrayLike (line 3243) | function arrayLikeToArrayLike(arrayFrom, arrayTo) { function ZipEntries (line 3527) | function ZipEntries(loadOptions) { function ZipEntry (line 3814) | function ZipEntry(options, loadOptions) { function nextTick (line 4257) | function nextTick() { function immediate (line 4274) | function immediate(task) { function INTERNAL (line 4286) | function INTERNAL() {} function Promise (line 4296) | function Promise(resolver) { function resolve (line 4315) | function resolve(value) { function reject (line 4321) | function reject(reason) { function QueueItem (line 4346) | function QueueItem(promise, onFulfilled, onRejected) { function unwrap (line 4370) | function unwrap(promise, func, value) { function getThen (line 4417) | function getThen(obj) { function safelyResolveThenable (line 4427) | function safelyResolveThenable(self, thenable) { function tryCatch (line 4456) | function tryCatch(func, value) { function resolve (line 4469) | function resolve(value) { function reject (line 4477) | function reject(reason) { function all (line 4483) | function all(iterable) { function race (line 4522) | function race(iterable) { function Deflate (line 4692) | function Deflate(options) { function deflate (line 4927) | function deflate(input, options) { function deflateRaw (line 4947) | function deflateRaw(input, options) { function gzip (line 4962) | function gzip(input, options) { function Inflate (line 5067) | function Inflate(options) { function inflate (line 5352) | function inflate(input, options) { function inflateRaw (line 5372) | function inflateRaw(input, options) { function buf2binstring (line 5583) | function buf2binstring(buf, len) { function adler32 (line 5711) | function adler32(adler, buf, len, pos) { function makeTable (line 5835) | function makeTable() { function crc32 (line 5853) | function crc32(crc, buf, len, pos) { function err (line 5994) | function err(strm, errorCode) { function rank (line 5999) | function rank(f) { function zero (line 6003) | function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len]... function flush_pending (line 6012) | function flush_pending(strm) { function flush_block_only (line 6034) | function flush_block_only(s, last) { function put_byte (line 6041) | function put_byte(s, b) { function putShortMSB (line 6051) | function putShortMSB(s, b) { function read_buf (line 6066) | function read_buf(strm, buf, start, size) { function longest_match (line 6100) | function longest_match(s, cur_match) { function fill_window (line 6213) | function fill_window(s) { function deflate_stored (line 6369) | function deflate_stored(s, flush) { function deflate_fast (line 6467) | function deflate_fast(s, flush) { function deflate_slow (line 6595) | function deflate_slow(s, flush) { function deflate_rle (line 6757) | function deflate_rle(s, flush) { function deflate_huff (line 6852) | function deflate_huff(s, flush) { function Config (line 6909) | function Config(good_length, max_lazy, nice_length, max_chain, func) { function lm_init (line 6938) | function lm_init(s) { function DeflateState (line 6961) | function DeflateState() { function deflateResetKeep (line 7150) | function deflateResetKeep(strm) { function deflateReset (line 7179) | function deflateReset(strm) { function deflateSetHeader (line 7188) | function deflateSetHeader(strm, head) { function deflateInit2 (line 7196) | function deflateInit2(strm, level, method, windowBits, memLevel, strateg... function deflateInit (line 7274) | function deflateInit(strm, level) { function deflate (line 7279) | function deflate(strm, flush) { function deflateEnd (line 7613) | function deflateEnd(strm) { function deflateSetDictionary (line 7642) | function deflateSetDictionary(strm, dictionary) { function GZheader (line 7767) | function GZheader() { function zswap32 (line 8265) | function zswap32(q) { function InflateState (line 8273) | function InflateState() { function inflateResetKeep (line 8331) | function inflateResetKeep(strm) { function inflateReset (line 8358) | function inflateReset(strm) { function inflateReset2 (line 8370) | function inflateReset2(strm, windowBits) { function inflateInit2 (line 8404) | function inflateInit2(strm, windowBits) { function inflateInit (line 8424) | function inflateInit(strm) { function fixedtables (line 8443) | function fixedtables(state) { function updatewindow (line 8491) | function updatewindow(strm, src, end, copy) { function inflate (line 8533) | function inflate(strm, flush) { function inflateEnd (line 9625) | function inflateEnd(strm) { function inflateGetHeader (line 9639) | function inflateGetHeader(strm, head) { function inflateSetDictionary (line 9653) | function inflateSetDictionary(strm, dictionary) { function zero (line 10132) | function zero(buf) { var len = buf.length; while (--len >= 0) { buf[len]... function StaticTreeDesc (line 10255) | function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_... function TreeDesc (line 10273) | function TreeDesc(dyn_tree, stat_desc) { function d_code (line 10281) | function d_code(dist) { function put_short (line 10290) | function put_short(s, w) { function send_bits (line 10302) | function send_bits(s, value, length) { function send_code (line 10315) | function send_code(s, c, tree) { function bi_reverse (line 10325) | function bi_reverse(code, len) { function bi_flush (line 10339) | function bi_flush(s) { function gen_bitlen (line 10363) | function gen_bitlen(s, desc) function gen_codes (line 10460) | function gen_codes(tree, max_code, bl_count) function tr_static_init (line 10498) | function tr_static_init() { function init_block (line 10602) | function init_block(s) { function bi_windup (line 10619) | function bi_windup(s) function copy_block (line 10635) | function copy_block(s, buf, len, header) function smaller (line 10658) | function smaller(tree, n, m, depth) { function pqdownheap (line 10671) | function pqdownheap(s, tree, k) function compress_block (line 10704) | function compress_block(s, ltree, dtree) function build_tree (line 10764) | function build_tree(s, desc) function scan_tree (line 10860) | function scan_tree(s, tree, max_code) function send_tree (line 10926) | function send_tree(s, tree, max_code) function build_bl_tree (line 10997) | function build_bl_tree(s) { function send_all_trees (line 11033) | function send_all_trees(s, lcodes, dcodes, blcodes) function detect_data_type (line 11073) | function detect_data_type(s) { function _tr_init (line 11111) | function _tr_init(s) function _tr_stored_block (line 11134) | function _tr_stored_block(s, buf, stored_len, last) function _tr_align (line 11149) | function _tr_align(s) { function _tr_flush_block (line 11160) | function _tr_flush_block(s, buf, stored_len, last) function _tr_tally (line 11247) | function _tr_tally(s, dist, lc) function ZStream (line 11333) | function ZStream() { FILE: libs/media/media.js function ucFirst (line 1) | function ucFirst(str) { class MediaModal (line 13) | class MediaModal { method constructor (line 14) | constructor (modal = true) method getResponse (line 129) | getResponse(response) { method setResponse (line 133) | setResponse(response) { method addModalHtml (line 139) | addModalHtml() { method showUploadLoading (line 145) | showUploadLoading() { method hideUploadLoading (line 152) | hideUploadLoading() { method save (line 156) | save() { method init (line 187) | init() { method open (line 213) | open(element, callback) { method initGallery (line 236) | initGallery() { method goto (line 403) | goto(hash) { method generateBreadcrumbs (line 461) | generateBreadcrumbs(nextDir){ method searchByPath (line 472) | searchByPath(dir) { method searchData (line 494) | searchData(data, searchTerms) { method onUpload (line 524) | onUpload(event) { method deleteFile (line 582) | deleteFile(el) { method renameFile (line 615) | renameFile(el) { method addFile (line 643) | addFile(f, selected) { method render (line 700) | render(data) { method escapeHTML (line 820) | escapeHTML(text) { method bytesToSize (line 827) | bytesToSize(bytes) { FILE: libs/media/openverse.js class OpenVerse (line 1) | class OpenVerse { method constructor (line 3) | constructor () method authenticate (line 35) | authenticate() { method setFiltersParams (line 61) | setFiltersParams(filtersParameters) { method getResults (line 65) | getResults(callback) { class OpenVerseDisplay (line 89) | class OpenVerseDisplay extends OpenVerse { method constructor (line 91) | constructor () method getFiltersHtml (line 96) | getFiltersHtml() { method showLoading (line 115) | showLoading() { method setFilters (line 122) | setFilters() { method displayResults (line 127) | displayResults(data) { method page (line 218) | page(pageNo) { method search (line 225) | search() { method toggleBtn (line 232) | toggleBtn() { method displayPanel (line 245) | displayPanel() { method paginationContainer (line 249) | paginationContainer() { method topPanel (line 254) | topPanel() { method init (line 298) | init() { FILE: save.js function sanitizeFileName (line 21) | function sanitizeFileName(file, allowedExtension = 'html') { FILE: save.php function sanitizeFileName (line 32) | function sanitizeFileName($file, $allowedExtension = 'html') { function showError (line 56) | function showError($error) { function validOembedUrl (line 61) | function validOembedUrl($url) { FILE: scan.php function sanitizePath (line 24) | function sanitizePath($path) { FILE: upload.php function showError (line 27) | function showError($error) { function sanitizeFileName (line 32) | function sanitizeFileName($file)