diff --git a/chrome/nsChromeRegistry.cpp b/chrome/nsChromeRegistry.cpp index 74e16f8175f8..14ae6bdf2dd6 100644 --- a/chrome/nsChromeRegistry.cpp +++ b/chrome/nsChromeRegistry.cpp @@ -32,9 +32,7 @@ #include "mozilla/StyleSheetInlines.h" #include "mozilla/dom/Location.h" -#ifdef ENABLE_INTL_API #include "unicode/uloc.h" -#endif nsChromeRegistry* nsChromeRegistry::gChromeRegistry; @@ -638,7 +636,6 @@ nsChromeRegistry::MustLoadURLRemotely(nsIURI *aURI, bool *aResult) bool nsChromeRegistry::GetDirectionForLocale(const nsACString& aLocale) { -#ifdef ENABLE_INTL_API int pref = mozilla::Preferences::GetInt("intl.uidirection", -1); if (pref >= 0) { return (pref > 0); @@ -646,28 +643,6 @@ nsChromeRegistry::GetDirectionForLocale(const nsACString& aLocale) nsAutoCString locale(aLocale); SanitizeForBCP47(locale); return uloc_isRightToLeft(locale.get()); -#else - // first check the intl.uidirection. preference, and if that is not - // set, check the same preference but with just the first two characters of - // the locale. If that isn't set, default to left-to-right. - nsAutoCString prefString = NS_LITERAL_CSTRING("intl.uidirection.") + aLocale; - nsCOMPtr prefBranch (do_GetService(NS_PREFSERVICE_CONTRACTID)); - if (!prefBranch) { - return false; - } - - nsCString dir; - prefBranch->GetCharPref(prefString.get(), getter_Copies(dir)); - if (dir.IsEmpty()) { - int32_t hyphen = prefString.FindChar('-'); - if (hyphen >= 1) { - nsAutoCString shortPref(Substring(prefString, 0, hyphen)); - prefBranch->GetCharPref(shortPref.get(), getter_Copies(dir)); - } - } - - return dir.EqualsLiteral("rtl"); -#endif } NS_IMETHODIMP_(bool) @@ -715,7 +690,6 @@ nsChromeRegistry::GetSingleton() void nsChromeRegistry::SanitizeForBCP47(nsACString& aLocale) { -#ifdef ENABLE_INTL_API // Currently, the only locale code we use that's not BCP47-conformant is // "ja-JP-mac" on OS X, but let's try to be more general than just // hard-coding that here. @@ -730,13 +704,4 @@ nsChromeRegistry::SanitizeForBCP47(nsACString& aLocale) if (U_SUCCESS(err) && len > 0) { aLocale.Assign(langTag, len); } -#else - // This is only really needed for Intl API purposes, AFAIK, - // so probably won't be used in a non-ENABLE_INTL_API build. - // But let's fix up the single anomalous code we actually ship, - // just in case: - if (aLocale.EqualsLiteral("ja-JP-mac")) { - aLocale.AssignLiteral("ja-JP"); - } -#endif } diff --git a/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-01.js b/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-01.js index e2262d4e895a..f6b398fa9e6e 100644 --- a/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-01.js +++ b/devtools/client/debugger/test/mochitest/browser_dbg_search-basic-01.js @@ -34,9 +34,6 @@ function performTest() { // Make sure that the search box becomes focused when pressing ctrl+f - Bug 1211038 gEditor.focus(); synthesizeKeyFromKeyTag(gDebugger.document.getElementById("tokenSearchKey")); - let focusedEl = Services.focus.focusedElement; - focusedEl = focusedEl.ownerDocument.getBindingParent(focusedEl) || focusedEl; - is(focusedEl, gDebugger.document.getElementById("searchbox"), "Searchbox is focused"); setText(gSearchBox, "#html"); diff --git a/devtools/client/sourceeditor/codemirror/README b/devtools/client/sourceeditor/codemirror/README index a9c5d78a00f0..581af0add129 100644 --- a/devtools/client/sourceeditor/codemirror/README +++ b/devtools/client/sourceeditor/codemirror/README @@ -5,7 +5,7 @@ code, and optionally help with indentation. # Upgrade -Currently used version is 5.29.0. To upgrade: download a new version of +Currently used version is 5.30.0. To upgrade: download a new version of CodeMirror from the project's page [1] and replace all JavaScript and CSS files inside the codemirror directory [2]. diff --git a/devtools/client/sourceeditor/codemirror/addon/edit/closebrackets.js b/devtools/client/sourceeditor/codemirror/addon/edit/closebrackets.js index 01fdd96ce1a6..36aec0d4b50c 100644 --- a/devtools/client/sourceeditor/codemirror/addon/edit/closebrackets.js +++ b/devtools/client/sourceeditor/codemirror/addon/edit/closebrackets.js @@ -23,6 +23,7 @@ cm.state.closeBrackets = null; } if (val) { + ensureBound(getOption(val, "pairs")) cm.state.closeBrackets = val; cm.addKeyMap(keyMap); } @@ -34,10 +35,14 @@ return defaults[name]; } - var bind = defaults.pairs + "`"; var keyMap = {Backspace: handleBackspace, Enter: handleEnter}; - for (var i = 0; i < bind.length; i++) - keyMap["'" + bind.charAt(i) + "'"] = handler(bind.charAt(i)); + function ensureBound(chars) { + for (var i = 0; i < chars.length; i++) { + var ch = chars.charAt(i), key = "'" + ch + "'" + if (!keyMap[key]) keyMap[key] = handler(ch) + } + } + ensureBound(defaults.pairs + "`") function handler(ch) { return function(cm) { return handleChar(cm, ch); }; diff --git a/devtools/client/sourceeditor/codemirror/addon/hint/show-hint.js b/devtools/client/sourceeditor/codemirror/addon/hint/show-hint.js index 604bd3b71555..f72a0a9c691d 100644 --- a/devtools/client/sourceeditor/codemirror/addon/hint/show-hint.js +++ b/devtools/client/sourceeditor/codemirror/addon/hint/show-hint.js @@ -302,7 +302,7 @@ setTimeout(function(){cm.focus();}, 20); }); - CodeMirror.signal(data, "select", completions[0], hints.firstChild); + CodeMirror.signal(data, "select", completions[this.selectedHint], hints.childNodes[this.selectedHint]); return true; } diff --git a/devtools/client/sourceeditor/codemirror/addon/search/search.js b/devtools/client/sourceeditor/codemirror/addon/search/search.js index bff4ef8d4e53..9eced6927234 100644 --- a/devtools/client/sourceeditor/codemirror/addon/search/search.js +++ b/devtools/client/sourceeditor/codemirror/addon/search/search.js @@ -132,6 +132,7 @@ var state = getSearchState(cm); if (state.query) return findNext(cm, rev); var q = cm.getSelection() || state.lastQuery; + if (q instanceof RegExp && q.source == "x^") q = null if (persistent && cm.openDialog) { var hiding = null var searchNext = function(query, event) { diff --git a/devtools/client/sourceeditor/codemirror/addon/selection/mark-selection.js b/devtools/client/sourceeditor/codemirror/addon/selection/mark-selection.js index 6cceeae6c73d..1602acc3deb8 100644 --- a/devtools/client/sourceeditor/codemirror/addon/selection/mark-selection.js +++ b/devtools/client/sourceeditor/codemirror/addon/selection/mark-selection.js @@ -86,7 +86,7 @@ if (!array.length) return coverRange(cm, from, to); var coverStart = array[0].find(), coverEnd = array[array.length - 1].find(); - if (!coverStart || !coverEnd || to.line - from.line < CHUNK_SIZE || + if (!coverStart || !coverEnd || to.line - from.line <= CHUNK_SIZE || cmp(from, coverEnd.to) >= 0 || cmp(to, coverStart.from) <= 0) return reset(cm); diff --git a/devtools/client/sourceeditor/codemirror/addon/tern/tern.js b/devtools/client/sourceeditor/codemirror/addon/tern/tern.js index 644e495f6504..a80dc7e4b8e0 100644 --- a/devtools/client/sourceeditor/codemirror/addon/tern/tern.js +++ b/devtools/client/sourceeditor/codemirror/addon/tern/tern.js @@ -571,7 +571,7 @@ return {type: "part", name: data.name, offsetLines: from.line, - text: doc.getRange(from, Pos(endLine, 0))}; + text: doc.getRange(from, Pos(endLine, end.line == endLine ? null : 0))}; } // Generic utilities diff --git a/devtools/client/sourceeditor/codemirror/codemirror.bundle.js b/devtools/client/sourceeditor/codemirror/codemirror.bundle.js index be7f9febf83f..015694965527 100644 --- a/devtools/client/sourceeditor/codemirror/codemirror.bundle.js +++ b/devtools/client/sourceeditor/codemirror/codemirror.bundle.js @@ -520,13 +520,18 @@ var CodeMirror = } // Returns the value from the range [`from`; `to`] that satisfies - // `pred` and is closest to `from`. Assumes that at least `to` satisfies `pred`. + // `pred` and is closest to `from`. Assumes that at least `to` + // satisfies `pred`. Supports `from` being greater than `to`. function findFirst(pred, from, to) { + // At any point we are certain `to` satisfies `pred`, don't know + // whether `from` does. + var dir = from > to ? -1 : 1 for (;;) { - if (Math.abs(from - to) <= 1) { return pred(from) ? from : to } - var mid = Math.floor((from + to) / 2) + if (from == to) { return from } + var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF) + if (mid == from) { return pred(mid) ? from : to } if (pred(mid)) { to = mid } - else { from = mid } + else { from = mid + dir } } } @@ -1139,12 +1144,12 @@ var CodeMirror = // BIDI HELPERS function iterateBidiSections(order, from, to, f) { - if (!order) { return f(from, to, "ltr") } + if (!order) { return f(from, to, "ltr", 0) } var found = false for (var i = 0; i < order.length; ++i) { var part = order[i] if (part.from < to && part.to > from || from == to && part.to == from) { - f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr") + f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr", i) found = true } } @@ -1347,112 +1352,6 @@ var CodeMirror = return order } - function moveCharLogically(line, ch, dir) { - var target = skipExtendingChars(line.text, ch + dir, dir) - return target < 0 || target > line.text.length ? null : target - } - - function moveLogically(line, start, dir) { - var ch = moveCharLogically(line, start.ch, dir) - return ch == null ? null : new Pos(start.line, ch, dir < 0 ? "after" : "before") - } - - function endOfLine(visually, cm, lineObj, lineNo, dir) { - if (visually) { - var order = getOrder(lineObj, cm.doc.direction) - if (order) { - var part = dir < 0 ? lst(order) : order[0] - var moveInStorageOrder = (dir < 0) == (part.level == 1) - var sticky = moveInStorageOrder ? "after" : "before" - var ch - // With a wrapped rtl chunk (possibly spanning multiple bidi parts), - // it could be that the last bidi part is not on the last visual line, - // since visual lines contain content order-consecutive chunks. - // Thus, in rtl, we are looking for the first (content-order) character - // in the rtl chunk that is on the last line (that is, the same line - // as the last (content-order) character). - if (part.level > 0) { - var prep = prepareMeasureForLine(cm, lineObj) - ch = dir < 0 ? lineObj.text.length - 1 : 0 - var targetTop = measureCharPrepared(cm, prep, ch).top - ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch) - if (sticky == "before") { ch = moveCharLogically(lineObj, ch, 1) } - } else { ch = dir < 0 ? part.to : part.from } - return new Pos(lineNo, ch, sticky) - } - } - return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? "before" : "after") - } - - function moveVisually(cm, line, start, dir) { - var bidi = getOrder(line, cm.doc.direction) - if (!bidi) { return moveLogically(line, start, dir) } - if (start.ch >= line.text.length) { - start.ch = line.text.length - start.sticky = "before" - } else if (start.ch <= 0) { - start.ch = 0 - start.sticky = "after" - } - var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos] - if (cm.doc.direction == "ltr" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) { - // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines, - // nothing interesting happens. - return moveLogically(line, start, dir) - } - - var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); } - var prep - var getWrappedLineExtent = function (ch) { - if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} } - prep = prep || prepareMeasureForLine(cm, line) - return wrappedLineExtentChar(cm, line, prep, ch) - } - var wrappedLineExtent = getWrappedLineExtent(start.sticky == "before" ? mv(start, -1) : start.ch) - - if (cm.doc.direction == "rtl" || part.level == 1) { - var moveInStorageOrder = (part.level == 1) == (dir < 0) - var ch = mv(start, moveInStorageOrder ? 1 : -1) - if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) { - // Case 2: We move within an rtl part or in an rtl editor on the same visual line - var sticky = moveInStorageOrder ? "before" : "after" - return new Pos(start.line, ch, sticky) - } - } - - // Case 3: Could not move within this bidi part in this visual line, so leave - // the current bidi part - - var searchInVisualLine = function (partPos, dir, wrappedLineExtent) { - var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder - ? new Pos(start.line, mv(ch, 1), "before") - : new Pos(start.line, ch, "after"); } - - for (; partPos >= 0 && partPos < bidi.length; partPos += dir) { - var part = bidi[partPos] - var moveInStorageOrder = (dir > 0) == (part.level != 1) - var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1) - if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) } - ch = moveInStorageOrder ? part.from : mv(part.to, -1) - if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) } - } - } - - // Case 3a: Look for other bidi parts on the same visual line - var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent) - if (res) { return res } - - // Case 3b: Look for other bidi parts on the next visual line - var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1) - if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) { - res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh)) - if (res) { return res } - } - - // Case 4: Nowhere to move - return null - } - // EVENT HANDLING // Lightweight event framework. on/off also work on DOM nodes, @@ -2961,15 +2860,22 @@ var CodeMirror = return window.pageYOffset || (document.documentElement || document.body).scrollTop } + function widgetTopHeight(lineObj) { + var height = 0 + if (lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) + { height += widgetHeight(lineObj.widgets[i]) } } } + return height + } + // Converts a {top, bottom, left, right} box from line-local // coordinates into another coordinate system. Context may be one of // "line", "div" (display.lineDiv), "local"./null (editor), "window", // or "page". function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) { - if (!includeWidgets && lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) { - var size = widgetHeight(lineObj.widgets[i]) - rect.top += size; rect.bottom += size - } } } + if (!includeWidgets) { + var height = widgetTopHeight(lineObj) + rect.top += height; rect.bottom += height + } if (context == "line") { return rect } if (!context) { context = "local" } var yOff = heightAtLine(lineObj) @@ -3044,7 +2950,7 @@ var CodeMirror = if (!order) { return get(sticky == "before" ? ch - 1 : ch, sticky == "before") } function getBidi(ch, partPos, invert) { - var part = order[partPos], right = (part.level % 2) != 0 + var part = order[partPos], right = part.level == 1 return get(invert ? ch - 1 : ch, right != invert) } var partPos = getBidiPartAt(order, ch, sticky) @@ -3102,77 +3008,146 @@ var CodeMirror = } function wrappedLineExtent(cm, lineObj, preparedMeasure, y) { - var measure = function (ch) { return intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, ch), "line"); } + y -= widgetTopHeight(lineObj) var end = lineObj.text.length - var begin = findFirst(function (ch) { return measure(ch - 1).bottom <= y; }, end, 0) - end = findFirst(function (ch) { return measure(ch).top > y; }, begin, end) + var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0) + end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end) return {begin: begin, end: end} } function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) { + if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj) } var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), "line").top return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop) } + // Returns true if the given side of a box is after the given + // coordinates, in top-to-bottom, left-to-right order. + function boxIsAfter(box, x, y, left) { + return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x + } + function coordsCharInner(cm, lineObj, lineNo, x, y) { + // Move y into line-local coordinate space y -= heightAtLine(lineObj) - var begin = 0, end = lineObj.text.length var preparedMeasure = prepareMeasureForLine(cm, lineObj) - var pos + // When directly calling `measureCharPrepared`, we have to adjust + // for the widgets at this line. + var widgetHeight = widgetTopHeight(lineObj) + var begin = 0, end = lineObj.text.length, ltr = true + var order = getOrder(lineObj, cm.doc.direction) + // If the line isn't plain left-to-right text, first figure out + // which bidi section the coordinates fall into. if (order) { - if (cm.options.lineWrapping) { - ;var assign; - ((assign = wrappedLineExtent(cm, lineObj, preparedMeasure, y), begin = assign.begin, end = assign.end, assign)) - } - pos = new Pos(lineNo, Math.floor(begin + (end - begin) / 2)) - var beginLeft = cursorCoords(cm, pos, "line", lineObj, preparedMeasure).left - var dir = beginLeft < x ? 1 : -1 - var prevDiff, diff = beginLeft - x, prevPos - var steps = Math.ceil((end - begin) / 4) - outer: do { - prevDiff = diff - prevPos = pos - var i = 0 - for (; i < steps; ++i) { - var prevPos$1 = pos - pos = moveVisually(cm, lineObj, pos, dir) - if (pos == null || pos.ch < begin || end <= (pos.sticky == "before" ? pos.ch - 1 : pos.ch)) { - pos = prevPos$1 - break outer - } - } - diff = cursorCoords(cm, pos, "line", lineObj, preparedMeasure).left - x - if (steps > 1) { - var diff_change_per_step = Math.abs(diff - prevDiff) / steps - steps = Math.min(steps, Math.ceil(Math.abs(diff) / diff_change_per_step)) - dir = diff < 0 ? 1 : -1 - } - } while (diff != 0 && (steps > 1 || ((dir < 0) != (diff < 0) && (Math.abs(diff) <= Math.abs(prevDiff))))) - if (Math.abs(diff) > Math.abs(prevDiff)) { - if ((diff < 0) == (prevDiff < 0)) { throw new Error("Broke out of infinite loop in coordsCharInner") } - pos = prevPos - } - } else { - var ch = findFirst(function (ch) { - var box = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, ch), "line") - if (box.top > y) { - // For the cursor stickiness - end = Math.min(ch, end) - return true - } - else if (box.bottom <= y) { return false } - else if (box.left > x) { return true } - else if (box.right < x) { return false } - else { return (x - box.left < box.right - x) } - }, begin, end) - ch = skipExtendingChars(lineObj.text, ch, 1) - pos = new Pos(lineNo, ch, ch == end ? "before" : "after") + var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart) + (cm, lineObj, lineNo, preparedMeasure, order, x, y) + ltr = part.level != 1 + // The awkward -1 offsets are needed because findFirst (called + // on these below) will treat its first bound as inclusive, + // second as exclusive, but we want to actually address the + // characters in the part's range + begin = ltr ? part.from : part.to - 1 + end = ltr ? part.to : part.from - 1 } - var coords = cursorCoords(cm, pos, "line", lineObj, preparedMeasure) - if (y < coords.top || coords.bottom < y) { pos.outside = true } - pos.xRel = x < coords.left ? -1 : (x > coords.right ? 1 : 0) - return pos + + // A binary search to find the first character whose bounding box + // starts after the coordinates. If we run across any whose box wrap + // the coordinates, store that. + var chAround = null, boxAround = null + var ch = findFirst(function (ch) { + var box = measureCharPrepared(cm, preparedMeasure, ch) + box.top += widgetHeight; box.bottom += widgetHeight + if (!boxIsAfter(box, x, y, false)) { return false } + if (box.top <= y && box.left <= x) { + chAround = ch + boxAround = box + } + return true + }, begin, end) + + var baseX, sticky, outside = false + // If a box around the coordinates was found, use that + if (boxAround) { + // Distinguish coordinates nearer to the left or right side of the box + var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr + ch = chAround + (atStart ? 0 : 1) + sticky = atStart ? "after" : "before" + baseX = atLeft ? boxAround.left : boxAround.right + } else { + // (Adjust for extended bound, if necessary.) + if (!ltr && (ch == end || ch == begin)) { ch++ } + // To determine which side to associate with, get the box to the + // left of the character and compare it's vertical position to the + // coordinates + sticky = ch == 0 ? "after" : ch == lineObj.text.length ? "before" : + (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y) == ltr ? + "after" : "before" + // Now get accurate coordinates for this place, in order to get a + // base X position + var coords = cursorCoords(cm, Pos(lineNo, ch, sticky), "line", lineObj, preparedMeasure) + baseX = coords.left + outside = y < coords.top || y >= coords.bottom + } + + ch = skipExtendingChars(lineObj.text, ch, 1) + return PosWithInfo(lineNo, ch, sticky, outside, x - baseX) + } + + function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) { + // Bidi parts are sorted left-to-right, and in a non-line-wrapping + // situation, we can take this ordering to correspond to the visual + // ordering. This finds the first part whose end is after the given + // coordinates. + var index = findFirst(function (i) { + var part = order[i], ltr = part.level != 1 + return boxIsAfter(cursorCoords(cm, Pos(lineNo, ltr ? part.to : part.from, ltr ? "before" : "after"), + "line", lineObj, preparedMeasure), x, y, true) + }, 0, order.length - 1) + var part = order[index] + // If this isn't the first part, the part's start is also after + // the coordinates, and the coordinates aren't on the same line as + // that start, move one part back. + if (index > 0) { + var ltr = part.level != 1 + var start = cursorCoords(cm, Pos(lineNo, ltr ? part.from : part.to, ltr ? "after" : "before"), + "line", lineObj, preparedMeasure) + if (boxIsAfter(start, x, y, true) && start.top > y) + { part = order[index - 1] } + } + return part + } + + function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) { + // In a wrapped line, rtl text on wrapping boundaries can do things + // that don't correspond to the ordering in our `order` array at + // all, so a binary search doesn't work, and we want to return a + // part that only spans one line so that the binary search in + // coordsCharInner is safe. As such, we first find the extent of the + // wrapped line, and then do a flat search in which we discard any + // spans that aren't on the line. + var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y); + var begin = ref.begin; + var end = ref.end; + var part = null, closestDist = null + for (var i = 0; i < order.length; i++) { + var p = order[i] + if (p.from >= end || p.to <= begin) { continue } + var ltr = p.level != 1 + var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right + // Weigh against spans ending before this, so that they are only + // picked if nothing ends after + var dist = endX < x ? x - endX + 1e9 : endX - x + if (!part || closestDist > dist) { + part = p + closestDist = dist + } + } + if (!part) { part = order[order.length - 1] } + // Clip the part to the wrapped line. + if (part.from < begin) { part = {from: begin, to: part.to, level: part.level} } + if (part.to > end) { part = {from: part.from, to: end, level: part.level} } + return part } var measureText @@ -3298,12 +3273,14 @@ var CodeMirror = } function prepareSelection(cm, primary) { + if ( primary === void 0 ) primary = true; + var doc = cm.doc, result = {} var curFragment = result.cursors = document.createDocumentFragment() var selFragment = result.selection = document.createDocumentFragment() for (var i = 0; i < doc.sel.ranges.length; i++) { - if (primary === false && i == doc.sel.primIndex) { continue } + if (!primary && i == doc.sel.primIndex) { continue } var range = doc.sel.ranges[i] if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue } var collapsed = range.empty() @@ -3334,6 +3311,8 @@ var CodeMirror = } } + function cmpCoords(a, b) { return a.top - b.top || a.left - b.left } + // Draws the given range as a highlighted selection function drawSelectionRange(cm, range, output) { var display = cm.display, doc = cm.doc @@ -3356,30 +3335,48 @@ var CodeMirror = return charCoords(cm, Pos(line, ch), "div", lineObj, bias) } - iterateBidiSections(getOrder(lineObj, doc.direction), fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir) { - var leftPos = coords(from, "left"), rightPos, left, right - if (from == to) { - rightPos = leftPos - left = right = leftPos.left - } else { - rightPos = coords(to - 1, "right") - if (dir == "rtl") { var tmp = leftPos; leftPos = rightPos; rightPos = tmp } - left = leftPos.left - right = rightPos.right + var order = getOrder(lineObj, doc.direction) + iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) { + var fromPos = coords(from, dir == "ltr" ? "left" : "right") + var toPos = coords(to - 1, dir == "ltr" ? "right" : "left") + if (dir == "ltr") { + var fromLeft = fromArg == null && from == 0 ? leftSide : fromPos.left + var toRight = toArg == null && to == lineLen ? rightSide : toPos.right + if (toPos.top - fromPos.top <= 3) { // Single line + add(fromLeft, toPos.top, toRight - fromLeft, toPos.bottom) + } else { // Multiple lines + add(fromLeft, fromPos.top, null, fromPos.bottom) + if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top) } + add(leftSide, toPos.top, toPos.right, toPos.bottom) + } + } else if (from < to) { // RTL + var fromRight = fromArg == null && from == 0 ? rightSide : fromPos.right + var toLeft = toArg == null && to == lineLen ? leftSide : toPos.left + if (toPos.top - fromPos.top <= 3) { // Single line + add(toLeft, toPos.top, fromRight - toLeft, toPos.bottom) + } else { // Multiple lines + var topLeft = leftSide + if (i) { + var topEnd = wrappedLineExtentChar(cm, lineObj, null, from).end + // The coordinates returned for an RTL wrapped space tend to + // be complete bogus, so try to skip that here. + topLeft = coords(topEnd - (/\s/.test(lineObj.text.charAt(topEnd - 1)) ? 2 : 1), "left").left + } + add(topLeft, fromPos.top, fromRight - topLeft, fromPos.bottom) + if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top) } + var botWidth = null + if (i < order.length - 1 || true) { + var botStart = wrappedLineExtentChar(cm, lineObj, null, to).begin + botWidth = coords(botStart, "right").right - toLeft + } + add(toLeft, toPos.top, botWidth, toPos.bottom) + } } - if (fromArg == null && from == 0) { left = leftSide } - if (rightPos.top - leftPos.top > 3) { // Different lines, draw top part - add(left, leftPos.top, null, leftPos.bottom) - left = leftSide - if (leftPos.bottom < rightPos.top) { add(left, leftPos.bottom, null, rightPos.top) } - } - if (toArg == null && to == lineLen) { right = rightSide } - if (!start || leftPos.top < start.top || leftPos.top == start.top && leftPos.left < start.left) - { start = leftPos } - if (!end || rightPos.bottom > end.bottom || rightPos.bottom == end.bottom && rightPos.right > end.right) - { end = rightPos } - if (left < leftSide + 1) { left = leftSide } - add(left, rightPos.top, right - left, rightPos.bottom) + + if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos } + if (cmpCoords(toPos, start) < 0) { start = toPos } + if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos } + if (cmpCoords(toPos, end) < 0) { end = toPos } }) return {start: start, end: end} } @@ -4009,7 +4006,7 @@ var CodeMirror = } if (op.updatedDisplay || op.selectionChanged) - { op.preparedSelection = display.input.prepareSelection(op.focus) } + { op.preparedSelection = display.input.prepareSelection() } } function endOperation_W2(op) { @@ -4022,7 +4019,7 @@ var CodeMirror = cm.display.maxLineChanged = false } - var takeFocus = op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus()) + var takeFocus = op.focus && op.focus == activeElt() if (op.preparedSelection) { cm.display.input.showSelection(op.preparedSelection, takeFocus) } if (op.updatedDisplay || op.startHeight != cm.doc.height) @@ -5611,7 +5608,8 @@ var CodeMirror = function replaceRange(doc, code, from, to, origin) { if (!to) { to = from } - if (cmp(to, from) < 0) { var tmp = to; to = from; from = tmp } + if (cmp(to, from) < 0) { var assign; + (assign = [to, from], from = assign[0], to = assign[1], assign) } if (typeof code == "string") { code = doc.splitLines(code) } makeChange(doc, {from: from, to: to, text: code, origin: origin}) } @@ -6973,6 +6971,112 @@ var CodeMirror = }) } + function moveCharLogically(line, ch, dir) { + var target = skipExtendingChars(line.text, ch + dir, dir) + return target < 0 || target > line.text.length ? null : target + } + + function moveLogically(line, start, dir) { + var ch = moveCharLogically(line, start.ch, dir) + return ch == null ? null : new Pos(start.line, ch, dir < 0 ? "after" : "before") + } + + function endOfLine(visually, cm, lineObj, lineNo, dir) { + if (visually) { + var order = getOrder(lineObj, cm.doc.direction) + if (order) { + var part = dir < 0 ? lst(order) : order[0] + var moveInStorageOrder = (dir < 0) == (part.level == 1) + var sticky = moveInStorageOrder ? "after" : "before" + var ch + // With a wrapped rtl chunk (possibly spanning multiple bidi parts), + // it could be that the last bidi part is not on the last visual line, + // since visual lines contain content order-consecutive chunks. + // Thus, in rtl, we are looking for the first (content-order) character + // in the rtl chunk that is on the last line (that is, the same line + // as the last (content-order) character). + if (part.level > 0) { + var prep = prepareMeasureForLine(cm, lineObj) + ch = dir < 0 ? lineObj.text.length - 1 : 0 + var targetTop = measureCharPrepared(cm, prep, ch).top + ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch) + if (sticky == "before") { ch = moveCharLogically(lineObj, ch, 1) } + } else { ch = dir < 0 ? part.to : part.from } + return new Pos(lineNo, ch, sticky) + } + } + return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? "before" : "after") + } + + function moveVisually(cm, line, start, dir) { + var bidi = getOrder(line, cm.doc.direction) + if (!bidi) { return moveLogically(line, start, dir) } + if (start.ch >= line.text.length) { + start.ch = line.text.length + start.sticky = "before" + } else if (start.ch <= 0) { + start.ch = 0 + start.sticky = "after" + } + var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos] + if (cm.doc.direction == "ltr" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) { + // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines, + // nothing interesting happens. + return moveLogically(line, start, dir) + } + + var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); } + var prep + var getWrappedLineExtent = function (ch) { + if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} } + prep = prep || prepareMeasureForLine(cm, line) + return wrappedLineExtentChar(cm, line, prep, ch) + } + var wrappedLineExtent = getWrappedLineExtent(start.sticky == "before" ? mv(start, -1) : start.ch) + + if (cm.doc.direction == "rtl" || part.level == 1) { + var moveInStorageOrder = (part.level == 1) == (dir < 0) + var ch = mv(start, moveInStorageOrder ? 1 : -1) + if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) { + // Case 2: We move within an rtl part or in an rtl editor on the same visual line + var sticky = moveInStorageOrder ? "before" : "after" + return new Pos(start.line, ch, sticky) + } + } + + // Case 3: Could not move within this bidi part in this visual line, so leave + // the current bidi part + + var searchInVisualLine = function (partPos, dir, wrappedLineExtent) { + var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder + ? new Pos(start.line, mv(ch, 1), "before") + : new Pos(start.line, ch, "after"); } + + for (; partPos >= 0 && partPos < bidi.length; partPos += dir) { + var part = bidi[partPos] + var moveInStorageOrder = (dir > 0) == (part.level != 1) + var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1) + if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) } + ch = moveInStorageOrder ? part.from : mv(part.to, -1) + if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) } + } + } + + // Case 3a: Look for other bidi parts on the same visual line + var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent) + if (res) { return res } + + // Case 3b: Look for other bidi parts on the next visual line + var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1) + if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) { + res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh)) + if (res) { return res } + } + + // Case 4: Nowhere to move + return null + } + // Commands are parameter-less actions that can be performed on an // editor, mostly used for keybindings. var commands = { @@ -7534,7 +7638,7 @@ var CodeMirror = anchor = maxPos(oldRange.to(), range.head) } var ranges$1 = startSel.ranges.slice(0) - ranges$1[ourIndex] = new Range(clipPos(doc, anchor), head) + ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head)) setSelection(doc, normalizeSelection(ranges$1, ourIndex), sel_mouse) } } @@ -7586,13 +7690,52 @@ var CodeMirror = on(document, "mouseup", up) } + // Used when mouse-selecting to adjust the anchor to the proper side + // of a bidi jump depending on the visual position of the head. + function bidiSimplify(cm, range) { + var anchor = range.anchor; + var head = range.head; + var anchorLine = getLine(cm.doc, anchor.line) + if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range } + var order = getOrder(anchorLine) + if (!order) { return range } + var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index] + if (part.from != anchor.ch && part.to != anchor.ch) { return range } + var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1) + if (boundary == 0 || boundary == order.length) { return range } + + // Compute the relative visual position of the head compared to the + // anchor (<0 is to the left, >0 to the right) + var leftSide + if (head.line != anchor.line) { + leftSide = (head.line - anchor.line) * (cm.doc.direction == "ltr" ? 1 : -1) > 0 + } else { + var headIndex = getBidiPartAt(order, head.ch, head.sticky) + var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1) + if (headIndex == boundary - 1 || headIndex == boundary) + { leftSide = dir < 0 } + else + { leftSide = dir > 0 } + } + + var usePart = order[boundary + (leftSide ? -1 : 0)] + var from = leftSide == (usePart.level == 1) + var ch = from ? usePart.from : usePart.to, sticky = from ? "after" : "before" + return anchor.ch == ch && anchor.sticky == sticky ? range : new Range(new Pos(anchor.line, ch, sticky), head) + } + // Determines whether an event happened in the gutter, and fires the // handlers for the corresponding event. function gutterEvent(cm, e, type, prevent) { var mX, mY - try { mX = e.clientX; mY = e.clientY } - catch(e) { return false } + if (e.touches) { + mX = e.touches[0].clientX + mY = e.touches[0].clientY + } else { + try { mX = e.clientX; mY = e.clientY } + catch(e) { return false } + } if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false } if (prevent) { e_preventDefault(e) } @@ -7930,7 +8073,7 @@ var CodeMirror = return dx * dx + dy * dy > 20 * 20 } on(d.scroller, "touchstart", function (e) { - if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e)) { + if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) { d.input.ensurePolled() clearTimeout(touchFinished) var now = +new Date @@ -9714,7 +9857,7 @@ var CodeMirror = addLegacyProps(CodeMirror) - CodeMirror.version = "5.29.0" + CodeMirror.version = "5.30.0" return CodeMirror; @@ -10153,6 +10296,7 @@ var CodeMirror = var state = getSearchState(cm); if (state.query) return findNext(cm, rev); var q = cm.getSelection() || state.lastQuery; + if (q instanceof RegExp && q.source == "x^") q = null if (persistent && cm.openDialog) { var hiding = null var searchNext = function(query, event) { @@ -10462,6 +10606,7 @@ var CodeMirror = cm.state.closeBrackets = null; } if (val) { + ensureBound(getOption(val, "pairs")) cm.state.closeBrackets = val; cm.addKeyMap(keyMap); } @@ -10473,10 +10618,14 @@ var CodeMirror = return defaults[name]; } - var bind = defaults.pairs + "`"; var keyMap = {Backspace: handleBackspace, Enter: handleEnter}; - for (var i = 0; i < bind.length; i++) - keyMap["'" + bind.charAt(i) + "'"] = handler(bind.charAt(i)); + function ensureBound(chars) { + for (var i = 0; i < chars.length; i++) { + var ch = chars.charAt(i), key = "'" + ch + "'" + if (!keyMap[key]) keyMap[key] = handler(ch) + } + } + ensureBound(defaults.pairs + "`") function handler(ch) { return function(cm) { return handleChar(cm, ch); }; @@ -10894,7 +11043,7 @@ var CodeMirror = var jsKeywords = { "if": kw("if"), "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B, - "return": C, "break": C, "continue": C, "new": kw("new"), "delete": C, "throw": C, "debugger": C, + "return": C, "break": C, "continue": C, "new": kw("new"), "delete": C, "void": C, "throw": C, "debugger": C, "var": kw("var"), "const": kw("var"), "let": kw("var"), "function": kw("function"), "catch": kw("catch"), "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"), @@ -11264,7 +11413,7 @@ var CodeMirror = function expressionInner(type, noComma) { if (cx.state.fatArrowAt == cx.stream.start) { var body = noComma ? arrowBodyNoComma : arrowBody; - if (type == "(") return cont(pushcontext, pushlex(")"), commasep(pattern, ")"), poplex, expect("=>"), body, popcontext); + if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, expect("=>"), body, popcontext); else if (type == "variable") return pass(pushcontext, pattern, expect("=>"), body, popcontext); } @@ -11309,6 +11458,11 @@ var CodeMirror = if (type == ".") return cont(property, me); if (type == "[") return cont(pushlex("]"), maybeexpression, expect("]"), poplex, me); if (isTS && value == "as") { cx.marked = "keyword"; return cont(typeexpr, me) } + if (type == "regexp") { + cx.state.lastType = cx.marked = "operator" + cx.stream.backUp(cx.stream.pos - cx.stream.start - 1) + return cont(expr) + } } function quasi(type, value) { if (type != "quasi") return pass(); @@ -11357,6 +11511,9 @@ var CodeMirror = } else if (type == "variable" || cx.style == "keyword") { cx.marked = "property"; if (value == "get" || value == "set") return cont(getterSetter); + var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params + if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\s*:\s*/, false))) + cx.state.fatArrowAt = cx.stream.pos + m[0].length return cont(afterprop); } else if (type == "number" || type == "string") { cx.marked = jsonldMode ? "property" : (cx.style + " property"); @@ -11514,7 +11671,8 @@ var CodeMirror = if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, maybetype, statement, popcontext); if (isTS && value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, functiondef) } - function funarg(type) { + function funarg(type, value) { + if (value == "@") cont(expression, funarg) if (type == "spread" || type == "modifier") return cont(funarg); return pass(pattern, maybetype, maybeAssign); } @@ -11540,7 +11698,7 @@ var CodeMirror = cx.marked = "keyword"; return cont(classBody); } - if (type == "variable") { + if (type == "variable" || cx.style == "keyword") { cx.marked = "property"; return cont(isTS ? classfield : functiondef, classBody); } @@ -11602,7 +11760,7 @@ var CodeMirror = function expressionAllowed(stream, state, backUp) { return state.tokenize == tokenBase && - /^(?:operator|sof|keyword c|case|new|export|default|[\[{}\(,;:]|=>)$/.test(state.lastType) || + /^(?:operator|sof|keyword [bc]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(state.lastType) || (state.lastType == "quasi" && /\{\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0)))) } diff --git a/devtools/client/sourceeditor/codemirror/lib/codemirror.js b/devtools/client/sourceeditor/codemirror/lib/codemirror.js index 27a3485c0ab0..2f90d18df361 100644 --- a/devtools/client/sourceeditor/codemirror/lib/codemirror.js +++ b/devtools/client/sourceeditor/codemirror/lib/codemirror.js @@ -278,13 +278,18 @@ function skipExtendingChars(str, pos, dir) { } // Returns the value from the range [`from`; `to`] that satisfies -// `pred` and is closest to `from`. Assumes that at least `to` satisfies `pred`. +// `pred` and is closest to `from`. Assumes that at least `to` +// satisfies `pred`. Supports `from` being greater than `to`. function findFirst(pred, from, to) { + // At any point we are certain `to` satisfies `pred`, don't know + // whether `from` does. + var dir = from > to ? -1 : 1 for (;;) { - if (Math.abs(from - to) <= 1) { return pred(from) ? from : to } - var mid = Math.floor((from + to) / 2) + if (from == to) { return from } + var midF = (from + to) / 2, mid = dir < 0 ? Math.ceil(midF) : Math.floor(midF) + if (mid == from) { return pred(mid) ? from : to } if (pred(mid)) { to = mid } - else { from = mid } + else { from = mid + dir } } } @@ -897,12 +902,12 @@ function findMaxLine(cm) { // BIDI HELPERS function iterateBidiSections(order, from, to, f) { - if (!order) { return f(from, to, "ltr") } + if (!order) { return f(from, to, "ltr", 0) } var found = false for (var i = 0; i < order.length; ++i) { var part = order[i] if (part.from < to && part.to > from || from == to && part.to == from) { - f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr") + f(Math.max(part.from, from), Math.min(part.to, to), part.level == 1 ? "rtl" : "ltr", i) found = true } } @@ -1105,112 +1110,6 @@ function getOrder(line, direction) { return order } -function moveCharLogically(line, ch, dir) { - var target = skipExtendingChars(line.text, ch + dir, dir) - return target < 0 || target > line.text.length ? null : target -} - -function moveLogically(line, start, dir) { - var ch = moveCharLogically(line, start.ch, dir) - return ch == null ? null : new Pos(start.line, ch, dir < 0 ? "after" : "before") -} - -function endOfLine(visually, cm, lineObj, lineNo, dir) { - if (visually) { - var order = getOrder(lineObj, cm.doc.direction) - if (order) { - var part = dir < 0 ? lst(order) : order[0] - var moveInStorageOrder = (dir < 0) == (part.level == 1) - var sticky = moveInStorageOrder ? "after" : "before" - var ch - // With a wrapped rtl chunk (possibly spanning multiple bidi parts), - // it could be that the last bidi part is not on the last visual line, - // since visual lines contain content order-consecutive chunks. - // Thus, in rtl, we are looking for the first (content-order) character - // in the rtl chunk that is on the last line (that is, the same line - // as the last (content-order) character). - if (part.level > 0) { - var prep = prepareMeasureForLine(cm, lineObj) - ch = dir < 0 ? lineObj.text.length - 1 : 0 - var targetTop = measureCharPrepared(cm, prep, ch).top - ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch) - if (sticky == "before") { ch = moveCharLogically(lineObj, ch, 1) } - } else { ch = dir < 0 ? part.to : part.from } - return new Pos(lineNo, ch, sticky) - } - } - return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? "before" : "after") -} - -function moveVisually(cm, line, start, dir) { - var bidi = getOrder(line, cm.doc.direction) - if (!bidi) { return moveLogically(line, start, dir) } - if (start.ch >= line.text.length) { - start.ch = line.text.length - start.sticky = "before" - } else if (start.ch <= 0) { - start.ch = 0 - start.sticky = "after" - } - var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos] - if (cm.doc.direction == "ltr" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) { - // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines, - // nothing interesting happens. - return moveLogically(line, start, dir) - } - - var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); } - var prep - var getWrappedLineExtent = function (ch) { - if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} } - prep = prep || prepareMeasureForLine(cm, line) - return wrappedLineExtentChar(cm, line, prep, ch) - } - var wrappedLineExtent = getWrappedLineExtent(start.sticky == "before" ? mv(start, -1) : start.ch) - - if (cm.doc.direction == "rtl" || part.level == 1) { - var moveInStorageOrder = (part.level == 1) == (dir < 0) - var ch = mv(start, moveInStorageOrder ? 1 : -1) - if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) { - // Case 2: We move within an rtl part or in an rtl editor on the same visual line - var sticky = moveInStorageOrder ? "before" : "after" - return new Pos(start.line, ch, sticky) - } - } - - // Case 3: Could not move within this bidi part in this visual line, so leave - // the current bidi part - - var searchInVisualLine = function (partPos, dir, wrappedLineExtent) { - var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder - ? new Pos(start.line, mv(ch, 1), "before") - : new Pos(start.line, ch, "after"); } - - for (; partPos >= 0 && partPos < bidi.length; partPos += dir) { - var part = bidi[partPos] - var moveInStorageOrder = (dir > 0) == (part.level != 1) - var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1) - if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) } - ch = moveInStorageOrder ? part.from : mv(part.to, -1) - if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) } - } - } - - // Case 3a: Look for other bidi parts on the same visual line - var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent) - if (res) { return res } - - // Case 3b: Look for other bidi parts on the next visual line - var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1) - if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) { - res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh)) - if (res) { return res } - } - - // Case 4: Nowhere to move - return null -} - // EVENT HANDLING // Lightweight event framework. on/off also work on DOM nodes, @@ -2719,15 +2618,22 @@ function pageScrollY() { return window.pageYOffset || (document.documentElement || document.body).scrollTop } +function widgetTopHeight(lineObj) { + var height = 0 + if (lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) + { height += widgetHeight(lineObj.widgets[i]) } } } + return height +} + // Converts a {top, bottom, left, right} box from line-local // coordinates into another coordinate system. Context may be one of // "line", "div" (display.lineDiv), "local"./null (editor), "window", // or "page". function intoCoordSystem(cm, lineObj, rect, context, includeWidgets) { - if (!includeWidgets && lineObj.widgets) { for (var i = 0; i < lineObj.widgets.length; ++i) { if (lineObj.widgets[i].above) { - var size = widgetHeight(lineObj.widgets[i]) - rect.top += size; rect.bottom += size - } } } + if (!includeWidgets) { + var height = widgetTopHeight(lineObj) + rect.top += height; rect.bottom += height + } if (context == "line") { return rect } if (!context) { context = "local" } var yOff = heightAtLine(lineObj) @@ -2802,7 +2708,7 @@ function cursorCoords(cm, pos, context, lineObj, preparedMeasure, varHeight) { if (!order) { return get(sticky == "before" ? ch - 1 : ch, sticky == "before") } function getBidi(ch, partPos, invert) { - var part = order[partPos], right = (part.level % 2) != 0 + var part = order[partPos], right = part.level == 1 return get(invert ? ch - 1 : ch, right != invert) } var partPos = getBidiPartAt(order, ch, sticky) @@ -2860,77 +2766,146 @@ function coordsChar(cm, x, y) { } function wrappedLineExtent(cm, lineObj, preparedMeasure, y) { - var measure = function (ch) { return intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, ch), "line"); } + y -= widgetTopHeight(lineObj) var end = lineObj.text.length - var begin = findFirst(function (ch) { return measure(ch - 1).bottom <= y; }, end, 0) - end = findFirst(function (ch) { return measure(ch).top > y; }, begin, end) + var begin = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch - 1).bottom <= y; }, end, 0) + end = findFirst(function (ch) { return measureCharPrepared(cm, preparedMeasure, ch).top > y; }, begin, end) return {begin: begin, end: end} } function wrappedLineExtentChar(cm, lineObj, preparedMeasure, target) { + if (!preparedMeasure) { preparedMeasure = prepareMeasureForLine(cm, lineObj) } var targetTop = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, target), "line").top return wrappedLineExtent(cm, lineObj, preparedMeasure, targetTop) } +// Returns true if the given side of a box is after the given +// coordinates, in top-to-bottom, left-to-right order. +function boxIsAfter(box, x, y, left) { + return box.bottom <= y ? false : box.top > y ? true : (left ? box.left : box.right) > x +} + function coordsCharInner(cm, lineObj, lineNo, x, y) { + // Move y into line-local coordinate space y -= heightAtLine(lineObj) - var begin = 0, end = lineObj.text.length var preparedMeasure = prepareMeasureForLine(cm, lineObj) - var pos + // When directly calling `measureCharPrepared`, we have to adjust + // for the widgets at this line. + var widgetHeight = widgetTopHeight(lineObj) + var begin = 0, end = lineObj.text.length, ltr = true + var order = getOrder(lineObj, cm.doc.direction) + // If the line isn't plain left-to-right text, first figure out + // which bidi section the coordinates fall into. if (order) { - if (cm.options.lineWrapping) { - ;var assign; - ((assign = wrappedLineExtent(cm, lineObj, preparedMeasure, y), begin = assign.begin, end = assign.end, assign)) - } - pos = new Pos(lineNo, Math.floor(begin + (end - begin) / 2)) - var beginLeft = cursorCoords(cm, pos, "line", lineObj, preparedMeasure).left - var dir = beginLeft < x ? 1 : -1 - var prevDiff, diff = beginLeft - x, prevPos - var steps = Math.ceil((end - begin) / 4) - outer: do { - prevDiff = diff - prevPos = pos - var i = 0 - for (; i < steps; ++i) { - var prevPos$1 = pos - pos = moveVisually(cm, lineObj, pos, dir) - if (pos == null || pos.ch < begin || end <= (pos.sticky == "before" ? pos.ch - 1 : pos.ch)) { - pos = prevPos$1 - break outer - } - } - diff = cursorCoords(cm, pos, "line", lineObj, preparedMeasure).left - x - if (steps > 1) { - var diff_change_per_step = Math.abs(diff - prevDiff) / steps - steps = Math.min(steps, Math.ceil(Math.abs(diff) / diff_change_per_step)) - dir = diff < 0 ? 1 : -1 - } - } while (diff != 0 && (steps > 1 || ((dir < 0) != (diff < 0) && (Math.abs(diff) <= Math.abs(prevDiff))))) - if (Math.abs(diff) > Math.abs(prevDiff)) { - if ((diff < 0) == (prevDiff < 0)) { throw new Error("Broke out of infinite loop in coordsCharInner") } - pos = prevPos - } - } else { - var ch = findFirst(function (ch) { - var box = intoCoordSystem(cm, lineObj, measureCharPrepared(cm, preparedMeasure, ch), "line") - if (box.top > y) { - // For the cursor stickiness - end = Math.min(ch, end) - return true - } - else if (box.bottom <= y) { return false } - else if (box.left > x) { return true } - else if (box.right < x) { return false } - else { return (x - box.left < box.right - x) } - }, begin, end) - ch = skipExtendingChars(lineObj.text, ch, 1) - pos = new Pos(lineNo, ch, ch == end ? "before" : "after") + var part = (cm.options.lineWrapping ? coordsBidiPartWrapped : coordsBidiPart) + (cm, lineObj, lineNo, preparedMeasure, order, x, y) + ltr = part.level != 1 + // The awkward -1 offsets are needed because findFirst (called + // on these below) will treat its first bound as inclusive, + // second as exclusive, but we want to actually address the + // characters in the part's range + begin = ltr ? part.from : part.to - 1 + end = ltr ? part.to : part.from - 1 } - var coords = cursorCoords(cm, pos, "line", lineObj, preparedMeasure) - if (y < coords.top || coords.bottom < y) { pos.outside = true } - pos.xRel = x < coords.left ? -1 : (x > coords.right ? 1 : 0) - return pos + + // A binary search to find the first character whose bounding box + // starts after the coordinates. If we run across any whose box wrap + // the coordinates, store that. + var chAround = null, boxAround = null + var ch = findFirst(function (ch) { + var box = measureCharPrepared(cm, preparedMeasure, ch) + box.top += widgetHeight; box.bottom += widgetHeight + if (!boxIsAfter(box, x, y, false)) { return false } + if (box.top <= y && box.left <= x) { + chAround = ch + boxAround = box + } + return true + }, begin, end) + + var baseX, sticky, outside = false + // If a box around the coordinates was found, use that + if (boxAround) { + // Distinguish coordinates nearer to the left or right side of the box + var atLeft = x - boxAround.left < boxAround.right - x, atStart = atLeft == ltr + ch = chAround + (atStart ? 0 : 1) + sticky = atStart ? "after" : "before" + baseX = atLeft ? boxAround.left : boxAround.right + } else { + // (Adjust for extended bound, if necessary.) + if (!ltr && (ch == end || ch == begin)) { ch++ } + // To determine which side to associate with, get the box to the + // left of the character and compare it's vertical position to the + // coordinates + sticky = ch == 0 ? "after" : ch == lineObj.text.length ? "before" : + (measureCharPrepared(cm, preparedMeasure, ch - (ltr ? 1 : 0)).bottom + widgetHeight <= y) == ltr ? + "after" : "before" + // Now get accurate coordinates for this place, in order to get a + // base X position + var coords = cursorCoords(cm, Pos(lineNo, ch, sticky), "line", lineObj, preparedMeasure) + baseX = coords.left + outside = y < coords.top || y >= coords.bottom + } + + ch = skipExtendingChars(lineObj.text, ch, 1) + return PosWithInfo(lineNo, ch, sticky, outside, x - baseX) +} + +function coordsBidiPart(cm, lineObj, lineNo, preparedMeasure, order, x, y) { + // Bidi parts are sorted left-to-right, and in a non-line-wrapping + // situation, we can take this ordering to correspond to the visual + // ordering. This finds the first part whose end is after the given + // coordinates. + var index = findFirst(function (i) { + var part = order[i], ltr = part.level != 1 + return boxIsAfter(cursorCoords(cm, Pos(lineNo, ltr ? part.to : part.from, ltr ? "before" : "after"), + "line", lineObj, preparedMeasure), x, y, true) + }, 0, order.length - 1) + var part = order[index] + // If this isn't the first part, the part's start is also after + // the coordinates, and the coordinates aren't on the same line as + // that start, move one part back. + if (index > 0) { + var ltr = part.level != 1 + var start = cursorCoords(cm, Pos(lineNo, ltr ? part.from : part.to, ltr ? "after" : "before"), + "line", lineObj, preparedMeasure) + if (boxIsAfter(start, x, y, true) && start.top > y) + { part = order[index - 1] } + } + return part +} + +function coordsBidiPartWrapped(cm, lineObj, _lineNo, preparedMeasure, order, x, y) { + // In a wrapped line, rtl text on wrapping boundaries can do things + // that don't correspond to the ordering in our `order` array at + // all, so a binary search doesn't work, and we want to return a + // part that only spans one line so that the binary search in + // coordsCharInner is safe. As such, we first find the extent of the + // wrapped line, and then do a flat search in which we discard any + // spans that aren't on the line. + var ref = wrappedLineExtent(cm, lineObj, preparedMeasure, y); + var begin = ref.begin; + var end = ref.end; + var part = null, closestDist = null + for (var i = 0; i < order.length; i++) { + var p = order[i] + if (p.from >= end || p.to <= begin) { continue } + var ltr = p.level != 1 + var endX = measureCharPrepared(cm, preparedMeasure, ltr ? Math.min(end, p.to) - 1 : Math.max(begin, p.from)).right + // Weigh against spans ending before this, so that they are only + // picked if nothing ends after + var dist = endX < x ? x - endX + 1e9 : endX - x + if (!part || closestDist > dist) { + part = p + closestDist = dist + } + } + if (!part) { part = order[order.length - 1] } + // Clip the part to the wrapped line. + if (part.from < begin) { part = {from: begin, to: part.to, level: part.level} } + if (part.to > end) { part = {from: part.from, to: end, level: part.level} } + return part } var measureText @@ -3056,12 +3031,14 @@ function updateSelection(cm) { } function prepareSelection(cm, primary) { + if ( primary === void 0 ) primary = true; + var doc = cm.doc, result = {} var curFragment = result.cursors = document.createDocumentFragment() var selFragment = result.selection = document.createDocumentFragment() for (var i = 0; i < doc.sel.ranges.length; i++) { - if (primary === false && i == doc.sel.primIndex) { continue } + if (!primary && i == doc.sel.primIndex) { continue } var range = doc.sel.ranges[i] if (range.from().line >= cm.display.viewTo || range.to().line < cm.display.viewFrom) { continue } var collapsed = range.empty() @@ -3092,6 +3069,8 @@ function drawSelectionCursor(cm, head, output) { } } +function cmpCoords(a, b) { return a.top - b.top || a.left - b.left } + // Draws the given range as a highlighted selection function drawSelectionRange(cm, range, output) { var display = cm.display, doc = cm.doc @@ -3114,30 +3093,48 @@ function drawSelectionRange(cm, range, output) { return charCoords(cm, Pos(line, ch), "div", lineObj, bias) } - iterateBidiSections(getOrder(lineObj, doc.direction), fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir) { - var leftPos = coords(from, "left"), rightPos, left, right - if (from == to) { - rightPos = leftPos - left = right = leftPos.left - } else { - rightPos = coords(to - 1, "right") - if (dir == "rtl") { var tmp = leftPos; leftPos = rightPos; rightPos = tmp } - left = leftPos.left - right = rightPos.right + var order = getOrder(lineObj, doc.direction) + iterateBidiSections(order, fromArg || 0, toArg == null ? lineLen : toArg, function (from, to, dir, i) { + var fromPos = coords(from, dir == "ltr" ? "left" : "right") + var toPos = coords(to - 1, dir == "ltr" ? "right" : "left") + if (dir == "ltr") { + var fromLeft = fromArg == null && from == 0 ? leftSide : fromPos.left + var toRight = toArg == null && to == lineLen ? rightSide : toPos.right + if (toPos.top - fromPos.top <= 3) { // Single line + add(fromLeft, toPos.top, toRight - fromLeft, toPos.bottom) + } else { // Multiple lines + add(fromLeft, fromPos.top, null, fromPos.bottom) + if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top) } + add(leftSide, toPos.top, toPos.right, toPos.bottom) + } + } else if (from < to) { // RTL + var fromRight = fromArg == null && from == 0 ? rightSide : fromPos.right + var toLeft = toArg == null && to == lineLen ? leftSide : toPos.left + if (toPos.top - fromPos.top <= 3) { // Single line + add(toLeft, toPos.top, fromRight - toLeft, toPos.bottom) + } else { // Multiple lines + var topLeft = leftSide + if (i) { + var topEnd = wrappedLineExtentChar(cm, lineObj, null, from).end + // The coordinates returned for an RTL wrapped space tend to + // be complete bogus, so try to skip that here. + topLeft = coords(topEnd - (/\s/.test(lineObj.text.charAt(topEnd - 1)) ? 2 : 1), "left").left + } + add(topLeft, fromPos.top, fromRight - topLeft, fromPos.bottom) + if (fromPos.bottom < toPos.top) { add(leftSide, fromPos.bottom, null, toPos.top) } + var botWidth = null + if (i < order.length - 1 || true) { + var botStart = wrappedLineExtentChar(cm, lineObj, null, to).begin + botWidth = coords(botStart, "right").right - toLeft + } + add(toLeft, toPos.top, botWidth, toPos.bottom) + } } - if (fromArg == null && from == 0) { left = leftSide } - if (rightPos.top - leftPos.top > 3) { // Different lines, draw top part - add(left, leftPos.top, null, leftPos.bottom) - left = leftSide - if (leftPos.bottom < rightPos.top) { add(left, leftPos.bottom, null, rightPos.top) } - } - if (toArg == null && to == lineLen) { right = rightSide } - if (!start || leftPos.top < start.top || leftPos.top == start.top && leftPos.left < start.left) - { start = leftPos } - if (!end || rightPos.bottom > end.bottom || rightPos.bottom == end.bottom && rightPos.right > end.right) - { end = rightPos } - if (left < leftSide + 1) { left = leftSide } - add(left, rightPos.top, right - left, rightPos.bottom) + + if (!start || cmpCoords(fromPos, start) < 0) { start = fromPos } + if (cmpCoords(toPos, start) < 0) { start = toPos } + if (!end || cmpCoords(fromPos, end) < 0) { end = fromPos } + if (cmpCoords(toPos, end) < 0) { end = toPos } }) return {start: start, end: end} } @@ -3767,7 +3764,7 @@ function endOperation_R2(op) { } if (op.updatedDisplay || op.selectionChanged) - { op.preparedSelection = display.input.prepareSelection(op.focus) } + { op.preparedSelection = display.input.prepareSelection() } } function endOperation_W2(op) { @@ -3780,7 +3777,7 @@ function endOperation_W2(op) { cm.display.maxLineChanged = false } - var takeFocus = op.focus && op.focus == activeElt() && (!document.hasFocus || document.hasFocus()) + var takeFocus = op.focus && op.focus == activeElt() if (op.preparedSelection) { cm.display.input.showSelection(op.preparedSelection, takeFocus) } if (op.updatedDisplay || op.startHeight != cm.doc.height) @@ -5369,7 +5366,8 @@ function makeChangeSingleDocInEditor(cm, change, spans) { function replaceRange(doc, code, from, to, origin) { if (!to) { to = from } - if (cmp(to, from) < 0) { var tmp = to; to = from; from = tmp } + if (cmp(to, from) < 0) { var assign; + (assign = [to, from], from = assign[0], to = assign[1], assign) } if (typeof code == "string") { code = doc.splitLines(code) } makeChange(doc, {from: from, to: to, text: code, origin: origin}) } @@ -6731,6 +6729,112 @@ function deleteNearSelection(cm, compute) { }) } +function moveCharLogically(line, ch, dir) { + var target = skipExtendingChars(line.text, ch + dir, dir) + return target < 0 || target > line.text.length ? null : target +} + +function moveLogically(line, start, dir) { + var ch = moveCharLogically(line, start.ch, dir) + return ch == null ? null : new Pos(start.line, ch, dir < 0 ? "after" : "before") +} + +function endOfLine(visually, cm, lineObj, lineNo, dir) { + if (visually) { + var order = getOrder(lineObj, cm.doc.direction) + if (order) { + var part = dir < 0 ? lst(order) : order[0] + var moveInStorageOrder = (dir < 0) == (part.level == 1) + var sticky = moveInStorageOrder ? "after" : "before" + var ch + // With a wrapped rtl chunk (possibly spanning multiple bidi parts), + // it could be that the last bidi part is not on the last visual line, + // since visual lines contain content order-consecutive chunks. + // Thus, in rtl, we are looking for the first (content-order) character + // in the rtl chunk that is on the last line (that is, the same line + // as the last (content-order) character). + if (part.level > 0) { + var prep = prepareMeasureForLine(cm, lineObj) + ch = dir < 0 ? lineObj.text.length - 1 : 0 + var targetTop = measureCharPrepared(cm, prep, ch).top + ch = findFirst(function (ch) { return measureCharPrepared(cm, prep, ch).top == targetTop; }, (dir < 0) == (part.level == 1) ? part.from : part.to - 1, ch) + if (sticky == "before") { ch = moveCharLogically(lineObj, ch, 1) } + } else { ch = dir < 0 ? part.to : part.from } + return new Pos(lineNo, ch, sticky) + } + } + return new Pos(lineNo, dir < 0 ? lineObj.text.length : 0, dir < 0 ? "before" : "after") +} + +function moveVisually(cm, line, start, dir) { + var bidi = getOrder(line, cm.doc.direction) + if (!bidi) { return moveLogically(line, start, dir) } + if (start.ch >= line.text.length) { + start.ch = line.text.length + start.sticky = "before" + } else if (start.ch <= 0) { + start.ch = 0 + start.sticky = "after" + } + var partPos = getBidiPartAt(bidi, start.ch, start.sticky), part = bidi[partPos] + if (cm.doc.direction == "ltr" && part.level % 2 == 0 && (dir > 0 ? part.to > start.ch : part.from < start.ch)) { + // Case 1: We move within an ltr part in an ltr editor. Even with wrapped lines, + // nothing interesting happens. + return moveLogically(line, start, dir) + } + + var mv = function (pos, dir) { return moveCharLogically(line, pos instanceof Pos ? pos.ch : pos, dir); } + var prep + var getWrappedLineExtent = function (ch) { + if (!cm.options.lineWrapping) { return {begin: 0, end: line.text.length} } + prep = prep || prepareMeasureForLine(cm, line) + return wrappedLineExtentChar(cm, line, prep, ch) + } + var wrappedLineExtent = getWrappedLineExtent(start.sticky == "before" ? mv(start, -1) : start.ch) + + if (cm.doc.direction == "rtl" || part.level == 1) { + var moveInStorageOrder = (part.level == 1) == (dir < 0) + var ch = mv(start, moveInStorageOrder ? 1 : -1) + if (ch != null && (!moveInStorageOrder ? ch >= part.from && ch >= wrappedLineExtent.begin : ch <= part.to && ch <= wrappedLineExtent.end)) { + // Case 2: We move within an rtl part or in an rtl editor on the same visual line + var sticky = moveInStorageOrder ? "before" : "after" + return new Pos(start.line, ch, sticky) + } + } + + // Case 3: Could not move within this bidi part in this visual line, so leave + // the current bidi part + + var searchInVisualLine = function (partPos, dir, wrappedLineExtent) { + var getRes = function (ch, moveInStorageOrder) { return moveInStorageOrder + ? new Pos(start.line, mv(ch, 1), "before") + : new Pos(start.line, ch, "after"); } + + for (; partPos >= 0 && partPos < bidi.length; partPos += dir) { + var part = bidi[partPos] + var moveInStorageOrder = (dir > 0) == (part.level != 1) + var ch = moveInStorageOrder ? wrappedLineExtent.begin : mv(wrappedLineExtent.end, -1) + if (part.from <= ch && ch < part.to) { return getRes(ch, moveInStorageOrder) } + ch = moveInStorageOrder ? part.from : mv(part.to, -1) + if (wrappedLineExtent.begin <= ch && ch < wrappedLineExtent.end) { return getRes(ch, moveInStorageOrder) } + } + } + + // Case 3a: Look for other bidi parts on the same visual line + var res = searchInVisualLine(partPos + dir, dir, wrappedLineExtent) + if (res) { return res } + + // Case 3b: Look for other bidi parts on the next visual line + var nextCh = dir > 0 ? wrappedLineExtent.end : mv(wrappedLineExtent.begin, -1) + if (nextCh != null && !(dir > 0 && nextCh == line.text.length)) { + res = searchInVisualLine(dir > 0 ? 0 : bidi.length - 1, dir, getWrappedLineExtent(nextCh)) + if (res) { return res } + } + + // Case 4: Nowhere to move + return null +} + // Commands are parameter-less actions that can be performed on an // editor, mostly used for keybindings. var commands = { @@ -7292,7 +7396,7 @@ function leftButtonSelect(cm, event, start, behavior) { anchor = maxPos(oldRange.to(), range.head) } var ranges$1 = startSel.ranges.slice(0) - ranges$1[ourIndex] = new Range(clipPos(doc, anchor), head) + ranges$1[ourIndex] = bidiSimplify(cm, new Range(clipPos(doc, anchor), head)) setSelection(doc, normalizeSelection(ranges$1, ourIndex), sel_mouse) } } @@ -7344,13 +7448,52 @@ function leftButtonSelect(cm, event, start, behavior) { on(document, "mouseup", up) } +// Used when mouse-selecting to adjust the anchor to the proper side +// of a bidi jump depending on the visual position of the head. +function bidiSimplify(cm, range) { + var anchor = range.anchor; + var head = range.head; + var anchorLine = getLine(cm.doc, anchor.line) + if (cmp(anchor, head) == 0 && anchor.sticky == head.sticky) { return range } + var order = getOrder(anchorLine) + if (!order) { return range } + var index = getBidiPartAt(order, anchor.ch, anchor.sticky), part = order[index] + if (part.from != anchor.ch && part.to != anchor.ch) { return range } + var boundary = index + ((part.from == anchor.ch) == (part.level != 1) ? 0 : 1) + if (boundary == 0 || boundary == order.length) { return range } + + // Compute the relative visual position of the head compared to the + // anchor (<0 is to the left, >0 to the right) + var leftSide + if (head.line != anchor.line) { + leftSide = (head.line - anchor.line) * (cm.doc.direction == "ltr" ? 1 : -1) > 0 + } else { + var headIndex = getBidiPartAt(order, head.ch, head.sticky) + var dir = headIndex - index || (head.ch - anchor.ch) * (part.level == 1 ? -1 : 1) + if (headIndex == boundary - 1 || headIndex == boundary) + { leftSide = dir < 0 } + else + { leftSide = dir > 0 } + } + + var usePart = order[boundary + (leftSide ? -1 : 0)] + var from = leftSide == (usePart.level == 1) + var ch = from ? usePart.from : usePart.to, sticky = from ? "after" : "before" + return anchor.ch == ch && anchor.sticky == sticky ? range : new Range(new Pos(anchor.line, ch, sticky), head) +} + // Determines whether an event happened in the gutter, and fires the // handlers for the corresponding event. function gutterEvent(cm, e, type, prevent) { var mX, mY - try { mX = e.clientX; mY = e.clientY } - catch(e) { return false } + if (e.touches) { + mX = e.touches[0].clientX + mY = e.touches[0].clientY + } else { + try { mX = e.clientX; mY = e.clientY } + catch(e) { return false } + } if (mX >= Math.floor(cm.display.gutters.getBoundingClientRect().right)) { return false } if (prevent) { e_preventDefault(e) } @@ -7688,7 +7831,7 @@ function registerEventHandlers(cm) { return dx * dx + dy * dy > 20 * 20 } on(d.scroller, "touchstart", function (e) { - if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e)) { + if (!signalDOMEvent(cm, e) && !isMouseLikeTouchEvent(e) && !clickInGutter(cm, e)) { d.input.ensurePolled() clearTimeout(touchFinished) var now = +new Date @@ -9472,7 +9615,7 @@ CodeMirror.fromTextArea = fromTextArea addLegacyProps(CodeMirror) -CodeMirror.version = "5.29.0" +CodeMirror.version = "5.30.0" return CodeMirror; diff --git a/devtools/client/sourceeditor/codemirror/mode/javascript/javascript.js b/devtools/client/sourceeditor/codemirror/mode/javascript/javascript.js index e7242842b630..0a46dc77681f 100644 --- a/devtools/client/sourceeditor/codemirror/mode/javascript/javascript.js +++ b/devtools/client/sourceeditor/codemirror/mode/javascript/javascript.js @@ -28,7 +28,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { var jsKeywords = { "if": kw("if"), "while": A, "with": A, "else": B, "do": B, "try": B, "finally": B, - "return": C, "break": C, "continue": C, "new": kw("new"), "delete": C, "throw": C, "debugger": C, + "return": C, "break": C, "continue": C, "new": kw("new"), "delete": C, "void": C, "throw": C, "debugger": C, "var": kw("var"), "const": kw("var"), "let": kw("var"), "function": kw("function"), "catch": kw("catch"), "for": kw("for"), "switch": kw("switch"), "case": kw("case"), "default": kw("default"), @@ -398,7 +398,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { function expressionInner(type, noComma) { if (cx.state.fatArrowAt == cx.stream.start) { var body = noComma ? arrowBodyNoComma : arrowBody; - if (type == "(") return cont(pushcontext, pushlex(")"), commasep(pattern, ")"), poplex, expect("=>"), body, popcontext); + if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, expect("=>"), body, popcontext); else if (type == "variable") return pass(pushcontext, pattern, expect("=>"), body, popcontext); } @@ -443,6 +443,11 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type == ".") return cont(property, me); if (type == "[") return cont(pushlex("]"), maybeexpression, expect("]"), poplex, me); if (isTS && value == "as") { cx.marked = "keyword"; return cont(typeexpr, me) } + if (type == "regexp") { + cx.state.lastType = cx.marked = "operator" + cx.stream.backUp(cx.stream.pos - cx.stream.start - 1) + return cont(expr) + } } function quasi(type, value) { if (type != "quasi") return pass(); @@ -491,6 +496,9 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { } else if (type == "variable" || cx.style == "keyword") { cx.marked = "property"; if (value == "get" || value == "set") return cont(getterSetter); + var m // Work around fat-arrow-detection complication for detecting typescript typed arrow params + if (isTS && cx.state.fatArrowAt == cx.stream.start && (m = cx.stream.match(/^\s*:\s*/, false))) + cx.state.fatArrowAt = cx.stream.pos + m[0].length return cont(afterprop); } else if (type == "number" || type == "string") { cx.marked = jsonldMode ? "property" : (cx.style + " property"); @@ -648,7 +656,8 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { if (type == "(") return cont(pushcontext, pushlex(")"), commasep(funarg, ")"), poplex, maybetype, statement, popcontext); if (isTS && value == "<") return cont(pushlex(">"), commasep(typeexpr, ">"), poplex, functiondef) } - function funarg(type) { + function funarg(type, value) { + if (value == "@") cont(expression, funarg) if (type == "spread" || type == "modifier") return cont(funarg); return pass(pattern, maybetype, maybeAssign); } @@ -674,7 +683,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { cx.marked = "keyword"; return cont(classBody); } - if (type == "variable") { + if (type == "variable" || cx.style == "keyword") { cx.marked = "property"; return cont(isTS ? classfield : functiondef, classBody); } @@ -736,7 +745,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { function expressionAllowed(stream, state, backUp) { return state.tokenize == tokenBase && - /^(?:operator|sof|keyword c|case|new|export|default|[\[{}\(,;:]|=>)$/.test(state.lastType) || + /^(?:operator|sof|keyword [bc]|case|new|export|default|spread|[\[{}\(,;:]|=>)$/.test(state.lastType) || (state.lastType == "quasi" && /\{\s*$/.test(stream.string.slice(0, stream.pos - (backUp || 0)))) } diff --git a/devtools/client/sourceeditor/test/codemirror/test.js b/devtools/client/sourceeditor/test/codemirror/test.js index 59b760d5ae0e..96e989d12c60 100644 --- a/devtools/client/sourceeditor/test/codemirror/test.js +++ b/devtools/client/sourceeditor/test/codemirror/test.js @@ -254,6 +254,11 @@ testCM("coordsCharBidi", function(cm) { } }, {lineNumbers: true}); +testCM("badBidiOptimization", function(cm) { + var coords = cm.charCoords(Pos(0, 34)) + eqCharPos(cm.coordsChar({left: coords.right, top: coords.top + 2}), Pos(0, 34)) +}, {value: "----------

هل يمكنك اختيار مستوى قسط التأمين الذي ترغب بدفعه؟

"}) + testCM("posFromIndex", function(cm) { cm.setValue( "This function should\n" + @@ -1156,6 +1161,16 @@ testCM("measureWrappedEndOfLine", function(cm) { } }, {mode: "text/html", value: "0123456789abcde0123456789", lineWrapping: true}, ie_lt8 || opera_lt10); +testCM("measureEndOfLineBidi", function(cm) { + eqCursorPos(cm.coordsChar({left: 5000, top: cm.charCoords(Pos(0, 0)).top}), Pos(0, 8, "after")) +}, {value: "إإإإuuuuإإإإ"}) + +testCM("measureWrappedBidiLevel2", function(cm) { + cm.setSize(cm.charCoords(Pos(0, 6), "editor").right + 60) + var c9 = cm.charCoords(Pos(0, 9)) + eqCharPos(cm.coordsChar({left: c9.right - 1, top: c9.top + 1}), Pos(0, 9)) +}, {value: "foobar إإ إإ إإ إإ 555 بببببب", lineWrapping: true}) + testCM("measureWrappedBeginOfLine", function(cm) { if (phantom) return; cm.setSize(null, "auto"); @@ -2468,6 +2483,23 @@ for (var i = 0; i < 5; ++i) { } */ +testCM("rtl_wrapped_selection", function(cm) { + cm.setSelection(Pos(0, 10), Pos(0, 190)) + is(byClassName(cm.getWrapperElement(), "CodeMirror-selected").length >= 3) +}, {value: new Array(10).join(" فتي تم تضمينها فتي تم"), lineWrapping: true}) + +testCM("bidi_wrapped_selection", function(cm) { + if (phantom) return + cm.setSize(cm.charCoords(Pos(0, 10), "editor").left) + cm.setSelection(Pos(0, 37), Pos(0, 80)) + var blocks = byClassName(cm.getWrapperElement(), "CodeMirror-selected") + is(blocks.length >= 2) + is(blocks.length <= 3) + var boxTop = blocks[0].getBoundingClientRect(), boxBot = blocks[blocks.length - 1].getBoundingClientRect() + is(boxTop.left > cm.charCoords(Pos(0, 1)).right) + is(boxBot.right < cm.charCoords(Pos(0, cm.getLine(0).length - 2)).left) +}, {value: "

مفتي11 تم تضمينهفتي تم تضمينها فتي تفتي تم تضمينها فتي تفتي تم تضمينها فتي تفتي تم تضمينها فتي تا فت10ي ت

", lineWrapping: true}) + testCM("delete_wrapped", function(cm) { makeItWrapAfter(cm, Pos(0, 2)); cm.doc.setCursor(Pos(0, 3, "after")); diff --git a/dom/base/ChildIterator.cpp b/dom/base/ChildIterator.cpp index 95acdb0bc13b..985d667e4437 100644 --- a/dom/base/ChildIterator.cpp +++ b/dom/base/ChildIterator.cpp @@ -8,7 +8,6 @@ #include "nsContentUtils.h" #include "mozilla/dom/XBLChildrenElement.h" #include "mozilla/dom/HTMLContentElement.h" -#include "mozilla/dom/HTMLShadowElement.h" #include "mozilla/dom/ShadowRoot.h" #include "nsIAnonymousContentCreator.h" #include "nsIFrame.h" @@ -78,17 +77,6 @@ ExplicitChildIterator::GetNextChild() } mIndexInInserted = 0; mChild = mChild->GetNextSibling(); - } else if (mShadowIterator) { - // If we're inside of a element, look through the - // explicit children of the projected ShadowRoot via - // the mShadowIterator. - nsIContent* nextChild = mShadowIterator->GetNextChild(); - if (nextChild) { - return nextChild; - } - - mShadowIterator = nullptr; - mChild = mChild->GetNextSibling(); } else if (mDefaultChild) { // If we're already in default content, check if there are more nodes there MOZ_ASSERT(mChild); @@ -110,23 +98,7 @@ ExplicitChildIterator::GetNextChild() // Iterate until we find a non-insertion point, or an insertion point with // content. while (mChild) { - // If the current child being iterated is a shadow insertion point then - // the iterator needs to go into the projected ShadowRoot. - if (ShadowRoot::IsShadowInsertionPoint(mChild)) { - // Look for the next child in the projected ShadowRoot for the - // element. - HTMLShadowElement* shadowElem = HTMLShadowElement::FromContent(mChild); - ShadowRoot* projectedShadow = shadowElem->GetOlderShadowRoot(); - if (projectedShadow) { - mShadowIterator = new ExplicitChildIterator(projectedShadow); - nsIContent* nextChild = mShadowIterator->GetNextChild(); - if (nextChild) { - return nextChild; - } - mShadowIterator = nullptr; - } - mChild = mChild->GetNextSibling(); - } else if (nsContentUtils::IsContentInsertionPoint(mChild)) { + if (nsContentUtils::IsContentInsertionPoint(mChild)) { // If the current child being iterated is a content insertion point // then the iterator needs to return the nodes distributed into // the content insertion point. @@ -196,11 +168,9 @@ ExplicitChildIterator::Seek(nsIContent* aChildToFind) !aChildToFind->IsRootOfAnonymousSubtree()) { // Fast path: just point ourselves to aChildToFind, which is a // normal DOM child of ours. - MOZ_ASSERT(!ShadowRoot::IsShadowInsertionPoint(aChildToFind)); MOZ_ASSERT(!nsContentUtils::IsContentInsertionPoint(aChildToFind)); mChild = aChildToFind; mIndexInInserted = 0; - mShadowIterator = nullptr; mDefaultChild = nullptr; mIsFirst = false; return true; @@ -221,9 +191,8 @@ ExplicitChildIterator::Get() const if (mIndexInInserted) { MatchedNodes assignedChildren = GetMatchedNodesForPoint(mChild); return assignedChildren[mIndexInInserted - 1]; - } else if (mShadowIterator) { - return mShadowIterator->Get(); } + return mDefaultChild ? mDefaultChild : mChild; } @@ -239,13 +208,6 @@ ExplicitChildIterator::GetPreviousChild() return assignedChildren[mIndexInInserted - 1]; } mChild = mChild->GetPreviousSibling(); - } else if (mShadowIterator) { - nsIContent* previousChild = mShadowIterator->GetPreviousChild(); - if (previousChild) { - return previousChild; - } - mShadowIterator = nullptr; - mChild = mChild->GetPreviousSibling(); } else if (mDefaultChild) { // If we're already in default content, check if there are more nodes there mDefaultChild = mDefaultChild->GetPreviousSibling(); @@ -265,22 +227,7 @@ ExplicitChildIterator::GetPreviousChild() // Iterate until we find a non-insertion point, or an insertion point with // content. while (mChild) { - if (ShadowRoot::IsShadowInsertionPoint(mChild)) { - // If the current child being iterated is a shadow insertion point then - // the iterator needs to go into the projected ShadowRoot. - HTMLShadowElement* shadowElem = HTMLShadowElement::FromContent(mChild); - ShadowRoot* projectedShadow = shadowElem->GetOlderShadowRoot(); - if (projectedShadow) { - // Create a ExplicitChildIterator that begins iterating from the end. - mShadowIterator = new ExplicitChildIterator(projectedShadow, false); - nsIContent* previousChild = mShadowIterator->GetPreviousChild(); - if (previousChild) { - return previousChild; - } - mShadowIterator = nullptr; - } - mChild = mChild->GetPreviousSibling(); - } else if (nsContentUtils::IsContentInsertionPoint(mChild)) { + if (nsContentUtils::IsContentInsertionPoint(mChild)) { // If the current child being iterated is a content insertion point // then the iterator needs to return the nodes distributed into // the content insertion point. diff --git a/dom/base/ChildIterator.h b/dom/base/ChildIterator.h index e874c5ef3241..10eb39935e00 100644 --- a/dom/base/ChildIterator.h +++ b/dom/base/ChildIterator.h @@ -48,16 +48,12 @@ public: ExplicitChildIterator(const ExplicitChildIterator& aOther) : mParent(aOther.mParent), mChild(aOther.mChild), mDefaultChild(aOther.mDefaultChild), - mShadowIterator(aOther.mShadowIterator ? - new ExplicitChildIterator(*aOther.mShadowIterator) : - nullptr), mIsFirst(aOther.mIsFirst), mIndexInInserted(aOther.mIndexInInserted) {} ExplicitChildIterator(ExplicitChildIterator&& aOther) : mParent(aOther.mParent), mChild(aOther.mChild), mDefaultChild(aOther.mDefaultChild), - mShadowIterator(Move(aOther.mShadowIterator)), mIsFirst(aOther.mIsFirst), mIndexInInserted(aOther.mIndexInInserted) {} @@ -116,11 +112,6 @@ protected: // to null, we continue iterating at mChild's next sibling. nsIContent* mDefaultChild; - // If non-null, this points to an iterator of the explicit children of - // the ShadowRoot projected by the current shadow element that we're - // iterating. - nsAutoPtr mShadowIterator; - // A flag to let us know that we haven't started iterating yet. bool mIsFirst; diff --git a/dom/base/CustomElementRegistry.cpp b/dom/base/CustomElementRegistry.cpp index 5299d500cb1a..727704286554 100644 --- a/dom/base/CustomElementRegistry.cpp +++ b/dom/base/CustomElementRegistry.cpp @@ -939,7 +939,7 @@ DoUpgrade(Element* aElement, } // anonymous namespace // https://html.spec.whatwg.org/multipage/scripting.html#upgrades -void +/* static */ void CustomElementRegistry::Upgrade(Element* aElement, CustomElementDefinition* aDefinition, ErrorResult& aRv) @@ -977,8 +977,10 @@ CustomElementRegistry::Upgrade(Element* aElement, (attrValue.IsEmpty() ? VoidString() : attrValue), (namespaceURI.IsEmpty() ? VoidString() : namespaceURI) }; - EnqueueLifecycleCallback(nsIDocument::eAttributeChanged, aElement, - &args, aDefinition); + nsContentUtils::EnqueueLifecycleCallback(aElement->OwnerDoc(), + nsIDocument::eAttributeChanged, + aElement, + &args, aDefinition); } } } @@ -1003,7 +1005,9 @@ CustomElementRegistry::Upgrade(Element* aElement, data->mState = CustomElementData::State::eCustom; // This is for old spec. - EnqueueLifecycleCallback(nsIDocument::eCreated, aElement, nullptr, aDefinition); + nsContentUtils::EnqueueLifecycleCallback(aElement->OwnerDoc(), + nsIDocument::eCreated, + aElement, nullptr, aDefinition); } //----------------------------------------------------- diff --git a/dom/base/CustomElementRegistry.h b/dom/base/CustomElementRegistry.h index 0b5bcb0afbe9..bf8c46448681 100644 --- a/dom/base/CustomElementRegistry.h +++ b/dom/base/CustomElementRegistry.h @@ -362,11 +362,15 @@ public: void GetCustomPrototype(nsIAtom* aAtom, JS::MutableHandle aPrototype); + void SyncInvokeReactions(nsIDocument::ElementCallbackType aType, + Element* aCustomElement, + CustomElementDefinition* aDefinition); + /** * Upgrade an element. * https://html.spec.whatwg.org/multipage/scripting.html#upgrades */ - void Upgrade(Element* aElement, CustomElementDefinition* aDefinition, ErrorResult& aRv); + static void Upgrade(Element* aElement, CustomElementDefinition* aDefinition, ErrorResult& aRv); private: ~CustomElementRegistry(); @@ -375,9 +379,6 @@ private: nsIDocument::ElementCallbackType aType, Element* aCustomElement, LifecycleCallbackArgs* aArgs, CustomElementDefinition* aDefinition); - void SyncInvokeReactions(nsIDocument::ElementCallbackType aType, - Element* aCustomElement, - CustomElementDefinition* aDefinition); /** * Registers an unresolved custom element that is a candidate for * upgrade when the definition is registered via registerElement. diff --git a/dom/base/DocumentFragment.cpp b/dom/base/DocumentFragment.cpp index ff09daf1dd6b..5f9db7af199b 100644 --- a/dom/base/DocumentFragment.cpp +++ b/dom/base/DocumentFragment.cpp @@ -111,9 +111,7 @@ DocumentFragment::Constructor(const GlobalObject& aGlobal, return window->GetDoc()->CreateDocumentFragment(); } -NS_IMPL_CYCLE_COLLECTION_INHERITED(DocumentFragment, - FragmentOrElement, - mHost) +NS_IMPL_CYCLE_COLLECTION_INHERITED(DocumentFragment, FragmentOrElement, mHost) // QueryInterface implementation for DocumentFragment NS_INTERFACE_MAP_BEGIN(DocumentFragment) diff --git a/dom/base/DocumentFragment.h b/dom/base/DocumentFragment.h index 937cc0181f2a..8bd49829a9f9 100644 --- a/dom/base/DocumentFragment.h +++ b/dom/base/DocumentFragment.h @@ -43,8 +43,7 @@ public: // nsISupports NS_DECL_ISUPPORTS_INHERITED - NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(DocumentFragment, - FragmentOrElement) + NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(DocumentFragment, FragmentOrElement) // interface nsIDOMNode NS_FORWARD_NSIDOMNODE_TO_NSINODE @@ -122,15 +121,9 @@ public: return nullptr; } - Element* GetHost() const - { - return mHost; - } + Element* GetHost() const { return mHost; } - void SetHost(Element* aHost) - { - mHost = aHost; - } + void SetHost(Element* aHost) { mHost = aHost; } static already_AddRefed Constructor(const GlobalObject& aGlobal, ErrorResult& aRv); diff --git a/dom/base/Element.cpp b/dom/base/Element.cpp index d4bedac60088..8bde05023cfd 100644 --- a/dom/base/Element.cpp +++ b/dom/base/Element.cpp @@ -1106,6 +1106,11 @@ Element::RemoveFromIdTable() already_AddRefed Element::CreateShadowRoot(ErrorResult& aError) { + if (GetShadowRoot()) { + aError.Throw(NS_ERROR_DOM_INVALID_STATE_ERR); + return nullptr; + } + nsAutoScriptBlocker scriptBlocker; RefPtr nodeInfo; @@ -1142,24 +1147,7 @@ Element::CreateShadowRoot(ErrorResult& aError) shadowRoot->SetIsComposedDocParticipant(IsInComposedDoc()); - // Replace the old ShadowRoot with the new one and let the old - // ShadowRoot know about the younger ShadowRoot because the old - // ShadowRoot is projected into the younger ShadowRoot's shadow - // insertion point (if it exists). - ShadowRoot* olderShadow = GetShadowRoot(); SetShadowRoot(shadowRoot); - if (olderShadow) { - olderShadow->SetYoungerShadow(shadowRoot); - - // Unbind children of older shadow root because they - // are no longer in the composed tree. - for (nsIContent* child = olderShadow->GetFirstChild(); child; - child = child->GetNextSibling()) { - child->UnbindFromTree(true, false); - } - - olderShadow->SetIsComposedDocParticipant(false); - } // xblBinding takes ownership of docInfo. RefPtr xblBinding = new nsXBLBinding(shadowRoot, protoBinding); diff --git a/dom/base/FragmentOrElement.cpp b/dom/base/FragmentOrElement.cpp index fa4b3f3fc9ee..41b8066b3ec3 100644 --- a/dom/base/FragmentOrElement.cpp +++ b/dom/base/FragmentOrElement.cpp @@ -1047,23 +1047,10 @@ nsIContent::GetEventTargetParent(EventChainPreVisitor& aVisitor) // for destination insertion points where nodes have been distributed. nsTArray* destPoints = GetExistingDestInsertionPoints(); if (destPoints && !destPoints->IsEmpty()) { - // Push destination insertion points to aVisitor.mDestInsertionPoints - // excluding shadow insertion points. - bool didPushNonShadowInsertionPoint = false; + // Push destination insertion points to aVisitor.mDestInsertionPoints. for (uint32_t i = 0; i < destPoints->Length(); i++) { nsIContent* point = destPoints->ElementAt(i); - if (!ShadowRoot::IsShadowInsertionPoint(point)) { - aVisitor.mDestInsertionPoints.AppendElement(point); - didPushNonShadowInsertionPoint = true; - } - } - - // Next node in the event path is the final destination - // (non-shadow) insertion point that was pushed. - if (didPushNonShadowInsertionPoint) { - parent = aVisitor.mDestInsertionPoints.LastElement(); - aVisitor.mDestInsertionPoints.SetLength( - aVisitor.mDestInsertionPoints.Length() - 1); + aVisitor.mDestInsertionPoints.AppendElement(point); } } @@ -1087,10 +1074,7 @@ nsIContent::GetEventTargetParent(EventChainPreVisitor& aVisitor) aVisitor.mDestInsertionPoints.SetLength( aVisitor.mDestInsertionPoints.Length() - 1); } else { - // The pool host for the youngest shadow root is shadow DOM host, - // for older shadow roots, it is the shadow insertion point - // where the shadow root is projected, nullptr if none exists. - parent = thisShadowRoot->GetPoolHost(); + parent = thisShadowRoot->GetHost(); } } @@ -2619,8 +2603,7 @@ FragmentOrElement::SetIsElementInStyleScopeFlagOnShadowTree(bool aInStyleScope) NS_ASSERTION(IsElement(), "calling SetIsElementInStyleScopeFlagOnShadowTree " "on a non-Element is useless"); ShadowRoot* shadowRoot = GetShadowRoot(); - while (shadowRoot) { + if (shadowRoot) { shadowRoot->SetIsElementInStyleScopeFlagOnSubtree(aInStyleScope); - shadowRoot = shadowRoot->GetOlderShadowRoot(); } } diff --git a/dom/base/ShadowRoot.cpp b/dom/base/ShadowRoot.cpp index 9c018fadcf15..02c019f35616 100644 --- a/dom/base/ShadowRoot.cpp +++ b/dom/base/ShadowRoot.cpp @@ -15,7 +15,6 @@ #include "nsIStyleSheetLinkingElement.h" #include "mozilla/dom/Element.h" #include "mozilla/dom/HTMLContentElement.h" -#include "mozilla/dom/HTMLShadowElement.h" #include "nsXBLPrototypeBinding.h" #include "mozilla/StyleSheet.h" #include "mozilla/StyleSheetInlines.h" @@ -27,10 +26,7 @@ NS_IMPL_CYCLE_COLLECTION_CLASS(ShadowRoot) NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(ShadowRoot, DocumentFragment) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPoolHost) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mStyleSheetList) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mOlderShadow) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mYoungerShadow) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mAssociatedBinding) for (auto iter = tmp->mIdentifierMap.ConstIter(); !iter.Done(); iter.Next()) { @@ -38,18 +34,14 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(ShadowRoot, } NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(ShadowRoot, - DocumentFragment) - if (tmp->mPoolHost) { - tmp->mPoolHost->RemoveMutationObserver(tmp); +NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(ShadowRoot) + if (tmp->GetHost()) { + tmp->GetHost()->RemoveMutationObserver(tmp); } - NS_IMPL_CYCLE_COLLECTION_UNLINK(mPoolHost) NS_IMPL_CYCLE_COLLECTION_UNLINK(mStyleSheetList) - NS_IMPL_CYCLE_COLLECTION_UNLINK(mOlderShadow) - NS_IMPL_CYCLE_COLLECTION_UNLINK(mYoungerShadow) NS_IMPL_CYCLE_COLLECTION_UNLINK(mAssociatedBinding) tmp->mIdentifierMap.Clear(); -NS_IMPL_CYCLE_COLLECTION_UNLINK_END +NS_IMPL_CYCLE_COLLECTION_UNLINK_END_INHERITED(DocumentFragment) NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(ShadowRoot) NS_INTERFACE_MAP_ENTRY_AMBIGUOUS(nsISupports, nsIContent) @@ -62,9 +54,10 @@ NS_IMPL_RELEASE_INHERITED(ShadowRoot, DocumentFragment) ShadowRoot::ShadowRoot(Element* aElement, already_AddRefed&& aNodeInfo, nsXBLPrototypeBinding* aProtoBinding) - : DocumentFragment(aNodeInfo), mPoolHost(aElement), - mProtoBinding(aProtoBinding), mShadowElement(nullptr), - mInsertionPointChanged(false), mIsComposedDocParticipant(false) + : DocumentFragment(aNodeInfo) + , mProtoBinding(aProtoBinding) + , mInsertionPointChanged(false) + , mIsComposedDocParticipant(false) { SetHost(aElement); @@ -81,23 +74,21 @@ ShadowRoot::ShadowRoot(Element* aElement, // Add the ShadowRoot as a mutation observer on the host to watch // for mutations because the insertion points in this ShadowRoot // may need to be updated when the host children are modified. - mPoolHost->AddMutationObserver(this); + GetHost()->AddMutationObserver(this); } ShadowRoot::~ShadowRoot() { - if (mPoolHost) { + if (GetHost()) { // mPoolHost may have been unlinked or a new ShadowRoot may have been // creating, making this one obsolete. - mPoolHost->RemoveMutationObserver(this); + GetHost()->RemoveMutationObserver(this); } UnsetFlags(NODE_IS_IN_SHADOW_TREE); // nsINode destructor expects mSubtreeRoot == this. SetSubtreeRootPointer(this); - - SetHost(nullptr); } JSObject* @@ -243,15 +234,6 @@ ShadowRoot::RemoveInsertionPoint(HTMLContentElement* aInsertionPoint) mInsertionPoints.RemoveElement(aInsertionPoint); } -void -ShadowRoot::SetYoungerShadow(ShadowRoot* aYoungerShadow) -{ - mYoungerShadow = aYoungerShadow; - mYoungerShadow->mOlderShadow = this; - - ChangePoolHost(mYoungerShadow->GetShadowElement()); -} - void ShadowRoot::RemoveDestInsertionPoint(nsIContent* aInsertionPoint, nsTArray& aDestInsertionPoints) @@ -300,8 +282,7 @@ ShadowRoot::DistributeSingleNode(nsIContent* aContent) // Find the appropriate position in the matched node list for the // newly distributed content. bool isIndexFound = false; - MOZ_ASSERT(mPoolHost, "Where did the content come from if there is no pool host?"); - ExplicitChildIterator childIterator(mPoolHost); + ExplicitChildIterator childIterator(GetHost()); for (uint32_t i = 0; i < matchedNodes.Length(); i++) { // Seek through the host's explicit children until the inserted content // is found or when the current matched node is reached. @@ -321,15 +302,6 @@ ShadowRoot::DistributeSingleNode(nsIContent* aContent) insertionPoint->AppendMatchedNode(aContent); } - // Handle the case where the parent of the insertion point is a ShadowRoot - // that is projected into the younger ShadowRoot's shadow insertion point. - // The node distributed into the insertion point must be reprojected - // to the shadow insertion point. - if (insertionPoint->GetParent() == this && - mYoungerShadow && mYoungerShadow->GetShadowElement()) { - mYoungerShadow->GetShadowElement()->DistributeSingleNode(aContent); - } - // Handle the case where the parent of the insertion point has a ShadowRoot. // The node distributed into the insertion point must be reprojected to the // insertion points of the parent's ShadowRoot. @@ -337,16 +309,6 @@ ShadowRoot::DistributeSingleNode(nsIContent* aContent) if (parentShadow) { parentShadow->DistributeSingleNode(aContent); } - - // Handle the case where the parent of the insertion point is the - // element. The node distributed into the insertion point must be reprojected - // into the older ShadowRoot's insertion points. - if (mShadowElement && mShadowElement == insertionPoint->GetParent()) { - ShadowRoot* olderShadow = mShadowElement->GetOlderShadowRoot(); - if (olderShadow) { - olderShadow->DistributeSingleNode(aContent); - } - } } } @@ -368,15 +330,6 @@ ShadowRoot::RemoveDistributedNode(nsIContent* aContent) mInsertionPoints[i]->RemoveMatchedNode(aContent); - // Handle the case where the parent of the insertion point is a ShadowRoot - // that is projected into the younger ShadowRoot's shadow insertion point. - // The removed node needs to be removed from the shadow insertion point. - if (mInsertionPoints[i]->GetParent() == this) { - if (mYoungerShadow && mYoungerShadow->GetShadowElement()) { - mYoungerShadow->GetShadowElement()->RemoveDistributedNode(aContent); - } - } - // Handle the case where the parent of the insertion point has a ShadowRoot. // The removed node needs to be removed from the insertion points of the // parent's ShadowRoot. @@ -385,16 +338,6 @@ ShadowRoot::RemoveDistributedNode(nsIContent* aContent) parentShadow->RemoveDistributedNode(aContent); } - // Handle the case where the parent of the insertion point is the - // element. The removed node must be removed from the older ShadowRoot's - // insertion points. - if (mShadowElement && mShadowElement == mInsertionPoints[i]->GetParent()) { - ShadowRoot* olderShadow = mShadowElement->GetOlderShadowRoot(); - if (olderShadow) { - olderShadow->RemoveDistributedNode(aContent); - } - } - break; } } @@ -405,16 +348,10 @@ ShadowRoot::DistributeAllNodes() { // Create node pool. nsTArray nodePool; - - // Make sure there is a pool host, an older shadow may not have - // one if the younger shadow does not have a element. - if (mPoolHost) { - ExplicitChildIterator childIterator(mPoolHost); - for (nsIContent* content = childIterator.GetNextChild(); - content; - content = childIterator.GetNextChild()) { - nodePool.AppendElement(content); - } + ExplicitChildIterator childIterator(GetHost()); + for (nsIContent* content = childIterator.GetNextChild(); content; + content = childIterator.GetNextChild()) { + nodePool.AppendElement(content); } nsTArray shadowsToUpdate; @@ -445,20 +382,6 @@ ShadowRoot::DistributeAllNodes() } } - // If there is a shadow insertion point in this ShadowRoot, the children - // of the shadow insertion point needs to be distributed into the insertion - // points of the older ShadowRoot. - if (mShadowElement && mOlderShadow) { - mOlderShadow->DistributeAllNodes(); - } - - // If there is a younger ShadowRoot with a shadow insertion point, - // then the children of this ShadowRoot needs to be distributed to - // the younger ShadowRoot's shadow insertion point. - if (mYoungerShadow && mYoungerShadow->GetShadowElement()) { - mYoungerShadow->GetShadowElement()->DistributeAllNodes(); - } - for (uint32_t i = 0; i < shadowsToUpdate.Length(); i++) { shadowsToUpdate[i]->DistributeAllNodes(); } @@ -515,59 +438,6 @@ ShadowRoot::StyleSheets() return mStyleSheetList; } -void -ShadowRoot::SetShadowElement(HTMLShadowElement* aShadowElement) -{ - // If there is already a shadow element point, remove - // the projected shadow because it is no longer an insertion - // point. - if (mShadowElement) { - mShadowElement->SetProjectedShadow(nullptr); - } - - if (mOlderShadow) { - // Nodes for distribution will come from the new shadow element. - mOlderShadow->ChangePoolHost(aShadowElement); - } - - // Set the new shadow element to project the older ShadowRoot because - // it is the current shadow insertion point. - mShadowElement = aShadowElement; - if (mShadowElement) { - mShadowElement->SetProjectedShadow(mOlderShadow); - } -} - -void -ShadowRoot::ChangePoolHost(nsIContent* aNewHost) -{ - if (mPoolHost) { - mPoolHost->RemoveMutationObserver(this); - } - - // Clear the nodes matched to content insertion points - // because it is no longer relevant. - for (uint32_t i = 0; i < mInsertionPoints.Length(); i++) { - mInsertionPoints[i]->ClearMatchedNodes(); - } - - mPoolHost = aNewHost; - if (mPoolHost) { - mPoolHost->AddMutationObserver(this); - } -} - -bool -ShadowRoot::IsShadowInsertionPoint(nsIContent* aContent) -{ - if (!aContent) { - return false; - } - - HTMLShadowElement* shadowElem = HTMLShadowElement::FromContent(aContent); - return shadowElem && shadowElem->IsInsertionPoint(); -} - /** * Returns whether the web components pool population algorithm * on the host would contain |aContent|. This function ignores @@ -578,8 +448,7 @@ bool ShadowRoot::IsPooledNode(nsIContent* aContent, nsIContent* aContainer, nsIContent* aHost) { - if (nsContentUtils::IsContentInsertionPoint(aContent) || - IsShadowInsertionPoint(aContent)) { + if (nsContentUtils::IsContentInsertionPoint(aContent)) { // Insertion points never end up in the pool. return false; } @@ -612,7 +481,7 @@ ShadowRoot::AttributeChanged(nsIDocument* aDocument, int32_t aModType, const nsAttrValue* aOldValue) { - if (!IsPooledNode(aElement, aElement->GetParent(), mPoolHost)) { + if (!IsPooledNode(aElement, aElement->GetParent(), GetHost())) { return; } @@ -645,7 +514,7 @@ ShadowRoot::ContentAppended(nsIDocument* aDocument, } } - if (IsPooledNode(currentChild, aContainer, mPoolHost)) { + if (IsPooledNode(currentChild, aContainer, GetHost())) { DistributeSingleNode(currentChild); } @@ -667,7 +536,7 @@ ShadowRoot::ContentInserted(nsIDocument* aDocument, // Watch for new nodes added to the pool because the node // may need to be added to an insertion point. - if (IsPooledNode(aChild, aContainer, mPoolHost)) { + if (IsPooledNode(aChild, aContainer, GetHost())) { // Add insertion point to destination insertion points of fallback content. if (nsContentUtils::IsContentInsertionPoint(aContainer)) { HTMLContentElement* content = HTMLContentElement::FromContent(aContainer); @@ -704,7 +573,7 @@ ShadowRoot::ContentRemoved(nsIDocument* aDocument, // Watch for node that is removed from the pool because // it may need to be removed from an insertion point. - if (IsPooledNode(aChild, aContainer, mPoolHost)) { + if (IsPooledNode(aChild, aContainer, GetHost())) { RemoveDistributedNode(aChild); } } @@ -717,15 +586,6 @@ ShadowRoot::Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult, return NS_ERROR_DOM_DATA_CLONE_ERR; } -void -ShadowRoot::DestroyContent() -{ - if (mOlderShadow) { - mOlderShadow->DestroyContent(); - } - DocumentFragment::DestroyContent(); -} - NS_IMPL_CYCLE_COLLECTION_INHERITED(ShadowRootStyleSheetList, StyleSheetList, mShadowRoot) diff --git a/dom/base/ShadowRoot.h b/dom/base/ShadowRoot.h index 2861b1cf9426..dc04e489db7f 100644 --- a/dom/base/ShadowRoot.h +++ b/dom/base/ShadowRoot.h @@ -25,7 +25,6 @@ namespace dom { class Element; class HTMLContentElement; -class HTMLShadowElement; class ShadowRootStyleSheetList; class ShadowRoot final : public DocumentFragment, @@ -42,7 +41,8 @@ public: NS_DECL_NSIMUTATIONOBSERVER_CONTENTINSERTED NS_DECL_NSIMUTATIONOBSERVER_CONTENTREMOVED - ShadowRoot(Element* aElement, already_AddRefed&& aNodeInfo, + ShadowRoot(Element* aElement, + already_AddRefed&& aNodeInfo, nsXBLPrototypeBinding* aProtoBinding); void AddToIdTable(Element* aElement, nsIAtom* aId); @@ -52,24 +52,6 @@ public: bool ApplyAuthorStyles(); void SetApplyAuthorStyles(bool aApplyAuthorStyles); StyleSheetList* StyleSheets(); - HTMLShadowElement* GetShadowElement() { return mShadowElement; } - - /** - * Sets the current shadow insertion point where the older - * ShadowRoot will be projected. - */ - void SetShadowElement(HTMLShadowElement* aShadowElement); - - /** - * Change the node that populates the distribution pool with - * its children. This is distinct from the ShadowRoot host described - * in the specifications. The ShadowRoot host is the element - * which created this ShadowRoot and does not change. The pool host - * is the same as the ShadowRoot host if this is the youngest - * ShadowRoot. If this is an older ShadowRoot, the pool host is - * the element in the younger ShadowRoot (if it exists). - */ - void ChangePoolHost(nsIContent* aNewHost); /** * Distributes a single explicit child of the pool host to the content @@ -92,23 +74,15 @@ public: void AddInsertionPoint(HTMLContentElement* aInsertionPoint); void RemoveInsertionPoint(HTMLContentElement* aInsertionPoint); - void SetYoungerShadow(ShadowRoot* aYoungerShadow); - ShadowRoot* GetYoungerShadowRoot() { return mYoungerShadow; } void SetInsertionPointChanged() { mInsertionPointChanged = true; } void SetAssociatedBinding(nsXBLBinding* aBinding) { mAssociatedBinding = aBinding; } - nsISupports* GetParentObject() const { return mPoolHost; } - - nsIContent* GetPoolHost() { return mPoolHost; } - nsTArray& ShadowDescendants() { return mShadowDescendants; } - JSObject* WrapObject(JSContext* aCx, JS::Handle aGivenProto) override; static bool IsPooledNode(nsIContent* aChild, nsIContent* aContainer, nsIContent* aHost); static ShadowRoot* FromNode(nsINode* aNode); - static bool IsShadowInsertionPoint(nsIContent* aContent); static void RemoveDestInsertionPoint(nsIContent* aInsertionPoint, nsTArray& aDestInsertionPoints); @@ -125,7 +99,6 @@ public: void GetInnerHTML(nsAString& aInnerHTML); void SetInnerHTML(const nsAString& aInnerHTML, ErrorResult& aError); Element* Host(); - ShadowRoot* GetOlderShadowRoot() { return mOlderShadow; } void StyleSheetChanged(); bool IsComposedDocParticipant() { return mIsComposedDocParticipant; } @@ -134,14 +107,9 @@ public: mIsComposedDocParticipant = aIsComposedDocParticipant; } - virtual void DestroyContent() override; protected: virtual ~ShadowRoot(); - // The pool host is the parent of the nodes that will be distributed - // into the insertion points in this ShadowRoot. See |ChangeShadowRoot|. - nsCOMPtr mPoolHost; - // An array of content insertion points that are a descendant of the ShadowRoot // sorted in tree order. Insertion points are responsible for notifying // the ShadowRoot when they are removed or added as a descendant. The insertion @@ -149,10 +117,6 @@ protected: // by the array. nsTArray mInsertionPoints; - // An array of the elements that are descendant of the ShadowRoot - // sorted in tree order. Only the first may be a shadow insertion point. - nsTArray mShadowDescendants; - nsTHashtable mIdentifierMap; nsXBLPrototypeBinding* mProtoBinding; @@ -163,17 +127,6 @@ protected: RefPtr mStyleSheetList; - // The current shadow insertion point of this ShadowRoot. - HTMLShadowElement* mShadowElement; - - // The ShadowRoot that was created by the host element before - // this ShadowRoot was created. - RefPtr mOlderShadow; - - // The ShadowRoot that was created by the host element after - // this ShadowRoot was created. - RefPtr mYoungerShadow; - // A boolean that indicates that an insertion point was added or removed // from this ShadowRoot and that the nodes need to be redistributed into // the insertion points. After this flag is set, nodes will be distributed diff --git a/dom/base/moz.build b/dom/base/moz.build index 6e38e94f60ac..347656e0526b 100644 --- a/dom/base/moz.build +++ b/dom/base/moz.build @@ -185,6 +185,7 @@ EXPORTS.mozilla.dom += [ 'IdleRequest.h', 'ImageEncoder.h', 'ImageTracker.h', + 'IntlUtils.h', 'Link.h', 'Location.h', 'NameSpaceConstants.h', @@ -258,6 +259,7 @@ UNIFIED_SOURCES += [ 'IdleRequest.cpp', 'ImageEncoder.cpp', 'ImageTracker.cpp', + 'IntlUtils.cpp', 'Link.cpp', 'Location.cpp', 'Navigator.cpp', @@ -375,14 +377,6 @@ if CONFIG['FUZZING']: 'FuzzingFunctions.cpp', ] -if CONFIG['ENABLE_INTL_API']: - UNIFIED_SOURCES += [ - 'IntlUtils.cpp', - ] - EXPORTS.mozilla.dom += [ - 'IntlUtils.h', - ] - # these files couldn't be in UNIFIED_SOURCES for now for reasons given below: SOURCES += [ # Several conflicts with other bindings. diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp index 38400575c76a..93e58deaffc4 100644 --- a/dom/base/nsContentUtils.cpp +++ b/dom/base/nsContentUtils.cpp @@ -50,7 +50,6 @@ #include "mozilla/dom/HTMLInputElement.h" #include "mozilla/dom/HTMLTemplateElement.h" #include "mozilla/dom/HTMLContentElement.h" -#include "mozilla/dom/HTMLShadowElement.h" #include "mozilla/dom/IPCBlobUtils.h" #include "mozilla/dom/Promise.h" #include "mozilla/dom/ScriptSettings.h" @@ -7567,20 +7566,6 @@ nsContentUtils::HasDistributedChildren(nsIContent* aContent) return true; } - ShadowRoot* shadow = ShadowRoot::FromNode(aContent); - if (shadow) { - // Children of a shadow root are distributed to - // the shadow insertion point of the younger shadow root. - return shadow->GetYoungerShadowRoot(); - } - - HTMLShadowElement* shadowEl = HTMLShadowElement::FromContent(aContent); - if (shadowEl && shadowEl->IsInsertionPoint()) { - // Children of a shadow insertion points are distributed - // to the insertion points in the older shadow root. - return shadowEl->GetOlderShadowRoot(); - } - HTMLContentElement* contentEl = HTMLContentElement::FromContent(aContent); if (contentEl && contentEl->IsInsertionPoint()) { // Children of a content insertion point are distributed to the @@ -10154,6 +10139,49 @@ nsContentUtils::GetElementDefinitionIfObservingAttr(Element* aCustomElement, return definition; } +/* static */ void +nsContentUtils::SyncInvokeReactions(nsIDocument::ElementCallbackType aType, + Element* aElement, + CustomElementDefinition* aDefinition) +{ + MOZ_ASSERT(aElement); + + nsIDocument* doc = aElement->OwnerDoc(); + nsPIDOMWindowInner* window(doc->GetInnerWindow()); + if (!window) { + return; + } + + RefPtr registry(window->CustomElements()); + if (!registry) { + return; + } + + registry->SyncInvokeReactions(aType, aElement, aDefinition); +} + +/* static */ void +nsContentUtils::EnqueueUpgradeReaction(Element* aElement, + CustomElementDefinition* aDefinition) +{ + MOZ_ASSERT(aElement); + + nsIDocument* doc = aElement->OwnerDoc(); + nsPIDOMWindowInner* window(doc->GetInnerWindow()); + if (!window) { + return; + } + + RefPtr registry(window->CustomElements()); + if (!registry) { + return; + } + + CustomElementReactionsStack* stack = + doc->GetDocGroup()->CustomElementReactionsStack(); + stack->EnqueueUpgradeReaction(registry, aElement, aDefinition); +} + /* static */ void nsContentUtils::EnqueueLifecycleCallback(nsIDocument* aDoc, nsIDocument::ElementCallbackType aType, diff --git a/dom/base/nsContentUtils.h b/dom/base/nsContentUtils.h index d373a5f25ff6..f26c67ac95e4 100644 --- a/dom/base/nsContentUtils.h +++ b/dom/base/nsContentUtils.h @@ -2998,6 +2998,13 @@ public: nsIAtom* aExtensionType, nsIAtom* aAttrName); + static void SyncInvokeReactions(nsIDocument::ElementCallbackType aType, + Element* aCustomElement, + mozilla::dom::CustomElementDefinition* aDefinition); + + static void EnqueueUpgradeReaction(Element* aElement, + mozilla::dom::CustomElementDefinition* aDefinition); + static void EnqueueLifecycleCallback(nsIDocument* aDoc, nsIDocument::ElementCallbackType aType, Element* aCustomElement, diff --git a/dom/base/nsDocument.cpp b/dom/base/nsDocument.cpp index dcbacd0210fa..6f6e6d188889 100644 --- a/dom/base/nsDocument.cpp +++ b/dom/base/nsDocument.cpp @@ -279,6 +279,7 @@ #include "mozilla/DocumentStyleRootIterator.h" #include "mozilla/ServoRestyleManager.h" #include "mozilla/ClearOnShutdown.h" +#include "nsHTMLTags.h" using namespace mozilla; using namespace mozilla::dom; @@ -6024,6 +6025,10 @@ nsDocument::CreateElement(const nsAString& aTagName, elem->SetPseudoElementType(pseudoType); } + if (is) { + elem->SetAttr(kNameSpaceID_None, nsGkAtoms::is, *is, true); + } + return elem.forget(); } @@ -6075,6 +6080,10 @@ nsDocument::CreateElementNS(const nsAString& aNamespaceURI, return nullptr; } + if (is) { + element->SetAttr(kNameSpaceID_None, nsGkAtoms::is, *is, true); + } + return element.forget(); } @@ -6357,11 +6366,26 @@ nsDocument::CustomElementConstructor(JSContext* aCx, unsigned aArgc, JS::Value* return true; } } else { - nsDependentAtomString localName(definition->mLocalName); - element = - document->CreateElem(localName, nullptr, kNameSpaceID_XHTML, - (definition->mLocalName != typeAtom) ? &elemName - : nullptr); + RefPtr nodeInfo = + document->NodeInfoManager()->GetNodeInfo(definition->mLocalName, nullptr, + kNameSpaceID_XHTML, + nsIDOMNode::ELEMENT_NODE); + + int32_t tag = nsHTMLTags::CaseSensitiveAtomTagToId(definition->mLocalName); + if (tag == eHTMLTag_userdefined && + nsContentUtils::IsCustomElementName(definition->mType)) { + element = NS_NewHTMLElement(nodeInfo.forget(), NOT_FROM_PARSER); + } else { + element = ::CreateHTMLElement(tag, nodeInfo.forget(), NOT_FROM_PARSER); + } + + element->SetCustomElementData( + new CustomElementData(definition->mType, + CustomElementData::State::eCustom)); + + // It'll be removed when we deprecate custom elements v0. + nsContentUtils::SyncInvokeReactions(nsIDocument::eCreated, element, + definition); NS_ENSURE_TRUE(element, false); } diff --git a/dom/base/nsGkAtomList.h b/dom/base/nsGkAtomList.h index 9083d20893ae..5d5ec3d405c9 100644 --- a/dom/base/nsGkAtomList.h +++ b/dom/base/nsGkAtomList.h @@ -1660,7 +1660,6 @@ GK_ATOM(saturate, "saturate") GK_ATOM(saturation, "saturation") GK_ATOM(set, "set") GK_ATOM(seed, "seed") -GK_ATOM(shadow, "shadow") GK_ATOM(shape_rendering, "shape-rendering") GK_ATOM(skewX, "skewX") GK_ATOM(skewY, "skewY") diff --git a/dom/base/nsGlobalWindow.cpp b/dom/base/nsGlobalWindow.cpp index 49ec9cb28ec2..c0f2c1732fa6 100644 --- a/dom/base/nsGlobalWindow.cpp +++ b/dom/base/nsGlobalWindow.cpp @@ -233,9 +233,7 @@ #include "mozilla/dom/Fetch.h" #include "mozilla/dom/FunctionBinding.h" #include "mozilla/dom/HashChangeEvent.h" -#ifdef ENABLE_INTL_API #include "mozilla/dom/IntlUtils.h" -#endif #include "mozilla/dom/MozSelfSupportBinding.h" #include "mozilla/dom/PopStateEvent.h" #include "mozilla/dom/PopupBlockedEvent.h" @@ -2065,9 +2063,7 @@ nsGlobalWindow::CleanUp() mServiceWorkerRegistrationTable.Clear(); -#ifdef ENABLE_INTL_API mIntlUtils = nullptr; -#endif } void @@ -2356,9 +2352,7 @@ NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INTERNAL(nsGlobalWindow) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mPaintWorklet) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mExternal) NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mMozSelfSupport) -#ifdef ENABLE_INTL_API NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mIntlUtils) -#endif tmp->TraverseHostObjectURIs(cb); NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END @@ -2436,9 +2430,7 @@ NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN(nsGlobalWindow) NS_IMPL_CYCLE_COLLECTION_UNLINK(mPaintWorklet) NS_IMPL_CYCLE_COLLECTION_UNLINK(mExternal) NS_IMPL_CYCLE_COLLECTION_UNLINK(mMozSelfSupport) -#ifdef ENABLE_INTL_API NS_IMPL_CYCLE_COLLECTION_UNLINK(mIntlUtils) -#endif tmp->UnlinkHostObjectURIs(); @@ -15091,7 +15083,6 @@ nsGlobalWindow::GetRegionalPrefsLocales(nsTArray& aLocales) } } -#ifdef ENABLE_INTL_API IntlUtils* nsGlobalWindow::GetIntlUtils(ErrorResult& aError) { @@ -15103,7 +15094,6 @@ nsGlobalWindow::GetIntlUtils(ErrorResult& aError) return mIntlUtils; } -#endif template class nsPIDOMWindow; template class nsPIDOMWindow; diff --git a/dom/base/nsGlobalWindow.h b/dom/base/nsGlobalWindow.h index 66af9852f9f9..82ab09547d1c 100644 --- a/dom/base/nsGlobalWindow.h +++ b/dom/base/nsGlobalWindow.h @@ -123,9 +123,7 @@ enum class ImageBitmapFormat : uint8_t; class IdleRequest; class IdleRequestCallback; class IncrementalRunnable; -#ifdef ENABLE_INTL_API class IntlUtils; -#endif class Location; class MediaQueryList; class MozSelfSupport; @@ -959,10 +957,8 @@ public: void GetRegionalPrefsLocales(nsTArray& aLocales); -#ifdef ENABLE_INTL_API mozilla::dom::IntlUtils* GetIntlUtils(mozilla::ErrorResult& aRv); -#endif protected: bool AlertOrConfirm(bool aAlert, const nsAString& aMessage, @@ -2027,9 +2023,7 @@ protected: uint32_t mAutoActivateVRDisplayID; // Outer windows only int64_t mBeforeUnloadListenerCount; // Inner windows only -#ifdef ENABLE_INTL_API RefPtr mIntlUtils; -#endif friend class nsDOMScriptableHelper; friend class nsDOMWindowUtils; diff --git a/dom/base/nsNodeUtils.cpp b/dom/base/nsNodeUtils.cpp index 64ab9e852966..319f1c5b0fd7 100644 --- a/dom/base/nsNodeUtils.cpp +++ b/dom/base/nsNodeUtils.cpp @@ -66,7 +66,7 @@ using mozilla::AutoJSContext; } \ ShadowRoot* shadow = ShadowRoot::FromNode(node); \ if (shadow) { \ - node = shadow->GetPoolHost(); \ + node = shadow->GetHost(); \ } else { \ node = node->GetParentNode(); \ } \ @@ -94,7 +94,7 @@ using mozilla::AutoJSContext; } \ ShadowRoot* shadow = ShadowRoot::FromNode(node); \ if (shadow) { \ - node = shadow->GetPoolHost(); \ + node = shadow->GetHost(); \ } else { \ node = node->GetParentNode(); \ } \ diff --git a/dom/base/test/test_mutationobservers.html b/dom/base/test/test_mutationobservers.html index 2bd76c0a0af1..b99994234bbc 100644 --- a/dom/base/test/test_mutationobservers.html +++ b/dom/base/test/test_mutationobservers.html @@ -587,7 +587,7 @@ function testOutsideShadowDOM() { is(records.length, 1); is(records[0].type, "attributes", "Should have got attributes"); observer.disconnect(); - then(testInsideShadowDOM); + then(testMarquee); }); m.observe(div, { attributes: true, @@ -603,32 +603,6 @@ function testOutsideShadowDOM() { div.setAttribute("foo", "bar"); } -function testInsideShadowDOM() { - var m = new M(function(records, observer) { - is(records.length, 4); - is(records[0].type, "childList"); - is(records[1].type, "attributes"); - is(records[2].type, "characterData"); - is(records[3].type, "childList"); - observer.disconnect(); - then(testMarquee); - }); - var sr = div.createShadowRoot(); - m.observe(sr, { - attributes: true, - childList: true, - characterData: true, - subtree: true - }); - - sr.innerHTML = "text"; - sr.firstChild.setAttribute("foo", "bar"); - sr.firstChild.firstChild.data = "text2"; - sr.firstChild.appendChild(document.createElement("div")); - div.setAttribute("foo", "bar2"); - -} - function testMarquee() { var m = new M(function(records, observer) { is(records.length, 1); diff --git a/dom/cache/CacheStreamControlChild.cpp b/dom/cache/CacheStreamControlChild.cpp index 69635b244241..7205fe6aec3b 100644 --- a/dom/cache/CacheStreamControlChild.cpp +++ b/dom/cache/CacheStreamControlChild.cpp @@ -115,11 +115,18 @@ CacheStreamControlChild::OpenStream(const nsID& aId, InputStreamResolver&& aReso return; } + // If we are on a worker, then we need to hold it alive until the async + // IPC operation below completes. While the IPC layer will trigger a + // rejection here in many cases, we must handle the case where the + // MozPromise resolve runnable is already in the event queue when the + // worker wants to shut down. + RefPtr holder = GetWorkerHolder(); + SendOpenStream(aId)->Then(GetCurrentThreadSerialEventTarget(), __func__, - [aResolver](const OptionalIPCStream& aOptionalStream) { + [aResolver, holder](const OptionalIPCStream& aOptionalStream) { nsCOMPtr stream = DeserializeIPCStream(aOptionalStream); aResolver(Move(stream)); - }, [aResolver](PromiseRejectReason aReason) { + }, [aResolver, holder](PromiseRejectReason aReason) { aResolver(nullptr); }); } diff --git a/dom/canvas/crashtests/1296410-1.html b/dom/canvas/crashtests/1296410-1.html new file mode 100644 index 000000000000..a282d4e0fd76 --- /dev/null +++ b/dom/canvas/crashtests/1296410-1.html @@ -0,0 +1,9 @@ + + diff --git a/dom/canvas/crashtests/crashtests.list b/dom/canvas/crashtests/crashtests.list index 823da824e6b1..ce515bfae155 100644 --- a/dom/canvas/crashtests/crashtests.list +++ b/dom/canvas/crashtests/crashtests.list @@ -37,6 +37,7 @@ load 1288872-1.html load 1290628-1.html load 1283113-1.html load 1286458-1.html +load 1296410-1.html load 1299062-1.html load 1305085-1.html load 1305312-1.html diff --git a/dom/events/test/mochitest.ini b/dom/events/test/mochitest.ini index 1535b9aa3281..18e434079da5 100644 --- a/dom/events/test/mochitest.ini +++ b/dom/events/test/mochitest.ini @@ -79,7 +79,7 @@ skip-if = toolkit == 'android' [test_bug605242.html] skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM [test_bug607464.html] -skip-if = toolkit == 'android' || (e10s && os == 'win') || (e10s && os == "mac") #CRASH_DUMP, RANDOM, bug 1252273 +skip-if = toolkit == 'android' || e10s #CRASH_DUMP, RANDOM, bug 1252273, bug 1400586 [test_bug613634.html] skip-if = toolkit == 'android' #CRASH_DUMP, RANDOM [test_bug615597.html] diff --git a/dom/html/HTMLShadowElement.cpp b/dom/html/HTMLShadowElement.cpp deleted file mode 100644 index 30e2da048f7d..000000000000 --- a/dom/html/HTMLShadowElement.cpp +++ /dev/null @@ -1,373 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include "mozilla/dom/ShadowRoot.h" - -#include "ChildIterator.h" -#include "nsContentUtils.h" -#include "nsDocument.h" -#include "mozilla/dom/HTMLShadowElement.h" -#include "mozilla/dom/HTMLUnknownElement.h" -#include "mozilla/dom/HTMLShadowElementBinding.h" - -// Expand NS_IMPL_NS_NEW_HTML_ELEMENT(Shadow) to add check for web components -// being enabled. -nsGenericHTMLElement* -NS_NewHTMLShadowElement(already_AddRefed&& aNodeInfo, - mozilla::dom::FromParser aFromParser) -{ - // When this check is removed, remove the nsDocument.h and - // HTMLUnknownElement.h includes. Also remove nsINode::IsHTMLShadowElement. - // - // We have to jump through some hoops to be able to produce both NodeInfo* and - // already_AddRefed& for our callees. - RefPtr nodeInfo(aNodeInfo); - if (!nsDocument::IsWebComponentsEnabled(nodeInfo)) { - already_AddRefed nodeInfoArg(nodeInfo.forget()); - return new mozilla::dom::HTMLUnknownElement(nodeInfoArg); - } - - already_AddRefed nodeInfoArg(nodeInfo.forget()); - return new mozilla::dom::HTMLShadowElement(nodeInfoArg); -} - -using namespace mozilla::dom; - -HTMLShadowElement::HTMLShadowElement(already_AddRefed& aNodeInfo) - : nsGenericHTMLElement(aNodeInfo), mIsInsertionPoint(false) -{ -} - -HTMLShadowElement::~HTMLShadowElement() -{ - if (mProjectedShadow) { - mProjectedShadow->RemoveMutationObserver(this); - } -} - -NS_IMPL_CYCLE_COLLECTION_CLASS(HTMLShadowElement) - -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_BEGIN_INHERITED(HTMLShadowElement, - nsGenericHTMLElement) - NS_IMPL_CYCLE_COLLECTION_TRAVERSE(mProjectedShadow) -NS_IMPL_CYCLE_COLLECTION_TRAVERSE_END - -NS_IMPL_CYCLE_COLLECTION_UNLINK_BEGIN_INHERITED(HTMLShadowElement, - nsGenericHTMLElement) - if (tmp->mProjectedShadow) { - tmp->mProjectedShadow->RemoveMutationObserver(tmp); - tmp->mProjectedShadow = nullptr; - } -NS_IMPL_CYCLE_COLLECTION_UNLINK_END - -NS_IMPL_ADDREF_INHERITED(HTMLShadowElement, Element) -NS_IMPL_RELEASE_INHERITED(HTMLShadowElement, Element) - -NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(HTMLShadowElement) -NS_INTERFACE_MAP_END_INHERITING(nsGenericHTMLElement) - -NS_IMPL_ELEMENT_CLONE(HTMLShadowElement) - -JSObject* -HTMLShadowElement::WrapNode(JSContext *aCx, JS::Handle aGivenProto) -{ - return HTMLShadowElementBinding::Wrap(aCx, this, aGivenProto); -} - -void -HTMLShadowElement::SetProjectedShadow(ShadowRoot* aProjectedShadow) -{ - if (mProjectedShadow) { - mProjectedShadow->RemoveMutationObserver(this); - - // The currently projected ShadowRoot is going away, - // thus the destination insertion points need to be updated. - ExplicitChildIterator childIterator(mProjectedShadow); - for (nsIContent* content = childIterator.GetNextChild(); - content; - content = childIterator.GetNextChild()) { - ShadowRoot::RemoveDestInsertionPoint(this, content->DestInsertionPoints()); - } - } - - mProjectedShadow = aProjectedShadow; - if (mProjectedShadow) { - // A new ShadowRoot is being projected, thus its explcit - // children will be distributed to this shadow insertion point. - ExplicitChildIterator childIterator(mProjectedShadow); - for (nsIContent* content = childIterator.GetNextChild(); - content; - content = childIterator.GetNextChild()) { - content->DestInsertionPoints().AppendElement(this); - } - - // Watch for mutations on the projected shadow because - // it affects the nodes that are distributed to this shadow - // insertion point. - mProjectedShadow->AddMutationObserver(this); - } -} - -static bool -IsInFallbackContent(nsIContent* aContent) -{ - nsINode* parentNode = aContent->GetParentNode(); - while (parentNode) { - if (parentNode->IsHTMLElement(nsGkAtoms::content)) { - return true; - } - parentNode = parentNode->GetParentNode(); - } - - return false; -} - -nsresult -HTMLShadowElement::BindToTree(nsIDocument* aDocument, - nsIContent* aParent, - nsIContent* aBindingParent, - bool aCompileEventHandlers) -{ - RefPtr oldContainingShadow = GetContainingShadow(); - - nsresult rv = nsGenericHTMLElement::BindToTree(aDocument, aParent, - aBindingParent, - aCompileEventHandlers); - NS_ENSURE_SUCCESS(rv, rv); - - ShadowRoot* containingShadow = GetContainingShadow(); - if (containingShadow && !oldContainingShadow) { - // Keep track of all descendant elements in tree order so - // that when the current shadow insertion point is removed, the next - // one can be found quickly. - TreeOrderComparator comparator; - containingShadow->ShadowDescendants().InsertElementSorted(this, comparator); - - if (containingShadow->ShadowDescendants()[0] != this) { - // Only the first (in tree order) of a ShadowRoot can be an insertion point. - return NS_OK; - } - - if (IsInFallbackContent(this)) { - // If the first shadow element in tree order is invalid (in fallback content), - // the containing ShadowRoot will not have a shadow insertion point. - containingShadow->SetShadowElement(nullptr); - } else { - mIsInsertionPoint = true; - containingShadow->SetShadowElement(this); - } - - containingShadow->SetInsertionPointChanged(); - } - - if (mIsInsertionPoint && containingShadow) { - // Propagate BindToTree calls to projected shadow root children. - ShadowRoot* projectedShadow = containingShadow->GetOlderShadowRoot(); - if (projectedShadow) { - projectedShadow->SetIsComposedDocParticipant(IsInComposedDoc()); - - for (nsIContent* child = projectedShadow->GetFirstChild(); child; - child = child->GetNextSibling()) { - rv = child->BindToTree(nullptr, projectedShadow, - projectedShadow->GetBindingParent(), - aCompileEventHandlers); - NS_ENSURE_SUCCESS(rv, rv); - } - } - } - - return NS_OK; -} - -void -HTMLShadowElement::UnbindFromTree(bool aDeep, bool aNullParent) -{ - RefPtr oldContainingShadow = GetContainingShadow(); - - if (mIsInsertionPoint && oldContainingShadow) { - // Propagate UnbindFromTree call to previous projected shadow - // root children. - ShadowRoot* projectedShadow = oldContainingShadow->GetOlderShadowRoot(); - if (projectedShadow) { - for (nsIContent* child = projectedShadow->GetFirstChild(); child; - child = child->GetNextSibling()) { - child->UnbindFromTree(true, false); - } - - projectedShadow->SetIsComposedDocParticipant(false); - } - } - - nsGenericHTMLElement::UnbindFromTree(aDeep, aNullParent); - - if (oldContainingShadow && !GetContainingShadow() && mIsInsertionPoint) { - nsTArray& shadowDescendants = - oldContainingShadow->ShadowDescendants(); - shadowDescendants.RemoveElement(this); - oldContainingShadow->SetShadowElement(nullptr); - - // Find the next shadow insertion point. - if (shadowDescendants.Length() > 0 && - !IsInFallbackContent(shadowDescendants[0])) { - oldContainingShadow->SetShadowElement(shadowDescendants[0]); - } - - oldContainingShadow->SetInsertionPointChanged(); - - mIsInsertionPoint = false; - } -} - -void -HTMLShadowElement::DistributeSingleNode(nsIContent* aContent) -{ - if (aContent->DestInsertionPoints().Contains(this)) { - // Node has already been distrbuted this this node, - // we are done. - return; - } - - aContent->DestInsertionPoints().AppendElement(this); - - // Handle the case where the shadow element is a child of - // a node with a ShadowRoot. The nodes that have been distributed to - // this shadow insertion point will need to be reprojected into the - // insertion points of the parent's ShadowRoot. - ShadowRoot* parentShadowRoot = GetParent()->GetShadowRoot(); - if (parentShadowRoot) { - parentShadowRoot->DistributeSingleNode(aContent); - return; - } - - // Handle the case where the parent of this shadow element is a ShadowRoot - // that is projected into a shadow insertion point in the younger ShadowRoot. - ShadowRoot* containingShadow = GetContainingShadow(); - ShadowRoot* youngerShadow = containingShadow->GetYoungerShadowRoot(); - if (youngerShadow && GetParent() == containingShadow) { - HTMLShadowElement* youngerShadowElement = youngerShadow->GetShadowElement(); - if (youngerShadowElement) { - youngerShadowElement->DistributeSingleNode(aContent); - } - } -} - -void -HTMLShadowElement::RemoveDistributedNode(nsIContent* aContent) -{ - ShadowRoot::RemoveDestInsertionPoint(this, aContent->DestInsertionPoints()); - - // Handle the case where the shadow element is a child of - // a node with a ShadowRoot. The nodes that have been distributed to - // this shadow insertion point will need to be removed from the - // insertion points of the parent's ShadowRoot. - ShadowRoot* parentShadowRoot = GetParent()->GetShadowRoot(); - if (parentShadowRoot) { - parentShadowRoot->RemoveDistributedNode(aContent); - return; - } - - // Handle the case where the parent of this shadow element is a ShadowRoot - // that is projected into a shadow insertion point in the younger ShadowRoot. - ShadowRoot* containingShadow = GetContainingShadow(); - ShadowRoot* youngerShadow = containingShadow->GetYoungerShadowRoot(); - if (youngerShadow && GetParent() == containingShadow) { - HTMLShadowElement* youngerShadowElement = youngerShadow->GetShadowElement(); - if (youngerShadowElement) { - youngerShadowElement->RemoveDistributedNode(aContent); - } - } -} - -void -HTMLShadowElement::DistributeAllNodes() -{ - // All the explicit children of the projected ShadowRoot are distributed - // into this shadow insertion point so update the destination insertion - // points. - ShadowRoot* containingShadow = GetContainingShadow(); - ShadowRoot* olderShadow = containingShadow->GetOlderShadowRoot(); - if (olderShadow) { - ExplicitChildIterator childIterator(olderShadow); - for (nsIContent* content = childIterator.GetNextChild(); - content; - content = childIterator.GetNextChild()) { - ShadowRoot::RemoveDestInsertionPoint(this, content->DestInsertionPoints()); - content->DestInsertionPoints().AppendElement(this); - } - } - - // Handle the case where the shadow element is a child of - // a node with a ShadowRoot. The nodes that have been distributed to - // this shadow insertion point will need to be reprojected into the - // insertion points of the parent's ShadowRoot. - ShadowRoot* parentShadowRoot = GetParent()->GetShadowRoot(); - if (parentShadowRoot) { - parentShadowRoot->DistributeAllNodes(); - return; - } - - // Handle the case where the parent of this shadow element is a ShadowRoot - // that is projected into a shadow insertion point in the younger ShadowRoot. - ShadowRoot* youngerShadow = containingShadow->GetYoungerShadowRoot(); - if (youngerShadow && GetParent() == containingShadow) { - HTMLShadowElement* youngerShadowElement = youngerShadow->GetShadowElement(); - if (youngerShadowElement) { - youngerShadowElement->DistributeAllNodes(); - } - } -} - -void -HTMLShadowElement::ContentAppended(nsIDocument* aDocument, - nsIContent* aContainer, - nsIContent* aFirstNewContent, - int32_t aNewIndexInContainer) -{ - // Watch for content appended to the projected shadow (the ShadowRoot that - // will be rendered in place of this shadow insertion point) because the - // nodes may need to be distributed into other insertion points. - nsIContent* currentChild = aFirstNewContent; - while (currentChild) { - if (ShadowRoot::IsPooledNode(currentChild, aContainer, mProjectedShadow)) { - DistributeSingleNode(currentChild); - } - currentChild = currentChild->GetNextSibling(); - } -} - -void -HTMLShadowElement::ContentInserted(nsIDocument* aDocument, - nsIContent* aContainer, - nsIContent* aChild, - int32_t aIndexInContainer) -{ - // Watch for content appended to the projected shadow (the ShadowRoot that - // will be rendered in place of this shadow insertion point) because the - // nodes may need to be distributed into other insertion points. - if (!ShadowRoot::IsPooledNode(aChild, aContainer, mProjectedShadow)) { - return; - } - - DistributeSingleNode(aChild); -} - -void -HTMLShadowElement::ContentRemoved(nsIDocument* aDocument, - nsIContent* aContainer, - nsIContent* aChild, - int32_t aIndexInContainer, - nsIContent* aPreviousSibling) -{ - // Watch for content removed from the projected shadow (the ShadowRoot that - // will be rendered in place of this shadow insertion point) because the - // nodes may need to be removed from other insertion points. - if (!ShadowRoot::IsPooledNode(aChild, aContainer, mProjectedShadow)) { - return; - } - - RemoveDistributedNode(aChild); -} - diff --git a/dom/html/HTMLShadowElement.h b/dom/html/HTMLShadowElement.h deleted file mode 100644 index 2d5a6dc1a00d..000000000000 --- a/dom/html/HTMLShadowElement.h +++ /dev/null @@ -1,97 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* vim: set ts=8 sts=2 et sw=2 tw=80: */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#ifndef mozilla_dom_HTMLShadowElement_h__ -#define mozilla_dom_HTMLShadowElement_h__ - -#include "nsGenericHTMLElement.h" - -namespace mozilla { -namespace dom { - -class HTMLShadowElement final : public nsGenericHTMLElement, - public nsStubMutationObserver -{ -public: - explicit HTMLShadowElement(already_AddRefed& aNodeInfo); - - // nsISupports - NS_DECL_ISUPPORTS_INHERITED - - NS_DECL_NSIMUTATIONOBSERVER_CONTENTAPPENDED - NS_DECL_NSIMUTATIONOBSERVER_CONTENTINSERTED - NS_DECL_NSIMUTATIONOBSERVER_CONTENTREMOVED - - NS_DECL_CYCLE_COLLECTION_CLASS_INHERITED(HTMLShadowElement, - nsGenericHTMLElement) - - static HTMLShadowElement* FromContent(nsIContent* aContent) - { - if (aContent->IsHTMLShadowElement()) { - return static_cast(aContent); - } - - return nullptr; - } - - virtual bool IsHTMLShadowElement() const override { return true; } - - virtual nsresult Clone(mozilla::dom::NodeInfo *aNodeInfo, nsINode **aResult, - bool aPreallocateChildren) const override; - - virtual nsresult BindToTree(nsIDocument* aDocument, nsIContent* aParent, - nsIContent* aBindingParent, - bool aCompileEventHandlers) override; - - virtual void UnbindFromTree(bool aDeep = true, - bool aNullParent = true) override; - - bool IsInsertionPoint() { return mIsInsertionPoint; } - - /** - * Sets the ShadowRoot that will be rendered in place of - * this shadow insertion point. - */ - void SetProjectedShadow(ShadowRoot* aProjectedShadow); - - /** - * Distributes a single explicit child of the projected ShadowRoot - * to relevant insertion points. - */ - void DistributeSingleNode(nsIContent* aContent); - - /** - * Removes a single explicit child of the projected ShadowRoot - * from relevant insertion points. - */ - void RemoveDistributedNode(nsIContent* aContent); - - /** - * Distributes all the explicit children of the projected ShadowRoot - * to the shadow insertion point in the younger ShadowRoot and - * the content insertion point of the parent node's ShadowRoot. - */ - void DistributeAllNodes(); - - // WebIDL methods. - ShadowRoot* GetOlderShadowRoot() { return mProjectedShadow; } - -protected: - virtual ~HTMLShadowElement(); - - virtual JSObject* WrapNode(JSContext *aCx, JS::Handle aGivenProto) override; - - // The ShadowRoot that will be rendered in place of this shadow insertion point. - RefPtr mProjectedShadow; - - bool mIsInsertionPoint; -}; - -} // namespace dom -} // namespace mozilla - -#endif // mozilla_dom_HTMLShadowElement_h__ - diff --git a/dom/html/moz.build b/dom/html/moz.build index 2f1325304884..27c1e2126050 100644 --- a/dom/html/moz.build +++ b/dom/html/moz.build @@ -95,7 +95,6 @@ EXPORTS.mozilla.dom += [ 'HTMLProgressElement.h', 'HTMLScriptElement.h', 'HTMLSelectElement.h', - 'HTMLShadowElement.h', 'HTMLSharedElement.h', 'HTMLSharedListElement.h', 'HTMLSourceElement.h', @@ -175,7 +174,6 @@ UNIFIED_SOURCES += [ 'HTMLProgressElement.cpp', 'HTMLScriptElement.cpp', 'HTMLSelectElement.cpp', - 'HTMLShadowElement.cpp', 'HTMLSharedElement.cpp', 'HTMLSharedListElement.cpp', 'HTMLSourceElement.cpp', diff --git a/dom/html/nsGenericHTMLElement.h b/dom/html/nsGenericHTMLElement.h index a5bde55036ff..23fc62251797 100644 --- a/dom/html/nsGenericHTMLElement.h +++ b/dom/html/nsGenericHTMLElement.h @@ -1581,7 +1581,6 @@ NS_DECLARE_NS_NEW_HTML_ELEMENT(Pre) NS_DECLARE_NS_NEW_HTML_ELEMENT(Progress) NS_DECLARE_NS_NEW_HTML_ELEMENT(Script) NS_DECLARE_NS_NEW_HTML_ELEMENT(Select) -NS_DECLARE_NS_NEW_HTML_ELEMENT(Shadow) NS_DECLARE_NS_NEW_HTML_ELEMENT(Source) NS_DECLARE_NS_NEW_HTML_ELEMENT(Span) NS_DECLARE_NS_NEW_HTML_ELEMENT(Style) diff --git a/dom/html/nsGenericHTMLFrameElement.cpp b/dom/html/nsGenericHTMLFrameElement.cpp index ec65dac4cca6..6ad24d8a9290 100644 --- a/dom/html/nsGenericHTMLFrameElement.cpp +++ b/dom/html/nsGenericHTMLFrameElement.cpp @@ -24,6 +24,7 @@ #include "nsServiceManagerUtils.h" #include "nsSubDocumentFrame.h" #include "nsXULElement.h" +#include "nsAttrValueOrString.h" using namespace mozilla; using namespace mozilla::dom; diff --git a/dom/html/nsHTMLContentSink.cpp b/dom/html/nsHTMLContentSink.cpp index c5adafe7c8dd..5ffb05f92fb7 100644 --- a/dom/html/nsHTMLContentSink.cpp +++ b/dom/html/nsHTMLContentSink.cpp @@ -30,6 +30,7 @@ #include "mozilla/Logging.h" #include "nsNodeUtils.h" #include "nsIContent.h" +#include "mozilla/dom/CustomElementRegistry.h" #include "mozilla/dom/Element.h" #include "mozilla/Preferences.h" @@ -223,6 +224,26 @@ public: int32_t mStackPos; }; +static void +DoCustomElementCreate(Element** aElement, nsIDocument* aDoc, + CustomElementConstructor* aConstructor, ErrorResult& aRv) +{ + RefPtr element = + aConstructor->Construct("Custom Element Create", aRv); + if (aRv.Failed() || !element->IsHTMLElement()) { + aRv.ThrowTypeError(NS_LITERAL_STRING("HTMLElement")); + return; + } + + if (aDoc != element->OwnerDoc() || element->GetParentNode() || + element->HasChildren() || element->GetAttrCount()) { + aRv.Throw(NS_ERROR_DOM_NOT_SUPPORTED_ERR); + return; + } + + element.forget(aElement); +} + nsresult NS_NewHTMLElement(Element** aResult, already_AddRefed&& aNodeInfo, FromParser aFromParser, const nsAString* aIs) @@ -238,6 +259,81 @@ NS_NewHTMLElement(Element** aResult, already_AddRefed&& int32_t tag = nsHTMLTags::CaseSensitiveAtomTagToId(name); + // https://dom.spec.whatwg.org/#concept-create-element + // We only handle the "synchronous custom elements flag is set" now. + // For the unset case (e.g. cloning a node), see bug 1319342 for that. + // Step 4. + CustomElementDefinition* definition = nullptr; + if (CustomElementRegistry::IsCustomElementEnabled()) { + definition = + nsContentUtils::LookupCustomElementDefinition(nodeInfo->GetDocument(), + nodeInfo->LocalName(), + nodeInfo->NamespaceID(), + aIs); + } + + // It might be a problem that parser synchronously calls constructor, so filed + // bug 1378079 to figure out what we should do for parser case. + if (definition) { + /* + * Synchronous custom elements flag is determined by 3 places in spec, + * 1) create an element for a token, the flag is determined by + * "will execute script" which is not originally created + * for the HTML fragment parsing algorithm. + * 2) createElement and createElementNS, the flag is the same as + * NOT_FROM_PARSER. + * 3) clone a node, our implementation will not go into this function. + * For the unset case which is non-synchronous only applied for + * inner/outerHTML. + */ + bool synchronousCustomElements = aFromParser != dom::FROM_PARSER_FRAGMENT || + aFromParser == dom::NOT_FROM_PARSER; + // Per discussion in https://github.com/w3c/webcomponents/issues/635, + // use entry global in those places that are called from JS APIs. + nsIGlobalObject* global = GetEntryGlobal(); + MOZ_ASSERT(global); + AutoEntryScript aes(global, "create custom elements"); + JSContext* cx = aes.cx(); + ErrorResult rv; + + // Step 5. + if (definition->IsCustomBuiltIn()) { + // SetupCustomElement() should be called with an element that don't have + // CustomElementData setup, if not we will hit the assertion in + // SetCustomElementData(). + nsCOMPtr tagAtom = nodeInfo->NameAtom(); + nsCOMPtr typeAtom = aIs ? NS_Atomize(*aIs) : tagAtom; + // Built-in element + *aResult = CreateHTMLElement(tag, nodeInfo.forget(), aFromParser).take(); + (*aResult)->SetCustomElementData(new CustomElementData(typeAtom)); + if (synchronousCustomElements) { + CustomElementRegistry::Upgrade(*aResult, definition, rv); + } else { + nsContentUtils::EnqueueUpgradeReaction(*aResult, definition); + } + + if (rv.MaybeSetPendingException(cx)) { + aes.ReportException(); + } + return NS_OK; + } + + // Step 6.1. + if (synchronousCustomElements) { + DoCustomElementCreate(aResult, nodeInfo->GetDocument(), + definition->mConstructor, rv); + if (rv.MaybeSetPendingException(cx)) { + NS_IF_ADDREF(*aResult = NS_NewHTMLUnknownElement(nodeInfo.forget(), aFromParser)); + } + return NS_OK; + } + + // Step 6.2. + NS_IF_ADDREF(*aResult = NS_NewHTMLElement(nodeInfo.forget(), aFromParser)); + nsContentUtils::EnqueueUpgradeReaction(*aResult, definition); + return NS_OK; + } + // Per the Custom Element specification, unknown tags that are valid custom // element names should be HTMLElement instead of HTMLUnknownElement. bool isCustomElementName = (tag == eHTMLTag_userdefined && diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp index 9a34d821ad6e..de2ee25254c8 100644 --- a/dom/indexedDB/ActorsParent.cpp +++ b/dom/indexedDB/ActorsParent.cpp @@ -7715,12 +7715,10 @@ private: void SendResults() override; -#ifdef ENABLE_INTL_API static nsresult UpdateLocaleAwareIndex(mozIStorageConnection* aConnection, const IndexMetadata& aIndexMetadata, const nsCString& aLocale); -#endif }; class OpenDatabaseOp::VersionChangeOp final @@ -19914,9 +19912,6 @@ DatabaseOperationBase::BindKeyRangeToStatement( mozIStorageStatement* aStatement, const nsCString& aLocale) { -#ifndef ENABLE_INTL_API - return BindKeyRangeToStatement(aKeyRange, aStatement); -#else MOZ_ASSERT(!IsOnBackgroundThread()); MOZ_ASSERT(aStatement); MOZ_ASSERT(!aLocale.IsEmpty()); @@ -19954,7 +19949,6 @@ DatabaseOperationBase::BindKeyRangeToStatement( } return NS_OK; -#endif } // static @@ -22017,7 +22011,6 @@ OpenDatabaseOp::LoadDatabaseInformation(mozIStorageConnection* aConnection) indexMetadata->mCommonMetadata.multiEntry() = !!scratch; -#ifdef ENABLE_INTL_API const bool localeAware = !stmt->IsNull(6); if (localeAware) { rv = stmt->GetUTF8String(6, indexMetadata->mCommonMetadata.locale()); @@ -22047,7 +22040,6 @@ OpenDatabaseOp::LoadDatabaseInformation(mozIStorageConnection* aConnection) } } } -#endif if (NS_WARN_IF(!objectStoreMetadata->mIndexes.Put(indexId, indexMetadata, fallible))) { @@ -22073,7 +22065,6 @@ OpenDatabaseOp::LoadDatabaseInformation(mozIStorageConnection* aConnection) return NS_OK; } -#ifdef ENABLE_INTL_API /* static */ nsresult OpenDatabaseOp::UpdateLocaleAwareIndex(mozIStorageConnection* aConnection, @@ -22191,7 +22182,6 @@ OpenDatabaseOp::UpdateLocaleAwareIndex(mozIStorageConnection* aConnection, rv = metaStmt->Execute(); return rv; } -#endif nsresult OpenDatabaseOp::BeginVersionChange() @@ -27966,15 +27956,12 @@ OpenOp::GetRangeKeyInfo(bool aLowerBound, Key* aKey, bool* aOpen) if (range.isOnly()) { *aKey = range.lower(); *aOpen = false; -#ifdef ENABLE_INTL_API if (mCursor->IsLocaleAware()) { range.lower().ToLocaleBasedKey(*aKey, mCursor->mLocale); } -#endif } else { *aKey = aLowerBound ? range.lower() : range.upper(); *aOpen = aLowerBound ? range.lowerOpen() : range.upperOpen(); -#ifdef ENABLE_INTL_API if (mCursor->IsLocaleAware()) { if (aLowerBound) { range.lower().ToLocaleBasedKey(*aKey, mCursor->mLocale); @@ -27982,7 +27969,6 @@ OpenOp::GetRangeKeyInfo(bool aLowerBound, Key* aKey, bool* aOpen) range.upper().ToLocaleBasedKey(*aKey, mCursor->mLocale); } } -#endif } } else { *aOpen = false; diff --git a/dom/indexedDB/IDBCursor.cpp b/dom/indexedDB/IDBCursor.cpp index 32fba11097fb..af88742f0d09 100644 --- a/dom/indexedDB/IDBCursor.cpp +++ b/dom/indexedDB/IDBCursor.cpp @@ -65,13 +65,11 @@ IDBCursor::IDBCursor(Type aType, } } -#ifdef ENABLE_INTL_API bool IDBCursor::IsLocaleAware() const { return mSourceIndex && !mSourceIndex->Locale().IsEmpty(); } -#endif IDBCursor::~IDBCursor() { @@ -437,7 +435,6 @@ IDBCursor::Continue(JSContext* aCx, return; } -#ifdef ENABLE_INTL_API if (IsLocaleAware() && !key.IsUnset()) { Key tmp; aRv = key.ToLocaleBasedKey(tmp, mSourceIndex->Locale()); @@ -448,9 +445,6 @@ IDBCursor::Continue(JSContext* aCx, } const Key& sortKey = IsLocaleAware() ? mSortKey : mKey; -#else - const Key& sortKey = mKey; -#endif if (!key.IsUnset()) { switch (mDirection) { @@ -547,7 +541,6 @@ IDBCursor::ContinuePrimaryKey(JSContext* aCx, return; } -#ifdef ENABLE_INTL_API if (IsLocaleAware() && !key.IsUnset()) { Key tmp; aRv = key.ToLocaleBasedKey(tmp, mSourceIndex->Locale()); @@ -558,9 +551,6 @@ IDBCursor::ContinuePrimaryKey(JSContext* aCx, } const Key& sortKey = IsLocaleAware() ? mSortKey : mKey; -#else - const Key& sortKey = mKey; -#endif if (key.IsUnset()) { aRv.Throw(NS_ERROR_DOM_INDEXEDDB_DATA_ERR); diff --git a/dom/indexedDB/IDBCursor.h b/dom/indexedDB/IDBCursor.h index 25be16bee384..3a4bedcdaa4c 100644 --- a/dom/indexedDB/IDBCursor.h +++ b/dom/indexedDB/IDBCursor.h @@ -205,11 +205,9 @@ private: ~IDBCursor(); -#ifdef ENABLE_INTL_API // Checks if this is a locale aware cursor (ie. the index's sortKey is unset) bool IsLocaleAware() const; -#endif void DropJSObjects(); diff --git a/dom/indexedDB/IDBObjectStore.cpp b/dom/indexedDB/IDBObjectStore.cpp index 4567bcc12579..6e4bad914b60 100644 --- a/dom/indexedDB/IDBObjectStore.cpp +++ b/dom/indexedDB/IDBObjectStore.cpp @@ -1316,9 +1316,7 @@ IDBObjectStore::AppendIndexUpdateInfo( { nsresult rv; -#ifdef ENABLE_INTL_API const bool localeAware = !aLocale.IsEmpty(); -#endif if (!aMultiEntry) { Key key; @@ -1336,14 +1334,12 @@ IDBObjectStore::AppendIndexUpdateInfo( IndexUpdateInfo* updateInfo = aUpdateInfoArray.AppendElement(); updateInfo->indexId() = aIndexID; updateInfo->value() = key; -#ifdef ENABLE_INTL_API if (localeAware) { rv = key.ToLocaleBasedKey(updateInfo->localizedValue(), aLocale); if (NS_WARN_IF(NS_FAILED(rv))) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; } } -#endif return NS_OK; } @@ -1383,14 +1379,12 @@ IDBObjectStore::AppendIndexUpdateInfo( IndexUpdateInfo* updateInfo = aUpdateInfoArray.AppendElement(); updateInfo->indexId() = aIndexID; updateInfo->value() = value; -#ifdef ENABLE_INTL_API if (localeAware) { rv = value.ToLocaleBasedKey(updateInfo->localizedValue(), aLocale); if (NS_WARN_IF(NS_FAILED(rv))) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; } } -#endif } } else { @@ -1404,14 +1398,12 @@ IDBObjectStore::AppendIndexUpdateInfo( IndexUpdateInfo* updateInfo = aUpdateInfoArray.AppendElement(); updateInfo->indexId() = aIndexID; updateInfo->value() = value; -#ifdef ENABLE_INTL_API if (localeAware) { rv = value.ToLocaleBasedKey(updateInfo->localizedValue(), aLocale); if (NS_WARN_IF(NS_FAILED(rv))) { return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; } } -#endif } return NS_OK; @@ -2277,11 +2269,9 @@ IDBObjectStore::CreateIndex(const nsAString& aName, // Valid locale names are always ASCII as per BCP-47. nsCString locale = NS_LossyConvertUTF16toASCII(aOptionalParameters.mLocale); bool autoLocale = locale.EqualsASCII("auto"); -#ifdef ENABLE_INTL_API if (autoLocale) { locale = IndexedDatabaseManager::GetLocale(); } -#endif IndexMetadata* metadata = indexes.AppendElement( IndexMetadata(transaction->NextIndexId(), nsString(aName), keyPath, diff --git a/dom/indexedDB/IndexedDatabaseManager.cpp b/dom/indexedDB/IndexedDatabaseManager.cpp index 15aab84c1de5..d74881d7a407 100644 --- a/dom/indexedDB/IndexedDatabaseManager.cpp +++ b/dom/indexedDB/IndexedDatabaseManager.cpp @@ -45,6 +45,8 @@ #include "ScriptErrorHelper.h" #include "WorkerScope.h" #include "WorkerPrivate.h" +#include "nsCharSeparatedTokenizer.h" +#include "unicode/locid.h" // Bindings for ResolveConstructors #include "mozilla/dom/IDBCursorBinding.h" @@ -59,11 +61,6 @@ #include "mozilla/dom/IDBTransactionBinding.h" #include "mozilla/dom/IDBVersionChangeEventBinding.h" -#ifdef ENABLE_INTL_API -#include "nsCharSeparatedTokenizer.h" -#include "unicode/locid.h" -#endif - #define IDB_STR "indexedDB" // The two possible values for the data argument when receiving the disk space @@ -430,7 +427,6 @@ IndexedDatabaseManager::Init() Preferences::RegisterCallbackAndCall(MaxSerializedMsgSizePrefChangeCallback, kPrefMaxSerilizedMsgSize); -#ifdef ENABLE_INTL_API nsAutoCString acceptLang; Preferences::GetLocalizedCString("intl.accept_languages", acceptLang); @@ -449,7 +445,6 @@ IndexedDatabaseManager::Init() if (mLocale.IsEmpty()) { mLocale.AssignLiteral("en_US"); } -#endif return NS_OK; } @@ -1093,7 +1088,6 @@ IndexedDatabaseManager::LoggingModePrefChangedCallback( } } -#ifdef ENABLE_INTL_API // static const nsCString& IndexedDatabaseManager::GetLocale() @@ -1103,7 +1097,6 @@ IndexedDatabaseManager::GetLocale() return idbManager->mLocale; } -#endif NS_IMPL_ADDREF(IndexedDatabaseManager) NS_IMPL_RELEASE_WITH_DESTROY(IndexedDatabaseManager, Destroy()) diff --git a/dom/indexedDB/IndexedDatabaseManager.h b/dom/indexedDB/IndexedDatabaseManager.h index 4fc150e581c7..4505c39a41e5 100644 --- a/dom/indexedDB/IndexedDatabaseManager.h +++ b/dom/indexedDB/IndexedDatabaseManager.h @@ -189,10 +189,8 @@ public: nsresult FlushPendingFileDeletions(); -#ifdef ENABLE_INTL_API static const nsCString& GetLocale(); -#endif static mozilla::Mutex& FileMutex() @@ -241,9 +239,7 @@ private: // and FileInfo.mSliceRefCnt mozilla::Mutex mFileMutex; -#ifdef ENABLE_INTL_API nsCString mLocale; -#endif indexedDB::BackgroundUtilsChild* mBackgroundActor; diff --git a/dom/indexedDB/Key.cpp b/dom/indexedDB/Key.cpp index a0af355ae1dd..4afe5ac46943 100644 --- a/dom/indexedDB/Key.cpp +++ b/dom/indexedDB/Key.cpp @@ -22,11 +22,8 @@ #include "nsAlgorithm.h" #include "nsJSUtils.h" #include "ReportInternalError.h" -#include "xpcpublic.h" - -#ifdef ENABLE_INTL_API #include "unicode/ucol.h" -#endif +#include "xpcpublic.h" namespace mozilla { namespace dom { @@ -110,7 +107,7 @@ namespace indexedDB { [1, 2] // 0x60 bf f0 0 0 0 0 0 0 0x10 c0 [[]] // 0x80 */ -#ifdef ENABLE_INTL_API + nsresult Key::ToLocaleBasedKey(Key& aTarget, const nsCString& aLocale) const { @@ -207,7 +204,6 @@ Key::ToLocaleBasedKey(Key& aTarget, const nsCString& aLocale) const aTarget.TrimBuffer(); return NS_OK; } -#endif nsresult Key::EncodeJSValInternal(JSContext* aCx, JS::Handle aVal, @@ -507,7 +503,6 @@ Key::EncodeAsString(const T* aStart, const T* aEnd, uint8_t aType) return NS_OK; } -#ifdef ENABLE_INTL_API nsresult Key::EncodeLocaleString(const nsDependentString& aString, uint8_t aTypeOffset, const nsCString& aLocale) @@ -545,7 +540,6 @@ Key::EncodeLocaleString(const nsDependentString& aString, uint8_t aTypeOffset, keyBuffer.Elements()+sortKeyLength, aTypeOffset); } -#endif // static nsresult diff --git a/dom/indexedDB/Key.h b/dom/indexedDB/Key.h index dd69aa8ccf16..22925df7116b 100644 --- a/dom/indexedDB/Key.h +++ b/dom/indexedDB/Key.h @@ -214,10 +214,8 @@ public: nsresult AppendItem(JSContext* aCx, bool aFirstOfArray, JS::Handle aVal); -#ifdef ENABLE_INTL_API nsresult ToLocaleBasedKey(Key& aTarget, const nsCString& aLocale) const; -#endif void FinishArray() @@ -298,11 +296,9 @@ private: nsresult EncodeAsString(const T* aStart, const T* aEnd, uint8_t aType); -#ifdef ENABLE_INTL_API nsresult EncodeLocaleString(const nsDependentString& aString, uint8_t aTypeOffset, const nsCString& aLocale); -#endif void EncodeNumber(double aFloat, uint8_t aType); diff --git a/dom/indexedDB/moz.build b/dom/indexedDB/moz.build index e2818a949bef..fec2f56ba4c1 100644 --- a/dom/indexedDB/moz.build +++ b/dom/indexedDB/moz.build @@ -7,7 +7,10 @@ with Files("**"): BUG_COMPONENT = ("Core", "DOM: IndexedDB") -MOCHITEST_MANIFESTS += ['test/mochitest.ini'] +MOCHITEST_MANIFESTS += [ + 'test/mochitest-intl-api.ini', + 'test/mochitest.ini', +] BROWSER_CHROME_MANIFESTS += ['test/browser.ini'] @@ -18,9 +21,6 @@ XPCSHELL_TESTS_MANIFESTS += [ 'test/unit/xpcshell-parent-process.ini' ] -if CONFIG['ENABLE_INTL_API']: - MOCHITEST_MANIFESTS += ['test/mochitest-intl-api.ini'] - EXPORTS.mozilla.dom += [ 'IDBCursor.h', 'IDBDatabase.h', diff --git a/dom/media/CubebUtils.cpp b/dom/media/CubebUtils.cpp index 86456284fa69..9200be1928a1 100644 --- a/dom/media/CubebUtils.cpp +++ b/dom/media/CubebUtils.cpp @@ -106,9 +106,9 @@ enum class CubebState { Shutdown } sCubebState = CubebState::Uninitialized; cubeb* sCubebContext; -double sVolumeScale; -uint32_t sCubebPlaybackLatencyInMilliseconds; -uint32_t sCubebMSGLatencyInFrames; +double sVolumeScale = 1.0; +uint32_t sCubebPlaybackLatencyInMilliseconds = 100; +uint32_t sCubebMSGLatencyInFrames = 512; bool sCubebPlaybackLatencyPrefSet; bool sCubebMSGLatencyPrefSet; bool sAudioStreamInitEverSucceeded = false; diff --git a/dom/media/moz.build b/dom/media/moz.build index 6489672a803f..08caf20bdade 100644 --- a/dom/media/moz.build +++ b/dom/media/moz.build @@ -3,6 +3,7 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('/media/webrtc/webrtc.mozbuild') FILES_PER_UNIFIED_FILE = 6 @@ -316,11 +317,6 @@ if CONFIG['MOZ_WEBRTC']: DEFINES['MOZILLA_INTERNAL_API'] = True -if CONFIG['OS_TARGET'] == 'WINNT': - DEFINES['WEBRTC_WIN'] = True -else: - DEFINES['WEBRTC_POSIX'] = True - if CONFIG['ANDROID_VERSION'] > '15': DEFINES['MOZ_OMX_WEBM_DECODER'] = True diff --git a/dom/media/systemservices/moz.build b/dom/media/systemservices/moz.build index 8381235e5a2d..6025d97da016 100644 --- a/dom/media/systemservices/moz.build +++ b/dom/media/systemservices/moz.build @@ -3,6 +3,7 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('/media/webrtc/webrtc.mozbuild') if CONFIG['MOZ_WEBRTC']: EXPORTS += [ @@ -22,12 +23,6 @@ if CONFIG['MOZ_WEBRTC']: '/media/webrtc/signaling', '/media/webrtc/trunk', ] -if CONFIG['OS_TARGET'] == 'WINNT': - DEFINES['WEBRTC_WIN'] = True -else: - DEFINES['WEBRTC_POSIX'] = True - # Must match build/gyp.mozbuild: enable_libevent - DEFINES['WEBRTC_BUILD_LIBEVENT'] = True if CONFIG['OS_TARGET'] == 'Android': DEFINES['WEBRTC_ANDROID'] = True diff --git a/dom/media/webrtc/moz.build b/dom/media/webrtc/moz.build index 7c2469f67e04..6dcf82327ea9 100644 --- a/dom/media/webrtc/moz.build +++ b/dom/media/webrtc/moz.build @@ -3,6 +3,7 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('/media/webrtc/webrtc.mozbuild') with Files('*'): BUG_COMPONENT = ('Core', 'WebRTC: Audio/Video') @@ -20,10 +21,6 @@ EXPORTS += [ ] if CONFIG['MOZ_WEBRTC']: - if CONFIG['OS_TARGET'] == 'WINNT': - DEFINES['WEBRTC_WIN'] = True - else: - DEFINES['WEBRTC_POSIX'] = True EXPORTS += ['AudioOutputObserver.h', 'MediaEngineRemoteVideoSource.h', 'MediaEngineWebRTC.h'] diff --git a/dom/payments/PaymentRequest.cpp b/dom/payments/PaymentRequest.cpp index 72ff52d704c5..c607efaa6625 100644 --- a/dom/payments/PaymentRequest.cpp +++ b/dom/payments/PaymentRequest.cpp @@ -4,11 +4,13 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include "BasicCardPayment.h" #include "mozilla/dom/Element.h" #include "mozilla/dom/PaymentRequest.h" #include "mozilla/dom/PaymentResponse.h" #include "nsContentUtils.h" -#include "BasicCardPayment.h" +#include "nsIURLParser.h" +#include "nsNetCID.h" #include "PaymentRequestManager.h" namespace mozilla { @@ -52,6 +54,191 @@ PaymentRequest::PrefEnabled(JSContext* aCx, JSObject* aObj) return Preferences::GetBool("dom.payments.request.enabled"); } +nsresult +PaymentRequest::IsValidStandardizedPMI(const nsAString& aIdentifier, + nsAString& aErrorMsg) +{ + /* + * The syntax of a standardized payment method identifier is given by the + * following [ABNF]: + * + * stdpmi = part *( "-" part ) + * part = 1loweralpha *( DIGIT / loweralpha ) + * loweralpha = %x61-7A + */ + nsString::const_iterator start, end; + aIdentifier.BeginReading(start); + aIdentifier.EndReading(end); + while (start != end) { + // the first char must be in the range %x61-7A + if ((*start < 'a' || *start > 'z')) { + aErrorMsg.AssignLiteral("'"); + aErrorMsg.Append(aIdentifier); + aErrorMsg.AppendLiteral("' is not valid. The character '"); + aErrorMsg.Append(*start); + aErrorMsg.AppendLiteral("' at the beginning or after the '-' must be in the range [a-z]."); + return NS_ERROR_RANGE_ERR; + } + ++start; + // the rest can be in the range %x61-7A + DIGITs + while (start != end && *start != '-' && + ((*start >= 'a' && *start <= 'z') || (*start >= '0' && *start <= '9'))) { + ++start; + } + // if the char is not in the range %x61-7A + DIGITs, it must be '-' + if (start != end && *start != '-') { + aErrorMsg.AssignLiteral("'"); + aErrorMsg.Append(aIdentifier); + aErrorMsg.AppendLiteral("' is not valid. The character '"); + aErrorMsg.Append(*start); + aErrorMsg.AppendLiteral("' must be in the range [a-zA-z0-9-]."); + return NS_ERROR_RANGE_ERR; + } + if (*start == '-') { + ++start; + // the last char can not be '-' + if (start == end) { + aErrorMsg.AssignLiteral("'"); + aErrorMsg.Append(aIdentifier); + aErrorMsg.AppendLiteral("' is not valid. The last character '"); + aErrorMsg.Append(*start); + aErrorMsg.AppendLiteral("' must be in the range [a-z0-9]."); + return NS_ERROR_RANGE_ERR; + } + } + } + return NS_OK; +} + +nsresult +PaymentRequest::IsValidPaymentMethodIdentifier(const nsAString& aIdentifier, + nsAString& aErrorMsg) +{ + if (aIdentifier.IsEmpty()) { + aErrorMsg.AssignLiteral("Payment method identifier is required."); + return NS_ERROR_TYPE_ERR; + } + /* + * URL-based payment method identifier + * + * 1. If url's scheme is not "https", return false. + * 2. If url's username or password is not the empty string, return false. + * 3. Otherwise, return true. + */ + nsCOMPtr urlParser = do_GetService(NS_STDURLPARSER_CONTRACTID); + MOZ_ASSERT(urlParser); + uint32_t schemePos = 0; + int32_t schemeLen = 0; + uint32_t authorityPos = 0; + int32_t authorityLen = 0; + NS_ConvertUTF16toUTF8 url(aIdentifier); + nsresult rv = urlParser->ParseURL(url.get(), + url.Length(), + &schemePos, &schemeLen, + &authorityPos, &authorityLen, + nullptr, nullptr); + NS_ENSURE_SUCCESS(rv, NS_ERROR_RANGE_ERR); + if (schemeLen == -1) { + // The PMI is not a URL-based PMI, check if it is a standardized PMI + return IsValidStandardizedPMI(aIdentifier, aErrorMsg); + } + if (!Substring(aIdentifier, schemePos, schemeLen).EqualsASCII("https")) { + aErrorMsg.AssignLiteral("'"); + aErrorMsg.Append(aIdentifier); + aErrorMsg.AppendLiteral("' is not valid. The scheme must be 'https'."); + return NS_ERROR_RANGE_ERR; + } + if (Substring(aIdentifier, authorityPos, authorityLen).IsEmpty()) { + aErrorMsg.AssignLiteral("'"); + aErrorMsg.Append(aIdentifier); + aErrorMsg.AppendLiteral("' is not valid. hostname can not be empty."); + return NS_ERROR_RANGE_ERR; + } + + uint32_t usernamePos = 0; + int32_t usernameLen = 0; + uint32_t passwordPos = 0; + int32_t passwordLen = 0; + uint32_t hostnamePos = 0; + int32_t hostnameLen = 0; + int32_t port = 0; + + NS_ConvertUTF16toUTF8 authority(Substring(aIdentifier, authorityPos, authorityLen)); + rv = urlParser->ParseAuthority(authority.get(), + authority.Length(), + &usernamePos, &usernameLen, + &passwordPos, &passwordLen, + &hostnamePos, &hostnameLen, + &port); + if (NS_FAILED(rv)) { + // Handle the special cases that URLParser treats it as an invalid URL, but + // are used in web-platform-test + // For exmaple: + // https://:@example.com // should be considered as valid + // https://:password@example.com. // should be considered as invalid + int32_t atPos = authority.FindChar('@'); + if (atPos >= 0) { + // only accept the case https://:@xxx + if (atPos == 1 && authority.CharAt(0) == ':') { + usernamePos = 0; + usernameLen = 0; + passwordPos = 0; + passwordLen = 0; + } else { + // for the fail cases, don't care about what the actual length is. + usernamePos = 0; + usernameLen = INT32_MAX; + passwordPos = 0; + passwordLen = INT32_MAX; + } + } else { + usernamePos = 0; + usernameLen = -1; + passwordPos = 0; + passwordLen = -1; + } + // Parse server information when both username and password are empty or do not + // exist. + if ((usernameLen <= 0) && (passwordLen <= 0)) { + if (authority.Length() - atPos - 1 == 0) { + aErrorMsg.AssignLiteral("'"); + aErrorMsg.Append(aIdentifier); + aErrorMsg.AppendLiteral("' is not valid. hostname can not be empty."); + return NS_ERROR_RANGE_ERR; + } + // Re-using nsIURLParser::ParseServerInfo to extract the hostname and port + // information. This can help us to handle complicated IPv6 cases. + nsAutoCString serverInfo(Substring(authority, + atPos + 1, + authority.Length() - atPos - 1)); + rv = urlParser->ParseServerInfo(serverInfo.get(), + serverInfo.Length(), + &hostnamePos, &hostnameLen, &port); + if (NS_FAILED(rv)) { + // ParseServerInfo returns NS_ERROR_MALFORMED_URI in all fail cases, we + // probably need a followup bug to figure out the fail reason. + return NS_ERROR_RANGE_ERR; + } + } + } + // PMI is valid when usernameLen/passwordLen equals to -1 or 0. + if (usernameLen > 0 || passwordLen > 0) { + aErrorMsg.AssignLiteral("'"); + aErrorMsg.Append(aIdentifier); + aErrorMsg.AssignLiteral("' is not valid. Username and password must be empty."); + return NS_ERROR_RANGE_ERR; + } + + // PMI is valid when hostnameLen is larger than 0 + if (hostnameLen <= 0) { + aErrorMsg.AssignLiteral("'"); + aErrorMsg.Append(aIdentifier); + aErrorMsg.AppendLiteral("' is not valid. hostname can not be empty."); + return NS_ERROR_RANGE_ERR; + } + return NS_OK; +} + nsresult PaymentRequest::IsValidMethodData(JSContext* aCx, const Sequence& aMethodData, @@ -63,11 +250,12 @@ PaymentRequest::IsValidMethodData(JSContext* aCx, } for (const PaymentMethodData& methodData : aMethodData) { - if (methodData.mSupportedMethods.IsEmpty()) { - aErrorMsg.AssignLiteral( - "Payment method identifier is required."); - return NS_ERROR_TYPE_ERR; + nsresult rv = IsValidPaymentMethodIdentifier(methodData.mSupportedMethods, + aErrorMsg); + if (NS_FAILED(rv)) { + return rv; } + RefPtr service = BasicCardService::GetService(); MOZ_ASSERT(service); if (service->IsBasicCardPayment(methodData.mSupportedMethods)) { @@ -299,6 +487,10 @@ PaymentRequest::IsValidDetailsBase(const PaymentDetailsBase& aDetails, nsAString if (aDetails.mModifiers.WasPassed()) { const Sequence& modifiers = aDetails.mModifiers.Value(); for (const PaymentDetailsModifier& modifier : modifiers) { + rv = IsValidPaymentMethodIdentifier(modifier.mSupportedMethods, aErrorMsg); + if (NS_FAILED(rv)) { + return rv; + } rv = IsValidCurrencyAmount(NS_LITERAL_STRING("details.modifiers.total"), modifier.mTotal.mAmount, true, // isTotalItem @@ -377,7 +569,11 @@ PaymentRequest::Constructor(const GlobalObject& aGlobal, aMethodData, message); if (NS_FAILED(rv)) { - aRv.ThrowTypeError(message); + if (rv == NS_ERROR_TYPE_ERR) { + aRv.ThrowTypeError(message); + } else if (rv == NS_ERROR_RANGE_ERR) { + aRv.ThrowRangeError(message); + } return nullptr; } rv = IsValidDetailsInit(aDetails, message); diff --git a/dom/payments/PaymentRequest.h b/dom/payments/PaymentRequest.h index 774cbec88778..5abb3424c9e6 100644 --- a/dom/payments/PaymentRequest.h +++ b/dom/payments/PaymentRequest.h @@ -36,6 +36,12 @@ public: static bool PrefEnabled(JSContext* aCx, JSObject* aObj); + static nsresult IsValidStandardizedPMI(const nsAString& aIdentifier, + nsAString& aErrorMsg); + + static nsresult IsValidPaymentMethodIdentifier(const nsAString& aIdentifier, + nsAString& aErrorMsg); + static nsresult IsValidMethodData(JSContext* aCx, const Sequence& aMethodData, nsAString& aErrorMsg); diff --git a/dom/payments/test/PMIValidationChromeScript.js b/dom/payments/test/PMIValidationChromeScript.js new file mode 100644 index 000000000000..7dbf4d5fea76 --- /dev/null +++ b/dom/payments/test/PMIValidationChromeScript.js @@ -0,0 +1,58 @@ +/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ +"use strict"; + +const { classes: Cc, interfaces: Ci, utils: Cu } = Components; + +const { XPCOMUtils } = Cu.import("resource://gre/modules/XPCOMUtils.jsm"); + +const paymentSrv = Cc["@mozilla.org/dom/payments/payment-request-service;1"].getService(Ci.nsIPaymentRequestService); + +const UIService = { + showPayment: function(requestId) { + paymentSrv.changeShippingOption(requestId, ""); + }, + abortPayment: function(requestId) { + let abortResponse = Cc["@mozilla.org/dom/payments/payment-abort-action-response;1"]. + createInstance(Ci.nsIPaymentAbortActionResponse); + abortResponse.init(requestId, Ci.nsIPaymentActionResponse.ABORT_SUCCEEDED); + paymentSrv.respondPayment(abortResponse.QueryInterface(Ci.nsIPaymentActionResponse)); + }, + completePayment: function(requestId) { + const completeResponse = Cc["@mozilla.org/dom/payments/payment-complete-action-response;1"]. + createInstance(Ci.nsIPaymentCompleteActionResponse); + completeResponse.init(requestId, Ci.nsIPaymentActionResponse.COMPLETE_SUCCEEDED); + paymentSrv.respondPayment(completeResponse.QueryInterface(Ci.nsIPaymentActionResponse)); + }, + updatePayment: function(requestId) { + const showResponseData = Cc["@mozilla.org/dom/payments/general-response-data;1"]. + createInstance(Ci.nsIGeneralResponseData); + showResponseData.initData({ paymentToken: "6880281f-0df3-4b8e-916f-66575e2457c1",}); + + const showResponse = Cc["@mozilla.org/dom/payments/payment-show-action-response;1"]. + createInstance(Ci.nsIPaymentShowActionResponse); + showResponse.init(requestId, + Ci.nsIPaymentActionResponse.PAYMENT_ACCEPTED, + "https://example.com", // payment method + showResponseData, // payment method data + "Bill A. Pacheco", // payer name + "", // payer email + ""); // payer phone + paymentSrv.respondPayment(showResponse.QueryInterface(Ci.nsIPaymentActionResponse)); + }, + QueryInterface: XPCOMUtils.generateQI([Ci.nsIPaymentUIService]), +}; + +function emitTestFail(message) { + sendAsyncMessage("test-fail", message); +} + +addMessageListener("set-ui-service", function() { + paymentSrv.setTestingUIService(UIService.QueryInterface(Ci.nsIPaymentUIService)); +}); + +addMessageListener("teardown", function() { + paymentSrv.cleanup(); + sendAsyncMessage("teardown-complete"); +}); diff --git a/dom/payments/test/head.js b/dom/payments/test/head.js index cc71a25d5c83..eaf61fbf26de 100644 --- a/dom/payments/test/head.js +++ b/dom/payments/test/head.js @@ -7,7 +7,7 @@ function checkSimplePayment(aSimplePayment) { const methodData = aSimplePayment.paymentMethods.queryElementAt(0, Ci.nsIPaymentMethodData); ok(methodData, "Fail to get payment methodData."); - is(methodData.supportedMethods, "MyPay", "supported method should be 'MyPay'."); + is(methodData.supportedMethods, "basic-card", "supported method should be 'basic-card'."); ok(!methodData.data, "methodData.data should not exist."); // checking the passed PaymentDetails parameter @@ -36,7 +36,7 @@ function checkDupShippingOptionsPayment(aPayment) { const methodData = aPayment.paymentMethods.queryElementAt(0, Ci.nsIPaymentMethodData); ok(methodData, "Fail to get payment methodData."); - is(methodData.supportedMethods, "MyPay", "methodData.supportedMethod name should be 'MyPay'."); + is(methodData.supportedMethods, "basic-card", "methodData.supportedMethod name should be 'basic-card'."); ok(!methodData.data, "methodData.data should not exist."); // checking the passed PaymentDetails parameter diff --git a/dom/payments/test/mochitest.ini b/dom/payments/test/mochitest.ini index 063480cacd95..9d6e0ff3784f 100644 --- a/dom/payments/test/mochitest.ini +++ b/dom/payments/test/mochitest.ini @@ -8,6 +8,7 @@ support-files = ConstructorChromeScript.js CurrencyAmountValidationChromeScript.js GeneralChromeScript.js + PMIValidationChromeScript.js ShowPaymentChromeScript.js [test_abortPayment.html] @@ -18,4 +19,5 @@ run-if = nightly_build # Bug 1390737: Depends on the Nightly-only UI service [test_constructor.html] [test_currency_amount_validation.html] [test_payment-request-in-iframe.html] +[test_pmi_validation.html] [test_showPayment.html] diff --git a/dom/payments/test/simple_payment_request.html b/dom/payments/test/simple_payment_request.html index 4f6bbd8d7696..73cf322404d1 100644 --- a/dom/payments/test/simple_payment_request.html +++ b/dom/payments/test/simple_payment_request.html @@ -9,7 +9,7 @@ + + + +Mozilla Bug 1389418 + + diff --git a/dom/payments/test/test_showPayment.html b/dom/payments/test/test_showPayment.html index 5a3f4bf0b635..b1f7cc333ade 100644 --- a/dom/payments/test/test_showPayment.html +++ b/dom/payments/test/test_showPayment.html @@ -300,11 +300,5 @@ https://bugzilla.mozilla.org/show_bug.cgi?id=1345366 Mozilla Bug 1345366 -

- -
-
diff --git a/dom/tests/mochitest/general/test_interfaces.js b/dom/tests/mochitest/general/test_interfaces.js index da7f821da6ec..11a4d9fd0c59 100644 --- a/dom/tests/mochitest/general/test_interfaces.js +++ b/dom/tests/mochitest/general/test_interfaces.js @@ -513,8 +513,6 @@ var interfaceNamesInGlobalScope = "HTMLScriptElement", // IMPORTANT: Do not change this list without review from a DOM peer! "HTMLSelectElement", -// IMPORTANT: Do not change this list without review from a DOM peer! - {name: "HTMLShadowElement", stylo: false}, // IMPORTANT: Do not change this list without review from a DOM peer! "HTMLSourceElement", // IMPORTANT: Do not change this list without review from a DOM peer! diff --git a/dom/tests/mochitest/webcomponents/mochitest.ini b/dom/tests/mochitest/webcomponents/mochitest.ini index a7190f10dd13..6df1b78a18e8 100644 --- a/dom/tests/mochitest/webcomponents/mochitest.ini +++ b/dom/tests/mochitest/webcomponents/mochitest.ini @@ -33,8 +33,6 @@ support-files = skip-if = stylo # bug 1293844 [test_dest_insertion_points.html] skip-if = stylo # bug 1293844 -[test_dest_insertion_points_shadow.html] -skip-if = stylo # bug 1293844 [test_fallback_dest_insertion_points.html] skip-if = stylo # bug 1293844 [test_detached_style.html] @@ -53,8 +51,6 @@ skip-if = true # disabled - See bug 1390396 [test_document_register_stack.html] skip-if = true # disabled - See bug 1390396 [test_document_shared_registry.html] -[test_event_dispatch.html] -skip-if = stylo # bug 1293844 [test_event_retarget.html] skip-if = stylo # bug 1293844 [test_event_stopping.html] @@ -66,16 +62,10 @@ skip-if = stylo # bug 1293844 skip-if = stylo # bug 1293844 [test_shadowroot_inert_element.html] skip-if = stylo # bug 1293844 -[test_shadowroot_host.html] -skip-if = stylo # bug 1293844 [test_shadowroot_style.html] skip-if = stylo # bug 1293844 -[test_shadowroot_style_multiple_shadow.html] -skip-if = stylo # bug 1293844 [test_shadowroot_style_order.html] skip-if = stylo # bug 1293844 -[test_shadowroot_youngershadowroot.html] -skip-if = stylo # bug 1293844 [test_style_fallback_content.html] skip-if = stylo # bug 1293844 [test_unresolved_pseudo_class.html] diff --git a/dom/tests/mochitest/webcomponents/test_dest_insertion_points_shadow.html b/dom/tests/mochitest/webcomponents/test_dest_insertion_points_shadow.html deleted file mode 100644 index 75286463e65d..000000000000 --- a/dom/tests/mochitest/webcomponents/test_dest_insertion_points_shadow.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - Test for Bug 999999 - - - - -Mozilla Bug 999999 -

-
-
-
-
-
- - - diff --git a/dom/tests/mochitest/webcomponents/test_document_register.html b/dom/tests/mochitest/webcomponents/test_document_register.html index aa80fef5f077..157b1a5e623a 100644 --- a/dom/tests/mochitest/webcomponents/test_document_register.html +++ b/dom/tests/mochitest/webcomponents/test_document_register.html @@ -107,7 +107,6 @@ function startTest() { var constructedButton = new buttonConstructor(); is(constructedButton.tagName, "BUTTON", "Created element should have local name of BUTTON"); is(constructedButton.__proto__, extendedProto, "Created element should have the prototype of the extended type."); - is(constructedButton.getAttribute("is"), "x-extended-button", "The |is| attribute of the created element should be the extended type."); // Try creating an element with a custom element name, but not in the html namespace. var htmlNamespaceProto = Object.create(HTMLElement.prototype); diff --git a/dom/tests/mochitest/webcomponents/test_document_register_lifecycle.html b/dom/tests/mochitest/webcomponents/test_document_register_lifecycle.html index 9db9afbf48b1..40624ac01bd3 100644 --- a/dom/tests/mochitest/webcomponents/test_document_register_lifecycle.html +++ b/dom/tests/mochitest/webcomponents/test_document_register_lifecycle.html @@ -291,11 +291,14 @@ function testAttributeChanged() { function testAttributeChangedExtended() { var p = Object.create(HTMLButtonElement.prototype); - var callbackCalled = false; + var callbackCalled = 0; p.attributeChangedCallback = function(name, oldValue, newValue) { - is(callbackCalled, false, "Callback should only be called once in this test."); - callbackCalled = true; - runNextTest(); + callbackCalled++; + if (callbackCalled > 2) { + is(false, "Got unexpected attribute changed callback."); + } else if (callbackCalled === 2) { + runNextTest(); + } }; document.registerElement("x-extended-attribute-change", { prototype: p, extends: "button" }); diff --git a/dom/tests/mochitest/webcomponents/test_event_dispatch.html b/dom/tests/mochitest/webcomponents/test_event_dispatch.html deleted file mode 100644 index c73bfb214e98..000000000000 --- a/dom/tests/mochitest/webcomponents/test_event_dispatch.html +++ /dev/null @@ -1,458 +0,0 @@ - - - - - Test for event model in web components - - - - -Bug 887541 - - - diff --git a/dom/tests/mochitest/webcomponents/test_shadowroot_host.html b/dom/tests/mochitest/webcomponents/test_shadowroot_host.html deleted file mode 100644 index f48d63e87ddd..000000000000 --- a/dom/tests/mochitest/webcomponents/test_shadowroot_host.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - Test for Bug 1083587 - - - - -Mozilla Bug 1083587 -

- -
-
- - - diff --git a/dom/tests/mochitest/webcomponents/test_shadowroot_style_multiple_shadow.html b/dom/tests/mochitest/webcomponents/test_shadowroot_style_multiple_shadow.html deleted file mode 100644 index 7a606bcd7f91..000000000000 --- a/dom/tests/mochitest/webcomponents/test_shadowroot_style_multiple_shadow.html +++ /dev/null @@ -1,57 +0,0 @@ - - - - - Test for ShadowRoot styles with multiple ShadowRoot on host. - - - - -
-
-Bug 806506 - - - - diff --git a/dom/tests/mochitest/webcomponents/test_shadowroot_youngershadowroot.html b/dom/tests/mochitest/webcomponents/test_shadowroot_youngershadowroot.html deleted file mode 100644 index 17743321bc99..000000000000 --- a/dom/tests/mochitest/webcomponents/test_shadowroot_youngershadowroot.html +++ /dev/null @@ -1,41 +0,0 @@ - - - - - - Test for Bug 1083587 - - - - -Mozilla Bug 1083587 -

- -
-
- - - diff --git a/dom/webidl/HTMLShadowElement.webidl b/dom/webidl/HTMLShadowElement.webidl deleted file mode 100644 index f72cd06e1838..000000000000 --- a/dom/webidl/HTMLShadowElement.webidl +++ /dev/null @@ -1,19 +0,0 @@ -/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - * - * The origin of this IDL file is - * https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html - * - * © Copyright 2004-2011 Apple Computer, Inc., Mozilla Foundation, and - * Opera Software ASA. You are granted a license to use, reproduce - * and create derivative works of this document. - */ - -[Func="nsDocument::IsWebComponentsEnabled"] -interface HTMLShadowElement : HTMLElement -{ - readonly attribute ShadowRoot? olderShadowRoot; -}; - diff --git a/dom/webidl/ShadowRoot.webidl b/dom/webidl/ShadowRoot.webidl index 8dd069244c80..90e6b6467629 100644 --- a/dom/webidl/ShadowRoot.webidl +++ b/dom/webidl/ShadowRoot.webidl @@ -20,7 +20,6 @@ interface ShadowRoot : DocumentFragment [CEReactions, SetterThrows, TreatNullAs=EmptyString] attribute DOMString innerHTML; readonly attribute Element host; - readonly attribute ShadowRoot? olderShadowRoot; attribute boolean applyAuthorStyles; readonly attribute StyleSheetList styleSheets; }; diff --git a/dom/webidl/Window.webidl b/dom/webidl/Window.webidl index a3b2a8e53701..95ef16e73c34 100644 --- a/dom/webidl/Window.webidl +++ b/dom/webidl/Window.webidl @@ -520,12 +520,10 @@ partial interface Window { [Func="IsChromeOrXBL"] sequence getRegionalPrefsLocales(); -#ifdef ENABLE_INTL_API /** * Getter funcion for IntlUtils, which provides helper functions for * localization. */ [Throws, Func="IsChromeOrXBL"] readonly attribute IntlUtils intlUtils; -#endif }; diff --git a/dom/webidl/moz.build b/dom/webidl/moz.build index f89f86edcf42..c9602fb07e5c 100644 --- a/dom/webidl/moz.build +++ b/dom/webidl/moz.build @@ -616,7 +616,6 @@ WEBIDL_FILES = [ 'HTMLQuoteElement.webidl', 'HTMLScriptElement.webidl', 'HTMLSelectElement.webidl', - 'HTMLShadowElement.webidl', 'HTMLSourceElement.webidl', 'HTMLSpanElement.webidl', 'HTMLStyleElement.webidl', @@ -656,6 +655,7 @@ WEBIDL_FILES = [ 'InputEvent.webidl', 'InspectorUtils.webidl', 'IntersectionObserver.webidl', + 'IntlUtils.webidl', 'IterableIterator.webidl', 'KeyAlgorithm.webidl', 'KeyboardEvent.webidl', @@ -1144,8 +1144,3 @@ if CONFIG['ACCESSIBILITY']: WEBIDL_FILES += [ 'AccessibleNode.webidl', ] - -if CONFIG['ENABLE_INTL_API']: - WEBIDL_FILES += [ - 'IntlUtils.webidl', - ] diff --git a/editor/libeditor/HTMLEditUtils.cpp b/editor/libeditor/HTMLEditUtils.cpp index d45cadfe06ea..39bcd8040658 100644 --- a/editor/libeditor/HTMLEditUtils.cpp +++ b/editor/libeditor/HTMLEditUtils.cpp @@ -720,7 +720,6 @@ static const ElementInfo kElements[eHTMLTag_userdefined] = { GROUP_LEAF), ELEM(section, true, true, GROUP_BLOCK, GROUP_FLOW_ELEMENT), ELEM(select, true, false, GROUP_FORMCONTROL, GROUP_SELECT_CONTENT), - ELEM(shadow, true, false, GROUP_NONE, GROUP_INLINE_ELEMENT), ELEM(small, true, true, GROUP_FONTSTYLE, GROUP_INLINE_ELEMENT), ELEM(source, false, false, GROUP_PICTURE_CONTENT, GROUP_NONE), ELEM(span, true, true, GROUP_SPECIAL, GROUP_INLINE_ELEMENT), diff --git a/gfx/moz.build b/gfx/moz.build index 771f652e837a..fb1da17f2093 100644 --- a/gfx/moz.build +++ b/gfx/moz.build @@ -31,7 +31,7 @@ DIRS += [ if CONFIG['MOZ_ENABLE_SKIA']: DIRS += ['skia'] -if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY'] and CONFIG['ENABLE_INTL_API']: +if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY']: DIRS += ['sfntly/cpp/src'] if CONFIG['ENABLE_TESTS']: diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py index 220dd28a9471..57d3751fe6cc 100755 --- a/gfx/skia/generate_mozbuild.py +++ b/gfx/skia/generate_mozbuild.py @@ -101,7 +101,7 @@ elif CONFIG['CPU_ARCH'] == 'aarch64' and CONFIG['GNU_CC']: DEFINES['SKIA_IMPLEMENTATION'] = 1 -if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY'] and CONFIG['ENABLE_INTL_API']: +if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY']: DEFINES['SK_PDF_USE_SFNTLY'] = 1 if not CONFIG['MOZ_ENABLE_SKIA_GPU']: diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build index 48aff696061e..bc286191a9b4 100644 --- a/gfx/skia/moz.build +++ b/gfx/skia/moz.build @@ -743,7 +743,7 @@ elif CONFIG['CPU_ARCH'] == 'aarch64' and CONFIG['GNU_CC']: DEFINES['SKIA_IMPLEMENTATION'] = 1 -if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY'] and CONFIG['ENABLE_INTL_API']: +if CONFIG['MOZ_ENABLE_SKIA_PDF_SFNTLY']: DEFINES['SK_PDF_USE_SFNTLY'] = 1 if not CONFIG['MOZ_ENABLE_SKIA_GPU']: diff --git a/image/ImageFactory.cpp b/image/ImageFactory.cpp index 0abdf505bf1a..cb6cf35fa441 100644 --- a/image/ImageFactory.cpp +++ b/image/ImageFactory.cpp @@ -86,6 +86,30 @@ ComputeImageFlags(ImageURL* uri, const nsCString& aMimeType, bool isMultiPart) return imageFlags; } +#ifdef DEBUG +static void +NotifyImageLoading(ImageURL* aURI) +{ + if (!NS_IsMainThread()) { + RefPtr uri(aURI); + nsCOMPtr ev = + NS_NewRunnableFunction("NotifyImageLoading", [uri] () -> void { + NotifyImageLoading(uri); + }); + SystemGroup::Dispatch(TaskCategory::Other, ev.forget()); + return; + } + + nsCOMPtr obs = services::GetObserverService(); + NS_WARNING_ASSERTION(obs, "Can't get an observer service handle"); + if (obs) { + nsAutoCString spec; + aURI->GetSpec(spec); + obs->NotifyObservers(nullptr, "image-loading", NS_ConvertUTF8toUTF16(spec).get()); + } +} +#endif + /* static */ already_AddRefed ImageFactory::CreateImage(nsIRequest* aRequest, ProgressTracker* aProgressTracker, @@ -102,14 +126,10 @@ ImageFactory::CreateImage(nsIRequest* aRequest, #ifdef DEBUG // Record the image load for startup performance testing. - if (NS_IsMainThread()) { - nsCOMPtr obs = services::GetObserverService(); - NS_WARNING_ASSERTION(obs, "Can't get an observer service handle"); - if (obs) { - nsAutoCString spec; - aURI->GetSpec(spec); - obs->NotifyObservers(nullptr, "image-loading", NS_ConvertUTF8toUTF16(spec).get()); - } + bool match = false; + if ((NS_SUCCEEDED(aURI->SchemeIs("resource", &match)) && match) || + (NS_SUCCEEDED(aURI->SchemeIs("chrome", &match)) && match)) { + NotifyImageLoading(aURI); } #endif diff --git a/image/RasterImage.cpp b/image/RasterImage.cpp index 918cfb9eead4..de35877c8e55 100644 --- a/image/RasterImage.cpp +++ b/image/RasterImage.cpp @@ -1700,6 +1700,12 @@ RasterImage::NotifyDrawingObservers() return; } + bool match = false; + if ((NS_FAILED(mURI->SchemeIs("resource", &match)) || !match) && + (NS_FAILED(mURI->SchemeIs("chrome", &match)) || !match)) { + return; + } + // Record the image drawing for startup performance testing. nsCOMPtr obs = services::GetObserverService(); NS_WARNING_ASSERTION(obs, "Can't get an observer service handle"); diff --git a/image/imgRequest.cpp b/image/imgRequest.cpp index c96d601ec7eb..2e1442614e8a 100644 --- a/image/imgRequest.cpp +++ b/image/imgRequest.cpp @@ -459,13 +459,26 @@ imgRequest::GetCurrentURI(nsIURI** aURI) } bool -imgRequest::IsChrome() const +imgRequest::IsScheme(const char* aScheme) const { - bool isChrome = false; - if (NS_WARN_IF(NS_FAILED(mURI->SchemeIs("chrome", &isChrome)))) { + MOZ_ASSERT(aScheme); + bool isScheme = false; + if (NS_WARN_IF(NS_FAILED(mURI->SchemeIs(aScheme, &isScheme)))) { return false; } - return isChrome; + return isScheme; +} + +bool +imgRequest::IsChrome() const +{ + return IsScheme("chrome"); +} + +bool +imgRequest::IsData() const +{ + return IsScheme("data"); } nsresult @@ -819,13 +832,17 @@ imgRequest::OnStartRequest(nsIRequest* aRequest, nsISupports* ctxt) this->Cancel(NS_IMAGELIB_ERROR_FAILURE); } - // Try to retarget OnDataAvailable to a decode thread. - nsCOMPtr httpChannel = do_QueryInterface(aRequest); + // Try to retarget OnDataAvailable to a decode thread. We must process data + // URIs synchronously as per the spec however. + if (!channel || IsData()) { + return NS_OK; + } + nsCOMPtr retargetable = do_QueryInterface(aRequest); - if (httpChannel && retargetable) { + if (retargetable) { nsAutoCString mimeType; - nsresult rv = httpChannel->GetContentType(mimeType); + nsresult rv = channel->GetContentType(mimeType); if (NS_SUCCEEDED(rv) && !mimeType.EqualsLiteral(IMAGE_SVG_XML)) { // Retarget OnDataAvailable to the DecodePool's IO thread. nsCOMPtr target = diff --git a/image/imgRequest.h b/image/imgRequest.h index 4f8673578368..6b6c74864bf1 100644 --- a/image/imgRequest.h +++ b/image/imgRequest.h @@ -153,7 +153,9 @@ public: // OK to use on any thread. nsresult GetURI(ImageURL** aURI); nsresult GetCurrentURI(nsIURI** aURI); + bool IsScheme(const char* aScheme) const; bool IsChrome() const; + bool IsData() const; nsresult GetImageErrorCode(void); diff --git a/intl/lwbrk/nsJISx4051LineBreaker.cpp b/intl/lwbrk/nsJISx4051LineBreaker.cpp index b369c36603a7..f5f8e4bea0d0 100644 --- a/intl/lwbrk/nsJISx4051LineBreaker.cpp +++ b/intl/lwbrk/nsJISx4051LineBreaker.cpp @@ -556,10 +556,8 @@ GetClass(uint32_t u) /* ZWJ = 42, [ZWJ]*/ CLASS_CHARACTER }; -#if ENABLE_INTL_API static_assert(U_LB_COUNT == mozilla::ArrayLength(sUnicodeLineBreakToClass), "Gecko vs ICU LineBreak class mismatch"); -#endif auto cls = mozilla::unicode::GetLineBreakClass(u); MOZ_ASSERT(cls < mozilla::ArrayLength(sUnicodeLineBreakToClass)); diff --git a/intl/unicharutil/tools/genUnicodePropertyData.pl b/intl/unicharutil/tools/genUnicodePropertyData.pl index 7f186bd2d39f..d37d369cfffb 100755 --- a/intl/unicharutil/tools/genUnicodePropertyData.pl +++ b/intl/unicharutil/tools/genUnicodePropertyData.pl @@ -9,6 +9,10 @@ # read from the Unicode Character Database and compiled into multi-level arrays # for efficient lookup. # +# Note that for most properties, we now rely on ICU; this tool and the tables +# it generates are used only for a couple of properties not readily exposed +# via ICU APIs. +# # To regenerate the tables in nsUnicodePropertyData.cpp: # # (1) Download the current Unicode data files from @@ -17,13 +21,6 @@ # # NB: not all the files are actually needed; currently, we require # - UnicodeData.txt -# - Scripts.txt -# - BidiMirroring.txt -# - BidiBrackets.txt -# - HangulSyllableType.txt -# - LineBreak.txt -# - EastAsianWidth.txt -# - DerivedCoreProperties.txt # - ReadMe.txt (to record version/date of the UCD) # - Unihan_Variants.txt (from Unihan.zip) # though this may change if we find a need for additional properties. @@ -44,7 +41,6 @@ # (2) Run this tool using a command line of the form # # perl genUnicodePropertyData.pl \ -# /path/to/harfbuzz/src \ # /path/to/icu/common/unicode \ # /path/to/UCD-directory # @@ -58,17 +54,15 @@ use strict; use List::Util qw(first); -if ($#ARGV != 2) { +if ($#ARGV != 1) { print <<__EOT; # Run this tool using a command line of the form # # perl genUnicodePropertyData.pl \\ -# /path/to/harfbuzz/src \\ # /path/to/icu/common/unicode \\ # /path/to/UCD-directory # -# where harfbuzz/src is the directory containing harfbuzz .cc and .hh files, -# icu/common/unicode is the directory containing ICU 'common' public headers, +# where icu/common/unicode is the directory containing ICU 'common' headers, # and UCD-directory is a directory containing the current Unicode Character # Database files (UnicodeData.txt, etc), available from # http://www.unicode.org/Public/UNIDATA/, with additional resources as @@ -84,35 +78,11 @@ __EOT exit 0; } -my $HARFBUZZ = $ARGV[0]; -my $ICU = $ARGV[1]; -my $UNICODE = $ARGV[2]; +my $ICU = $ARGV[0]; +my $UNICODE = $ARGV[1]; -# load HB_Category constants - -my $cc = -1; -my %catCode; - -sub readHarfBuzzHeader -{ - my $file = shift; - open FH, "< $HARFBUZZ/$file" or die "can't open harfbuzz header $HARFBUZZ/$file\n"; - while () { - if (m/HB_UNICODE_GENERAL_CATEGORY_([A-Z_]+)/) { - $cc++; - $catCode{$1} = $cc; - } - } - close FH; -} - -&readHarfBuzzHeader("hb-unicode.h"); - -die "didn't find HarfBuzz category codes\n" if $cc == -1; - -my %scriptCode; -my @scriptCodeToTag; my @scriptCodeToName; +my @idtype; my $sc = -1; @@ -129,8 +99,6 @@ sub readIcuHeader s/SIGN_WRITING/SIGNWRITING/; if (m|USCRIPT_([A-Z_]+)\s*=\s*([0-9]+),\s*/\*\s*([A-Z][a-z]{3})\s*\*/|) { $sc = $2; - $scriptCode{$1} = $sc; - $scriptCodeToTag[$sc] = $3; $scriptCodeToName[$sc] = $1; } } @@ -170,32 +138,6 @@ my %mappedIdType = ( "Allowed" => 1 ); -my %bidicategoryCode = ( - "L" => 0, # Left-to-Right - "R" => 1, # Right-to-Left - "EN" => 2, # European Number - "ES" => 3, # European Number Separator - "ET" => 4, # European Number Terminator - "AN" => 5, # Arabic Number - "CS" => 6, # Common Number Separator - "B" => 7, # Paragraph Separator - "S" => 8, # Segment Separator - "WS" => 9, # Whitespace - "ON" => 10, # Other Neutrals - "LRE" => 11, # Left-to-Right Embedding - "LRO" => 12, # Left-to-Right Override - "AL" => 13, # Right-to-Left Arabic - "RLE" => 14, # Right-to-Left Embedding - "RLO" => 15, # Right-to-Left Override - "PDF" => 16, # Pop Directional Format - "NSM" => 17, # Non-Spacing Mark - "BN" => 18, # Boundary Neutral - "FSI" => 19, # First Strong Isolate - "LRI" => 20, # Left-to-Right Isolate - "RLI" => 21, # Right-to-left Isolate - "PDI" => 22 # Pop Direcitonal Isolate -); - my %verticalOrientationCode = ( 'U' => 0, # U - Upright, the same orientation as in the code charts 'R' => 1, # R - Rotated 90 degrees clockwise compared to the code charts @@ -203,141 +145,18 @@ my %verticalOrientationCode = ( 'Tr' => 3 # Tr - Transformed typographically, with fallback to Rotated ); -my %lineBreakCode = ( # ordering matches ICU's ULineBreak enum - "XX" => 0, - "AI" => 1, - "AL" => 2, - "B2" => 3, - "BA" => 4, - "BB" => 5, - "BK" => 6, - "CB" => 7, - "CL" => 8, - "CM" => 9, - "CR" => 10, - "EX" => 11, - "GL" => 12, - "HY" => 13, - "ID" => 14, - "IN" => 15, - "IS" => 16, - "LF" => 17, - "NS" => 18, - "NU" => 19, - "OP" => 20, - "PO" => 21, - "PR" => 22, - "QU" => 23, - "SA" => 24, - "SG" => 25, - "SP" => 26, - "SY" => 27, - "ZW" => 28, - "NL" => 29, - "WJ" => 30, - "H2" => 31, - "H3" => 32, - "JL" => 33, - "JT" => 34, - "JV" => 35, - "CP" => 36, - "CJ" => 37, - "HL" => 38, - "RI" => 39, - "EB" => 40, - "EM" => 41, - "ZWJ" => 42 -); - -my %eastAsianWidthCode = ( - "N" => 0, - "A" => 1, - "H" => 2, - "W" => 3, - "F" => 4, - "Na" => 5 -); - # initialize default properties -my @script; -my @category; -my @combining; -my @mirror; -my @pairedBracketType; -my @hangul; -my @casemap; -my @idtype; -my @numericvalue; my @hanVariant; -my @bidicategory; my @fullWidth; my @fullWidthInverse; my @verticalOrientation; -my @lineBreak; -my @eastAsianWidthFWH; -my @defaultIgnorable; for (my $i = 0; $i < 0x110000; ++$i) { - $script[$i] = $scriptCode{"UNKNOWN"}; - $category[$i] = $catCode{"UNASSIGNED"}; - $combining[$i] = 0; - $pairedBracketType[$i] = 0; - $casemap[$i] = 0; - $idtype[$i] = $mappedIdType{'Restricted'}; - $numericvalue[$i] = -1; $hanVariant[$i] = 0; - $bidicategory[$i] = $bidicategoryCode{"L"}; $fullWidth[$i] = 0; $fullWidthInverse[$i] = 0; $verticalOrientation[$i] = 1; # default for unlisted codepoints is 'R' - $lineBreak[$i] = $lineBreakCode{"XX"}; - $eastAsianWidthFWH[$i] = 0; - $defaultIgnorable[$i] = 0; } -# blocks where the default for bidi category is not L -for my $i (0x0600..0x07BF, 0x08A0..0x08FF, 0xFB50..0xFDCF, 0xFDF0..0xFDFF, 0xFE70..0xFEFF, 0x1EE00..0x0001EEFF) { - $bidicategory[$i] = $bidicategoryCode{"AL"}; -} -for my $i (0x0590..0x05FF, 0x07C0..0x089F, 0xFB1D..0xFB4F, 0x00010800..0x00010FFF, 0x0001E800..0x0001EDFF, 0x0001EF00..0x0001EFFF) { - $bidicategory[$i] = $bidicategoryCode{"R"}; -} -for my $i (0x20A0..0x20CF) { - $bidicategory[$i] = $bidicategoryCode{"ET"}; -} - -my %ucd2hb = ( -'Cc' => 'CONTROL', -'Cf' => 'FORMAT', -'Cn' => 'UNASSIGNED', -'Co' => 'PRIVATE_USE', -'Cs' => 'SURROGATE', -'Ll' => 'LOWERCASE_LETTER', -'Lm' => 'MODIFIER_LETTER', -'Lo' => 'OTHER_LETTER', -'Lt' => 'TITLECASE_LETTER', -'Lu' => 'UPPERCASE_LETTER', -'Mc' => 'SPACING_MARK', -'Me' => 'ENCLOSING_MARK', -'Mn' => 'NON_SPACING_MARK', -'Nd' => 'DECIMAL_NUMBER', -'Nl' => 'LETTER_NUMBER', -'No' => 'OTHER_NUMBER', -'Pc' => 'CONNECT_PUNCTUATION', -'Pd' => 'DASH_PUNCTUATION', -'Pe' => 'CLOSE_PUNCTUATION', -'Pf' => 'FINAL_PUNCTUATION', -'Pi' => 'INITIAL_PUNCTUATION', -'Po' => 'OTHER_PUNCTUATION', -'Ps' => 'OPEN_PUNCTUATION', -'Sc' => 'CURRENCY_SYMBOL', -'Sk' => 'MODIFIER_SYMBOL', -'Sm' => 'MATH_SYMBOL', -'So' => 'OTHER_SYMBOL', -'Zl' => 'LINE_SEPARATOR', -'Zp' => 'PARAGRAPH_SEPARATOR', -'Zs' => 'SPACE_SEPARATOR' -); - # read ReadMe.txt my @versionInfo; open FH, "< $UNICODE/ReadMe.txt" or die "can't open Unicode ReadMe.txt file\n"; @@ -347,12 +166,6 @@ while () { } close FH; -my $kTitleToUpper = 0x80000000; -my $kUpperToLower = 0x40000000; -my $kLowerToTitle = 0x20000000; -my $kLowerToUpper = 0x10000000; -my $kCaseMapCharMask = 0x001fffff; - # read UnicodeData.txt open FH, "< $UNICODE/UnicodeData.txt" or die "can't open UCD file UnicodeData.txt\n"; while () { @@ -365,12 +178,6 @@ while () { if ($fields[1] =~ /Last/) { my $last = hex "0x$fields[0]"; do { - $category[$first] = $catCode{$ucd2hb{$fields[2]}}; - $combining[$first] = $fields[3]; - $bidicategory[$first] = $bidicategoryCode{$fields[4]}; - unless (length($fields[7]) == 0) { - $numericvalue[$first] = $fields[7]; - } if ($fields[1] =~ /CJK/) { @hanVariant[$first] = 3; } @@ -381,33 +188,6 @@ while () { } } else { my $usv = hex "0x$fields[0]"; - $category[$usv] = $catCode{$ucd2hb{$fields[2]}}; - $combining[$usv] = $fields[3]; - my $upper = hex $fields[12]; - my $lower = hex $fields[13]; - my $title = hex $fields[14]; - # we only store one mapping for each character, - # but also record what kind of mapping it is - if ($upper && $lower) { - $casemap[$usv] |= $kTitleToUpper; - $casemap[$usv] |= ($usv ^ $upper); - } - elsif ($lower) { - $casemap[$usv] |= $kUpperToLower; - $casemap[$usv] |= ($usv ^ $lower); - } - elsif ($title && ($title != $upper)) { - $casemap[$usv] |= $kLowerToTitle; - $casemap[$usv] |= ($usv ^ $title); - } - elsif ($upper) { - $casemap[$usv] |= $kLowerToUpper; - $casemap[$usv] |= ($usv ^ $upper); - } - $bidicategory[$usv] = $bidicategoryCode{$fields[4]}; - unless (length($fields[7]) == 0) { - $numericvalue[$usv] = $fields[7]; - } if ($fields[1] =~ /CJK/) { @hanVariant[$usv] = 3; } @@ -427,178 +207,6 @@ while () { } close FH; -# read Scripts.txt -open FH, "< $UNICODE/Scripts.txt" or die "can't open UCD file Scripts.txt\n"; -push @versionInfo, ""; -while () { - chomp; - push @versionInfo, $_; - last if /Date:/; -} -while () { - if (m/([0-9A-F]{4,6})(?:\.\.([0-9A-F]{4,6}))*\s+;\s+([^ ]+)/) { - my $script = uc($3); - unless (exists $scriptCode{$script}) { - warn "unknown ICU script $script"; - $scriptCode{$script} = $scriptCode{"UNKNOWN"}; - } - $script = $scriptCode{$script}; - my $start = hex "0x$1"; - my $end = (defined $2) ? hex "0x$2" : $start; - for (my $i = $start; $i <= $end; ++$i) { - $script[$i] = $script; - } - } -} -close FH; - -# read BidiMirroring.txt -my @offsets = (); -push @offsets, 0; - -open FH, "< $UNICODE/BidiMirroring.txt" or die "can't open UCD file BidiMirroring.txt\n"; -push @versionInfo, ""; -while () { - chomp; - push @versionInfo, $_; - last if /Date:/; -} -while () { - s/#.*//; - if (m/([0-9A-F]{4,6});\s*([0-9A-F]{4,6})/) { - my $mirrorOffset = hex("0x$2") - hex("0x$1"); - my $offsetIndex = first { $offsets[$_] eq $mirrorOffset } 0..$#offsets; - if ($offsetIndex == undef) { - die "too many offset codes\n" if scalar @offsets == 31; - push @offsets, $mirrorOffset; - $offsetIndex = $#offsets; - } - $mirror[hex "0x$1"] = $offsetIndex; - } -} -close FH; - -# read BidiBrackets.txt -my %pairedBracketTypeCode = ( - 'N' => 0, - 'O' => 1, - 'C' => 2 -); -open FH, "< $UNICODE/BidiBrackets.txt" or die "can't open UCD file BidiBrackets.txt\n"; -push @versionInfo, ""; -while () { - chomp; - push @versionInfo, $_; - last if /Date:/; -} -while () { - s/#.*//; - if (m/([0-9A-F]{4,6});\s*([0-9A-F]{4,6});\s*(.)/) { - my $mirroredChar = $offsets[$mirror[hex "0x$1"]] + hex "0x$1"; - die "bidi bracket does not match mirrored char\n" unless $mirroredChar == hex "0x$2"; - my $pbt = uc($3); - warn "unknown Bidi Bracket type" unless exists $pairedBracketTypeCode{$pbt}; - $pairedBracketType[hex "0x$1"] = $pairedBracketTypeCode{$pbt}; - } -} -close FH; - -# read HangulSyllableType.txt -my %hangulType = ( - 'L' => 0x01, - 'V' => 0x02, - 'T' => 0x04, - 'LV' => 0x03, - 'LVT' => 0x07 -); -open FH, "< $UNICODE/HangulSyllableType.txt" or die "can't open UCD file HangulSyllableType.txt\n"; -push @versionInfo, ""; -while () { - chomp; - push @versionInfo, $_; - last if /Date:/; -} -while () { - s/#.*//; - if (m/([0-9A-F]{4,6})(?:\.\.([0-9A-F]{4,6}))*\s*;\s*([^ ]+)/) { - my $hangul = uc($3); - warn "unknown Hangul syllable type" unless exists $hangulType{$hangul}; - $hangul = $hangulType{$hangul}; - my $start = hex "0x$1"; - my $end = (defined $2) ? hex "0x$2" : $start; - for (my $i = $start; $i <= $end; ++$i) { - $hangul[$i] = $hangul; - } - } -} -close FH; - -# read LineBreak.txt -open FH, "< $UNICODE/LineBreak.txt" or die "can't open UCD file LineBreak.txt\n"; -push @versionInfo, ""; -while () { - chomp; - push @versionInfo, $_; - last if /Date:/; -} -while () { - s/#.*//; - if (m/([0-9A-F]{4,6})(?:\.\.([0-9A-F]{4,6}))*\s*;\s*([^ ]+)/) { - my $lb = uc($3); - warn "unknown LineBreak class" unless exists $lineBreakCode{$lb}; - $lb = $lineBreakCode{$lb}; - my $start = hex "0x$1"; - my $end = (defined $2) ? hex "0x$2" : $start; - for (my $i = $start; $i <= $end; ++$i) { - $lineBreak[$i] = $lb; - } - } -} -close FH; - -# read EastAsianWidth.txt -open FH, "< $UNICODE/EastAsianWidth.txt" or die "can't open UCD file EastAsianWidth.txt\n"; -push @versionInfo, ""; -while () { - chomp; - push @versionInfo, $_; - last if /Date:/; -} -while () { - s/#.*//; - if (m/([0-9A-F]{4,6})(?:\.\.([0-9A-F]{4,6}))*\s*;\s*([^ ]+)/) { - my $start = hex "0x$1"; - my $end = (defined $2) ? hex "0x$2" : $start; - my $eaw = $3; - warn "unknown EastAsianWidth class" unless exists $eastAsianWidthCode{$eaw}; - my $isFWH = ($eaw =~ m/^[FWH]$/) ? 1 : 0; - for (my $i = $start; $i <= $end; ++$i) { - $eastAsianWidthFWH[$i] = $isFWH; - } - } -} -close FH; - -# read DerivedCoreProperties.txt (for Default-Ignorables) -open FH, "< $UNICODE/DerivedCoreProperties.txt" or die "can't open UCD file DerivedCoreProperties.txt\n"; -push @versionInfo, ""; -while () { - chomp; - push @versionInfo, $_; - last if /Date:/; -} -while () { - s/#.*//; - if (m/([0-9A-F]{4,6})(?:\.\.([0-9A-F]{4,6}))*\s*;\s*Default_Ignorable_Code_Point/) { - my $start = hex "0x$1"; - my $end = (defined $2) ? hex "0x$2" : $start; - for (my $i = $start; $i <= $end; ++$i) { - $defaultIgnorable[$i] = 1; - } - } -} -close FH; - # read IdentifierStatus.txt open FH, "< $UNICODE/security/IdentifierStatus.txt" or die "can't open UCD file IdentifierStatus.txt\n"; push @versionInfo, ""; @@ -735,50 +343,17 @@ $versionInfo __END -print DATA_TABLES "#if !ENABLE_INTL_API\n"; -print DATA_TABLES "static const uint32_t sScriptCodeToTag[] = {\n"; -for (my $i = 0; $i < scalar @scriptCodeToTag; ++$i) { - printf DATA_TABLES " HB_TAG('%c','%c','%c','%c')", unpack('cccc', $scriptCodeToTag[$i]); - print DATA_TABLES $i < $#scriptCodeToTag ? ",\n" : "\n"; -} -print DATA_TABLES "};\n"; -print DATA_TABLES "#endif\n\n"; - our $totalData = 0; -print DATA_TABLES "#if !ENABLE_INTL_API\n"; -print DATA_TABLES "static const int16_t sMirrorOffsets[] = {\n"; -for (my $i = 0; $i < scalar @offsets; ++$i) { - printf DATA_TABLES " $offsets[$i]"; - print DATA_TABLES $i < $#offsets ? ",\n" : "\n"; -} -print DATA_TABLES "};\n"; -print DATA_TABLES "#endif\n\n"; - print HEADER "#pragma pack(1)\n\n"; -sub sprintCharProps1 -{ - my $usv = shift; - return sprintf("{%d,%d,%d}, ", $mirror[$usv], $hangul[$usv], $combining[$usv]); -} -my $type = q/ -struct nsCharProps1 { - unsigned char mMirrorOffsetIndex:5; - unsigned char mHangulType:3; - unsigned char mCombiningClass:8; -}; -/; -&genTables("#if !ENABLE_INTL_API", "#endif", - "CharProp1", $type, "nsCharProps1", 11, 5, \&sprintCharProps1, 1, 2, 1); - sub sprintCharProps2_short { my $usv = shift; return sprintf("{%d,%d},", $verticalOrientation[$usv], $idtype[$usv]); } -$type = q| +my $type = q| struct nsCharProps2 { // Currently only 4 bits are defined here, so 4 more could be added without // affecting the storage requirements for this struct. Or we could pack two @@ -787,41 +362,7 @@ struct nsCharProps2 { unsigned char mIdType:2; }; |; -&genTables("#if ENABLE_INTL_API", "#endif", - "CharProp2", $type, "nsCharProps2", 9, 7, \&sprintCharProps2_short, 16, 1, 1); - -sub sprintCharProps2_full -{ - my $usv = shift; - return sprintf("{%d,%d,%d,%d,%d,%d,%d,%d,%d,%d},", - $script[$usv], $pairedBracketType[$usv], - $eastAsianWidthFWH[$usv], $category[$usv], - $idtype[$usv], $defaultIgnorable[$usv], $bidicategory[$usv], - $verticalOrientation[$usv], $lineBreak[$usv], - $numericvalue[$usv]); -} -$type = q| -// This struct currently requires 5 bytes. We try to ensure that whole-byte -// fields will not straddle byte boundaries, to optimize access to them. -struct nsCharProps2 { - unsigned char mScriptCode:8; - // -- byte boundary -- - unsigned char mPairedBracketType:2; - unsigned char mEastAsianWidthFWH:1; - unsigned char mCategory:5; - // -- byte boundary -- - unsigned char mIdType:2; - unsigned char mDefaultIgnorable:1; - unsigned char mBidiCategory:5; - // -- byte boundary -- - unsigned char mVertOrient:2; - unsigned char mLineBreak:6; - // -- byte boundary -- - signed char mNumericValue; // only 5 bits are actually needed here -}; -|; -&genTables("#if !ENABLE_INTL_API", "#endif", - "CharProp2", $type, "nsCharProps2", 12, 4, \&sprintCharProps2_full, 16, 5, 1); +&genTables("CharProp2", $type, "nsCharProps2", 9, 7, \&sprintCharProps2_short, 16, 1, 1); print HEADER "#pragma pack()\n\n"; @@ -837,50 +378,32 @@ sub sprintHanVariants return sprintf("0x%02x,", $val); } ## Han Variant data currently unused but may be needed in future, see bug 857481 -## &genTables("", "", "HanVariant", "", "uint8_t", 9, 7, \&sprintHanVariants, 2, 1, 4); +## &genTables("HanVariant", "", "uint8_t", 9, 7, \&sprintHanVariants, 2, 1, 4); sub sprintFullWidth { my $usv = shift; return sprintf("0x%04x,", $fullWidth[$usv]); } -&genTables("", "", "FullWidth", "", "uint16_t", 10, 6, \&sprintFullWidth, 0, 2, 1); +&genTables("FullWidth", "", "uint16_t", 10, 6, \&sprintFullWidth, 0, 2, 1); sub sprintFullWidthInverse { my $usv = shift; return sprintf("0x%04x,", $fullWidthInverse[$usv]); } -&genTables("", "", "FullWidthInverse", "", "uint16_t", 10, 6, \&sprintFullWidthInverse, 0, 2, 1); - -sub sprintCasemap -{ - my $usv = shift; - return sprintf("0x%08x,", $casemap[$usv]); -} -&genTables("#if !ENABLE_INTL_API", "#endif", - "CaseMap", "", "uint32_t", 11, 5, \&sprintCasemap, 1, 4, 1); +&genTables("FullWidthInverse", "", "uint16_t", 10, 6, \&sprintFullWidthInverse, 0, 2, 1); print STDERR "Total data = $totalData\n"; -printf DATA_TABLES "const uint32_t kTitleToUpper = 0x%08x;\n", $kTitleToUpper; -printf DATA_TABLES "const uint32_t kUpperToLower = 0x%08x;\n", $kUpperToLower; -printf DATA_TABLES "const uint32_t kLowerToTitle = 0x%08x;\n", $kLowerToTitle; -printf DATA_TABLES "const uint32_t kLowerToUpper = 0x%08x;\n", $kLowerToUpper; -printf DATA_TABLES "const uint32_t kCaseMapCharMask = 0x%08x;\n\n", $kCaseMapCharMask; - sub genTables { - my ($guardBegin, $guardEnd, - $prefix, $typedef, $type, $indexBits, $charBits, $func, $maxPlane, $bytesPerEntry, $charsPerEntry) = @_; + my ($prefix, $typedef, $type, $indexBits, $charBits, $func, $maxPlane, $bytesPerEntry, $charsPerEntry) = @_; if ($typedef ne '') { - print HEADER "$guardBegin\n"; print HEADER "$typedef\n"; - print HEADER "$guardEnd\n\n"; } - print DATA_TABLES "\n$guardBegin\n"; print DATA_TABLES "#define k${prefix}MaxPlane $maxPlane\n"; print DATA_TABLES "#define k${prefix}IndexBits $indexBits\n"; print DATA_TABLES "#define k${prefix}CharBits $charBits\n"; @@ -949,7 +472,6 @@ sub genTables print DATA_TABLES $i < $#char ? "},\n" : "}\n"; } print DATA_TABLES "};\n"; - print DATA_TABLES "$guardEnd\n"; my $dataSize = $pmCount * $indexLen * $pmBits/8 + $chCount * $pageLen * $bytesPerEntry + diff --git a/intl/unicharutil/util/nsUnicodeProperties.cpp b/intl/unicharutil/util/nsUnicodeProperties.cpp index 706c035fed48..c481aab96f28 100644 --- a/intl/unicharutil/util/nsUnicodeProperties.cpp +++ b/intl/unicharutil/util/nsUnicodeProperties.cpp @@ -13,30 +13,6 @@ #define UNICODE_BMP_LIMIT 0x10000 #define UNICODE_LIMIT 0x110000 -#ifndef ENABLE_INTL_API -static const nsCharProps1& -GetCharProps1(uint32_t aCh) -{ - if (aCh < UNICODE_BMP_LIMIT) { - return sCharProp1Values[sCharProp1Pages[0][aCh >> kCharProp1CharBits]] - [aCh & ((1 << kCharProp1CharBits) - 1)]; - } - if (aCh < (kCharProp1MaxPlane + 1) * 0x10000) { - return sCharProp1Values[sCharProp1Pages[sCharProp1Planes[(aCh >> 16) - 1]] - [(aCh & 0xffff) >> kCharProp1CharBits]] - [aCh & ((1 << kCharProp1CharBits) - 1)]; - } - - // Default values for unassigned - static const nsCharProps1 undefined = { - 0, // Index to mirrored char offsets - 0, // Hangul Syllable type - 0 // Combining class - }; - return undefined; -} -#endif - const nsCharProps2& GetCharProps2(uint32_t aCh) { @@ -54,21 +30,8 @@ GetCharProps2(uint32_t aCh) // Default values for unassigned using namespace mozilla::unicode; static const nsCharProps2 undefined = { -#if ENABLE_INTL_API VERTICAL_ORIENTATION_R, 0 // IdentifierType -#else - uint8_t(Script::UNKNOWN), - PAIRED_BRACKET_TYPE_NONE, - 0, // EastAsianWidthFWH - HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED, - 0, // IdentifierType - 0, // DefaultIgnorable - eCharType_LeftToRight, - VERTICAL_ORIENTATION_R, - 0, // LineBreak - -1 // Numeric Value -#endif }; return undefined; } @@ -135,7 +98,6 @@ const nsUGenCategory sDetailedToGeneralCategory[] = { /* SPACE_SEPARATOR */ nsUGenCategory::kSeparator }; -#ifdef ENABLE_INTL_API const hb_unicode_general_category_t sICUtoHBcategory[U_CHAR_CATEGORY_COUNT] = { HB_UNICODE_GENERAL_CATEGORY_UNASSIGNED, // U_GENERAL_OTHER_TYPES = 0, HB_UNICODE_GENERAL_CATEGORY_UPPERCASE_LETTER, // U_UPPERCASE_LETTER = 1, @@ -168,142 +130,6 @@ const hb_unicode_general_category_t sICUtoHBcategory[U_CHAR_CATEGORY_COUNT] = { HB_UNICODE_GENERAL_CATEGORY_INITIAL_PUNCTUATION, // U_INITIAL_PUNCTUATION = 28, HB_UNICODE_GENERAL_CATEGORY_FINAL_PUNCTUATION, // U_FINAL_PUNCTUATION = 29, }; -#endif - -#if !ENABLE_INTL_API -uint8_t GetGeneralCategory(uint32_t aCh) { - return GetCharProps2(aCh).mCategory; -} - -nsCharType GetBidiCat(uint32_t aCh) { - return nsCharType(GetCharProps2(aCh).mBidiCategory); -} - -int8_t GetNumericValue(uint32_t aCh) { - return GetCharProps2(aCh).mNumericValue; -} - -uint32_t -GetMirroredChar(uint32_t aCh) -{ - return aCh + sMirrorOffsets[GetCharProps1(aCh).mMirrorOffsetIndex]; -} - -bool -HasMirroredChar(uint32_t aCh) -{ - return GetCharProps1(aCh).mMirrorOffsetIndex != 0; -} - -uint8_t -GetCombiningClass(uint32_t aCh) -{ - return GetCharProps1(aCh).mCombiningClass; -} - -uint8_t -GetLineBreakClass(uint32_t aCh) -{ - return GetCharProps2(aCh).mLineBreak; -} - -Script -GetScriptCode(uint32_t aCh) -{ - return Script(GetCharProps2(aCh).mScriptCode); -} - -uint32_t -GetScriptTagForCode(Script aScriptCode) -{ - // this will safely return 0 for negative script codes, too :) - if (static_cast(aScriptCode) > ArrayLength(sScriptCodeToTag)) { - return 0; - } - return sScriptCodeToTag[static_cast(aScriptCode)]; -} - -PairedBracketType GetPairedBracketType(uint32_t aCh) -{ - return PairedBracketType(GetCharProps2(aCh).mPairedBracketType); -} - -uint32_t GetPairedBracket(uint32_t aCh) -{ - return GetPairedBracketType(aCh) != PAIRED_BRACKET_TYPE_NONE - ? GetMirroredChar(aCh) : aCh; -} - -static inline uint32_t -GetCaseMapValue(uint32_t aCh) -{ - if (aCh < UNICODE_BMP_LIMIT) { - return sCaseMapValues[sCaseMapPages[0][aCh >> kCaseMapCharBits]] - [aCh & ((1 << kCaseMapCharBits) - 1)]; - } - if (aCh < (kCaseMapMaxPlane + 1) * 0x10000) { - return sCaseMapValues[sCaseMapPages[sCaseMapPlanes[(aCh >> 16) - 1]] - [(aCh & 0xffff) >> kCaseMapCharBits]] - [aCh & ((1 << kCaseMapCharBits) - 1)]; - } - return 0; -} - -uint32_t -GetUppercase(uint32_t aCh) -{ - uint32_t mapValue = GetCaseMapValue(aCh); - if (mapValue & (kLowerToUpper | kTitleToUpper)) { - return aCh ^ (mapValue & kCaseMapCharMask); - } - if (mapValue & kLowerToTitle) { - return GetUppercase(aCh ^ (mapValue & kCaseMapCharMask)); - } - return aCh; -} - -uint32_t -GetLowercase(uint32_t aCh) -{ - uint32_t mapValue = GetCaseMapValue(aCh); - if (mapValue & kUpperToLower) { - return aCh ^ (mapValue & kCaseMapCharMask); - } - if (mapValue & kTitleToUpper) { - return GetLowercase(aCh ^ (mapValue & kCaseMapCharMask)); - } - return aCh; -} - -uint32_t -GetTitlecaseForLower(uint32_t aCh) -{ - uint32_t mapValue = GetCaseMapValue(aCh); - if (mapValue & (kLowerToTitle | kLowerToUpper)) { - return aCh ^ (mapValue & kCaseMapCharMask); - } - return aCh; -} - -uint32_t -GetTitlecaseForAll(uint32_t aCh) -{ - uint32_t mapValue = GetCaseMapValue(aCh); - if (mapValue & (kLowerToTitle | kLowerToUpper)) { - return aCh ^ (mapValue & kCaseMapCharMask); - } - if (mapValue & kUpperToLower) { - return GetTitlecaseForLower(aCh ^ (mapValue & kCaseMapCharMask)); - } - return aCh; -} - -bool IsEastAsianWidthFWH(uint32_t aCh) -{ - return GetCharProps2(aCh).mEastAsianWidthFWH; -} - -#endif #define DEFINE_BMP_1PLANE_MAPPING_GET_FUNC(prefix_) \ uint32_t Get##prefix_(uint32_t aCh) \ @@ -332,31 +158,18 @@ IsClusterExtender(uint32_t aCh, uint8_t aCategory) } enum HSType { -#if ENABLE_INTL_API HST_NONE = U_HST_NOT_APPLICABLE, HST_L = U_HST_LEADING_JAMO, HST_V = U_HST_VOWEL_JAMO, HST_T = U_HST_TRAILING_JAMO, HST_LV = U_HST_LV_SYLLABLE, HST_LVT = U_HST_LVT_SYLLABLE -#else - HST_NONE = 0x00, - HST_L = 0x01, - HST_V = 0x02, - HST_T = 0x04, - HST_LV = 0x03, - HST_LVT = 0x07 -#endif }; static HSType GetHangulSyllableType(uint32_t aCh) { -#if ENABLE_INTL_API return HSType(u_getIntPropertyValue(aCh, UCHAR_HANGUL_SYLLABLE_TYPE)); -#else - return HSType(GetCharProps1(aCh).mHangulType); -#endif } void diff --git a/intl/unicharutil/util/nsUnicodeProperties.h b/intl/unicharutil/util/nsUnicodeProperties.h index f4827de80086..03fafc547440 100644 --- a/intl/unicharutil/util/nsUnicodeProperties.h +++ b/intl/unicharutil/util/nsUnicodeProperties.h @@ -12,10 +12,8 @@ #include "nsUnicodeScriptCodes.h" #include "harfbuzz/hb.h" -#if ENABLE_INTL_API #include "unicode/uchar.h" #include "unicode/uscript.h" -#endif const nsCharProps2& GetCharProps2(uint32_t aCh); @@ -48,8 +46,6 @@ enum IdentifierType { IDTYPE_ALLOWED = 1, }; -#if ENABLE_INTL_API // ICU is available, so simply forward to its API - extern const hb_unicode_general_category_t sICUtoHBcategory[]; inline uint32_t @@ -176,63 +172,6 @@ IsDefaultIgnorable(uint32_t aCh) return u_hasBinaryProperty(aCh, UCHAR_DEFAULT_IGNORABLE_CODE_POINT); } -#else // not ENABLE_INTL_API - -// Return whether the char has a mirrored-pair counterpart. -uint32_t GetMirroredChar(uint32_t aCh); - -bool HasMirroredChar(uint32_t aChr); - -uint8_t GetCombiningClass(uint32_t aCh); - -// returns the detailed General Category in terms of HB_UNICODE_* values -uint8_t GetGeneralCategory(uint32_t aCh); - -nsCharType GetBidiCat(uint32_t aCh); - -uint8_t GetLineBreakClass(uint32_t aCh); - -Script GetScriptCode(uint32_t aCh); - -// We don't support ScriptExtensions.txt data when building without ICU. -// The most important cases will still be handled in gfxScriptItemizer -// by checking IsClusterExtender to avoid breaking script runs within -// a cluster. -inline bool -HasScript(uint32_t aCh, Script aScript) -{ - return false; -} - -uint32_t GetScriptTagForCode(Script aScriptCode); - -PairedBracketType GetPairedBracketType(uint32_t aCh); -uint32_t GetPairedBracket(uint32_t aCh); - -/** - * Return the numeric value of the character. The value returned is the value - * of the Numeric_Value in field 7 of the UCD, or -1 if field 7 is empty. - * To restrict to decimal digits, the caller should also check whether - * GetGeneralCategory returns HB_UNICODE_GENERAL_CATEGORY_DECIMAL_NUMBER - */ -int8_t GetNumericValue(uint32_t aCh); - -uint32_t GetUppercase(uint32_t aCh); -uint32_t GetLowercase(uint32_t aCh); -uint32_t GetTitlecaseForLower(uint32_t aCh); // maps LC to titlecase, UC unchanged -uint32_t GetTitlecaseForAll(uint32_t aCh); // maps both UC and LC to titlecase - -// Return whether the char has EastAsianWidth class F or W or H. -bool IsEastAsianWidthFWH(uint32_t aCh); - -// Return whether the char is default-ignorable. -inline bool IsDefaultIgnorable(uint32_t aCh) -{ - return GetCharProps2(aCh).mDefaultIgnorable; -} - -#endif // !ENABLE_INTL_API - // returns the simplified Gen Category as defined in nsUGenCategory inline nsUGenCategory GetGenCategory(uint32_t aCh) { return sDetailedToGeneralCategory[GetGeneralCategory(aCh)]; diff --git a/intl/unicharutil/util/nsUnicodePropertyData.cpp b/intl/unicharutil/util/nsUnicodePropertyData.cpp index bce89574a4c4..e4a105b06f68 100644 --- a/intl/unicharutil/util/nsUnicodePropertyData.cpp +++ b/intl/unicharutil/util/nsUnicodePropertyData.cpp @@ -11,7 +11,7 @@ */ /* - * Created on Wed Jun 28 17:08:23 2017 from UCD data files with version info: + * Created on Thu Sep 21 20:35:51 2017 from UCD data files with version info: * # Unicode Character Database @@ -29,27 +29,6 @@ This directory contains the final data files for the Unicode Character Database, for Version 10.0.0 of the Unicode Standard. -# Scripts-10.0.0.txt -# Date: 2017-03-11, 06:40:37 GMT - -# BidiMirroring-10.0.0.txt -# Date: 2017-04-12, 17:30:00 GMT [KW, LI] - -# BidiBrackets-10.0.0.txt -# Date: 2017-04-12, 17:30:00 GMT [AG, LI, KW] - -# HangulSyllableType-10.0.0.txt -# Date: 2017-02-14, 04:26:11 GMT - -# LineBreak-10.0.0.txt -# Date: 2017-03-08, 02:00:00 GMT [KW, LI] - -# EastAsianWidth-10.0.0.txt -# Date: 2017-03-08, 02:00:00 GMT [KW, LI] - -# DerivedCoreProperties-10.0.0.txt -# Date: 2017-03-19, 00:05:15 GMT - # IdentifierStatus.txt # Date: 2017-04-08, 16:13:41 GMT @@ -67,397 +46,6 @@ for the Unicode Character Database, for Version 10.0.0 of the Unicode Standard. #include #include "harfbuzz/hb.h" -#if !ENABLE_INTL_API -static const uint32_t sScriptCodeToTag[] = { - HB_TAG('Z','y','y','y'), - HB_TAG('Z','i','n','h'), - HB_TAG('A','r','a','b'), - HB_TAG('A','r','m','n'), - HB_TAG('B','e','n','g'), - HB_TAG('B','o','p','o'), - HB_TAG('C','h','e','r'), - HB_TAG('C','o','p','t'), - HB_TAG('C','y','r','l'), - HB_TAG('D','s','r','t'), - HB_TAG('D','e','v','a'), - HB_TAG('E','t','h','i'), - HB_TAG('G','e','o','r'), - HB_TAG('G','o','t','h'), - HB_TAG('G','r','e','k'), - HB_TAG('G','u','j','r'), - HB_TAG('G','u','r','u'), - HB_TAG('H','a','n','i'), - HB_TAG('H','a','n','g'), - HB_TAG('H','e','b','r'), - HB_TAG('H','i','r','a'), - HB_TAG('K','n','d','a'), - HB_TAG('K','a','n','a'), - HB_TAG('K','h','m','r'), - HB_TAG('L','a','o','o'), - HB_TAG('L','a','t','n'), - HB_TAG('M','l','y','m'), - HB_TAG('M','o','n','g'), - HB_TAG('M','y','m','r'), - HB_TAG('O','g','a','m'), - HB_TAG('I','t','a','l'), - HB_TAG('O','r','y','a'), - HB_TAG('R','u','n','r'), - HB_TAG('S','i','n','h'), - HB_TAG('S','y','r','c'), - HB_TAG('T','a','m','l'), - HB_TAG('T','e','l','u'), - HB_TAG('T','h','a','a'), - HB_TAG('T','h','a','i'), - HB_TAG('T','i','b','t'), - HB_TAG('C','a','n','s'), - HB_TAG('Y','i','i','i'), - HB_TAG('T','g','l','g'), - HB_TAG('H','a','n','o'), - HB_TAG('B','u','h','d'), - HB_TAG('T','a','g','b'), - HB_TAG('B','r','a','i'), - HB_TAG('C','p','r','t'), - HB_TAG('L','i','m','b'), - HB_TAG('L','i','n','b'), - HB_TAG('O','s','m','a'), - HB_TAG('S','h','a','w'), - HB_TAG('T','a','l','e'), - HB_TAG('U','g','a','r'), - HB_TAG('H','r','k','t'), - HB_TAG('B','u','g','i'), - HB_TAG('G','l','a','g'), - HB_TAG('K','h','a','r'), - HB_TAG('S','y','l','o'), - HB_TAG('T','a','l','u'), - HB_TAG('T','f','n','g'), - HB_TAG('X','p','e','o'), - HB_TAG('B','a','l','i'), - HB_TAG('B','a','t','k'), - HB_TAG('B','l','i','s'), - HB_TAG('B','r','a','h'), - HB_TAG('C','h','a','m'), - HB_TAG('C','i','r','t'), - HB_TAG('C','y','r','s'), - HB_TAG('E','g','y','d'), - HB_TAG('E','g','y','h'), - HB_TAG('E','g','y','p'), - HB_TAG('G','e','o','k'), - HB_TAG('H','a','n','s'), - HB_TAG('H','a','n','t'), - HB_TAG('H','m','n','g'), - HB_TAG('H','u','n','g'), - HB_TAG('I','n','d','s'), - HB_TAG('J','a','v','a'), - HB_TAG('K','a','l','i'), - HB_TAG('L','a','t','f'), - HB_TAG('L','a','t','g'), - HB_TAG('L','e','p','c'), - HB_TAG('L','i','n','a'), - HB_TAG('M','a','n','d'), - HB_TAG('M','a','y','a'), - HB_TAG('M','e','r','o'), - HB_TAG('N','k','o','o'), - HB_TAG('O','r','k','h'), - HB_TAG('P','e','r','m'), - HB_TAG('P','h','a','g'), - HB_TAG('P','h','n','x'), - HB_TAG('P','l','r','d'), - HB_TAG('R','o','r','o'), - HB_TAG('S','a','r','a'), - HB_TAG('S','y','r','e'), - HB_TAG('S','y','r','j'), - HB_TAG('S','y','r','n'), - HB_TAG('T','e','n','g'), - HB_TAG('V','a','i','i'), - HB_TAG('V','i','s','p'), - HB_TAG('X','s','u','x'), - HB_TAG('Z','x','x','x'), - HB_TAG('Z','z','z','z'), - HB_TAG('C','a','r','i'), - HB_TAG('J','p','a','n'), - HB_TAG('L','a','n','a'), - HB_TAG('L','y','c','i'), - HB_TAG('L','y','d','i'), - HB_TAG('O','l','c','k'), - HB_TAG('R','j','n','g'), - HB_TAG('S','a','u','r'), - HB_TAG('S','g','n','w'), - HB_TAG('S','u','n','d'), - HB_TAG('M','o','o','n'), - HB_TAG('M','t','e','i'), - HB_TAG('A','r','m','i'), - HB_TAG('A','v','s','t'), - HB_TAG('C','a','k','m'), - HB_TAG('K','o','r','e'), - HB_TAG('K','t','h','i'), - HB_TAG('M','a','n','i'), - HB_TAG('P','h','l','i'), - HB_TAG('P','h','l','p'), - HB_TAG('P','h','l','v'), - HB_TAG('P','r','t','i'), - HB_TAG('S','a','m','r'), - HB_TAG('T','a','v','t'), - HB_TAG('Z','m','t','h'), - HB_TAG('Z','s','y','m'), - HB_TAG('B','a','m','u'), - HB_TAG('L','i','s','u'), - HB_TAG('N','k','g','b'), - HB_TAG('S','a','r','b'), - HB_TAG('B','a','s','s'), - HB_TAG('D','u','p','l'), - HB_TAG('E','l','b','a'), - HB_TAG('G','r','a','n'), - HB_TAG('K','p','e','l'), - HB_TAG('L','o','m','a'), - HB_TAG('M','e','n','d'), - HB_TAG('M','e','r','c'), - HB_TAG('N','a','r','b'), - HB_TAG('N','b','a','t'), - HB_TAG('P','a','l','m'), - HB_TAG('S','i','n','d'), - HB_TAG('W','a','r','a'), - HB_TAG('A','f','a','k'), - HB_TAG('J','u','r','c'), - HB_TAG('M','r','o','o'), - HB_TAG('N','s','h','u'), - HB_TAG('S','h','r','d'), - HB_TAG('S','o','r','a'), - HB_TAG('T','a','k','r'), - HB_TAG('T','a','n','g'), - HB_TAG('W','o','l','e'), - HB_TAG('H','l','u','w'), - HB_TAG('K','h','o','j'), - HB_TAG('T','i','r','h'), - HB_TAG('A','g','h','b'), - HB_TAG('M','a','h','j'), - HB_TAG('A','h','o','m'), - HB_TAG('H','a','t','r'), - HB_TAG('M','o','d','i'), - HB_TAG('M','u','l','t'), - HB_TAG('P','a','u','c'), - HB_TAG('S','i','d','d'), - HB_TAG('A','d','l','m'), - HB_TAG('B','h','k','s'), - HB_TAG('M','a','r','c'), - HB_TAG('N','e','w','a'), - HB_TAG('O','s','g','e'), - HB_TAG('H','a','n','b'), - HB_TAG('J','a','m','o'), - HB_TAG('Z','s','y','e') -}; -#endif - -#if !ENABLE_INTL_API -static const int16_t sMirrorOffsets[] = { - 0, - 1, - -1, - 2, - -2, - 16, - -16, - 3, - -3, - 2016, - 138, - 1824, - 2104, - 2108, - 2106, - -138, - 8, - 7, - -8, - -7, - -1824, - -2016, - -2104, - -2106, - -2108 -}; -#endif - - -#if !ENABLE_INTL_API -#define kCharProp1MaxPlane 1 -#define kCharProp1IndexBits 11 -#define kCharProp1CharBits 5 -static const uint8_t sCharProp1Planes[1] = {1}; - -static const uint8_t sCharProp1Pages[2][2048] = { - {0,1,2,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,9,10,11,0,12,0,13,14,0,0,15,16,17,18,19,0,0,0,0,20,21,22,23,0,0,0,24,25,0,26,27,0,0,26,28,0,0,26,28,0,0,26,28,0,0,26,28,0,0,0,28,0,0,0,29,0,0,26,28,0,0,30,28,0,0,0,31,0,0,32,33,0,0,34,35,0,36,37,0,38,39,0,40,0,0,41,0,0,42,0,0,0,43,43,43,44,44,45,46,46,0,0,0,0,0,0,0,0,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,49,49,0,0,0,0,50,0,0,0,0,0,0,51,0,0,0,52,0,0,0,0,0,0,53,0,0,54,0,55,0,0,0,56,57,58,0,59,0,60,0,61,0,0,0,0,62,63,0,0,0,0,0,0,64,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,67,68,69,0,70,71,0,0,0,0,0,0,0,0,72,73,74,75,76,77,78,79,80,81,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,82,0,0,83,84,0,0,0,0,0,0,0,0,0,0,0,0,85,86,87,88,0,89,0,90,91,92,93,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,0,0,0,96,0,0,0,97,98,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,100,101,0,0,102,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,103,104,0,0,105,0,0,0,0,0,0,0,0,106,0,0,0,0,0,57,107,0,108,109,110,0,111,112,0,0,0,0,0,0,113,114,115,0,0,0,0,0,0,0,28,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,122,116,117,118,119,120,121,123,124,125,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,127,128,129,0,0,0,0,1,2,130,131,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132,0,0,0,0,0,0,0,133,0,0,0,134,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,135,136,0,0,0,0,0,137,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,106,96,0,138,0,0,139,140,0,111,0,0,141,0,0,142,0,0,0,0,0,143,0,26,28,144,0,0,0,0,0,0,145,0,0,0,146,0,0,0,0,0,0,96,147,0,0,96,0,0,0,148,0,0,0,149,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,49,150,0,151,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,0,0,0,0,0,152,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,153,0,154,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,155,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,156,157,158,0,0,0,0,159,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,161,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,162,0,0,0,163,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} -}; - -static const nsCharProps1 sCharProp1Values[164][32] = { - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {3,0,0}, {0,0,0}, {4,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {3,0,0}, {0,0,0}, {4,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {5,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {6,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,232}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,232}, {0,0,216}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220},}, - {{0,0,220}, {0,0,202}, {0,0,202}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,202}, {0,0,202}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,240}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,232}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,233}, {0,0,234}, {0,0,234}, {0,0,233},}, - {{0,0,234}, {0,0,234}, {0,0,233}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,222}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230},}, - {{0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,222}, {0,0,228}, {0,0,230}, {0,0,10}, {0,0,11}, {0,0,12}, {0,0,13}, {0,0,14}, {0,0,15}, {0,0,16}, {0,0,17}, {0,0,18}, {0,0,19}, {0,0,19}, {0,0,20}, {0,0,21}, {0,0,22}, {0,0,0}, {0,0,23},}, - {{0,0,0}, {0,0,24}, {0,0,25}, {0,0,0}, {0,0,230}, {0,0,220}, {0,0,0}, {0,0,18}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,30}, {0,0,31}, {0,0,32}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,27}, {0,0,28}, {0,0,29}, {0,0,30}, {0,0,31}, {0,0,32}, {0,0,33}, {0,0,34}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,35}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,230},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,36}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,220}, {0,0,230},}, - {{0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230},}, - {{0,0,230}, {0,0,230}, {0,0,0}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,27}, {0,0,28}, {0,0,29}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,84}, {0,0,91}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,103}, {0,0,103}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,107}, {0,0,107}, {0,0,107}, {0,0,107}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,118}, {0,0,118}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,122}, {0,0,122}, {0,0,122}, {0,0,122}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,0}, {0,0,220}, {0,0,0}, {0,0,216}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,129}, {0,0,130}, {0,0,0}, {0,0,132}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,130}, {0,0,130}, {0,0,130}, {0,0,130}, {0,0,0}, {0,0,0},}, - {{0,0,130}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,9}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,7}, {0,0,0}, {0,0,9}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0},}, - {{0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0},}, - {{0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0},}, - {{0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,228}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,222}, {0,0,230}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,220},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,1}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220},}, - {{0,0,230}, {0,0,0}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,234}, {0,0,214}, {0,0,220}, {0,0,202}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,232}, {0,0,228}, {0,0,228}, {0,0,220}, {0,0,0}, {0,0,230}, {0,0,233}, {0,0,220}, {0,0,230}, {0,0,220},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,1}, {0,0,1}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,1}, {0,0,1}, {0,0,230}, {0,0,220}, {0,0,230}, {0,0,1}, {0,0,1}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {7,0,0}, {7,0,0}, {7,0,0}, {8,0,0}, {8,0,0}, {8,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {9,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {10,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0},}, - {{1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {11,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {12,0,0}, {0,0,0}, {13,0,0}, {14,0,0}, {0,0,0}, {14,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {15,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0},}, - {{1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {16,0,0}, {16,0,0}, {16,0,0}, {0,0,0}, {17,0,0}, {17,0,0}, {0,0,0}, {0,0,0}, {18,0,0}, {18,0,0}, {18,0,0}, {19,0,0}, {19,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {3,0,0}, {0,0,0}, {4,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {7,0,0}, {1,0,0}, {2,0,0}, {8,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {20,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {21,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0},}, - {{2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0},}, - {{2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {22,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {23,0,0}, {24,0,0}, {23,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230},}, - {{0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0},}, - {{1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,218}, {0,0,228}, {0,0,232}, {0,0,222}, {0,0,224}, {0,0,224}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,8}, {0,0,8}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,1,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230},}, - {{0,0,0}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,3,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,3,0}, {0,7,0}, {0,7,0}, {0,7,0},}, - {{0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,3,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0},}, - {{0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,3,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0},}, - {{0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,3,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0},}, - {{0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,3,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0},}, - {{0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,3,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0},}, - {{0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,3,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,7,0},}, - {{0,7,0}, {0,7,0}, {0,7,0}, {0,7,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0},}, - {{0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,2,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0},}, - {{0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,4,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,26}, {0,0,0},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {1,0,0}, {2,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {3,0,0}, {0,0,0}, {4,0,0}, {0,0,0}, {1,0,0},}, - {{2,0,0}, {0,0,0}, {1,0,0}, {2,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,0}, {0,0,0},}, - {{0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,0}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,1}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,7}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,9}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,7}, {0,0,0}, {0,0,9}, {0,0,9}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,1}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,216}, {0,0,216}, {0,0,1}, {0,0,1}, {0,0,1}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,226}, {0,0,216}, {0,0,216}, {0,0,216}, {0,0,216}, {0,0,216}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220},}, - {{0,0,220}, {0,0,220}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,220}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230},}, - {{0,0,230}, {0,0,230}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,220}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},}, - {{0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,230}, {0,0,7}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0},} -}; -#endif - -#if ENABLE_INTL_API #define kCharProp2MaxPlane 16 #define kCharProp2IndexBits 9 #define kCharProp2CharBits 7 @@ -569,1113 +157,6 @@ static const nsCharProps2 sCharProp2Values[96][128] = { {{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,1},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0}}, {{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{0,0},{1,0},{1,0}} }; -#endif - -#if !ENABLE_INTL_API -#define kCharProp2MaxPlane 16 -#define kCharProp2IndexBits 12 -#define kCharProp2CharBits 4 -static const uint8_t sCharProp2Planes[16] = {1,2,3,4,4,4,4,4,4,4,4,4,4,5,6,6}; - -static const uint16_t sCharProp2Pages[7][4096] = { - {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,16,16,17,18,16,16,19,20,21,22,23,24,25,26,27,16,28,29,30,31,32,33,33,33,34,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,56,56,57,57,57,58,58,59,60,60,60,61,60,60,60,60,60,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,78,79,80,81,82,83,78,78,78,78,84,85,86,87,88,89,90,91,78,78,78,92,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,106,106,107,108,109,110,111,112,113,114,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,193,194,195,196,197,197,198,199,200,201,202,203,197,197,204,205,206,207,208,209,210,211,212,213,214,215,216,217,197,197,218,218,219,220,221,222,223,224,225,226,227,227,228,229,229,230,231,231,231,231,231,232,233,234,234,234,235,236,236,236,236,236,237,237,237,237,238,239,237,237,238,237,237,240,241,242,237,237,237,241,237,237,237,243,244,245,237,246,247,247,247,247,247,248,249,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,250,251,250,252,253,254,254,254,254,255,256,257,258,259,260,261,262,263,264,265,265,266,267,268,269,270,271,272,273,274,274,275,274,274,276,277,274,278,250,250,250,250,279,280,281,282,283,284,285,286,287,288,288,289,288,290,291,292,292,293,294,295,295,295,296,297,298,299,299,300,301,197,197,197,197,302,303,303,304,305,306,307,308,309,310,311,312,313,313,314,315,316,316,317,318,319,320,321,322,323,197,197,197,324,325,326,327,33,33,328,329,329,330,331,332,33,333,329,334,335,335,335,336,16,16,16,16,16,16,16,16,16,337,16,16,16,16,16,338,339,340,339,339,340,341,339,342,343,343,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377,378,376,379,380,381,382,383,384,385,386,387,388,389,390,391,387,387,392,387,393,394,395,396,397,397,397,398,399,400,387,401,402,403,404,405,399,399,406,407,408,407,409,410,411,412,413,413,413,413,414,415,416,416,416,416,417,416,416,418,416,419,420,421,422,423,424,425,426,427,399,428,429,430,431,432,399,433,434,435,436,437,438,439,440,399,441,399,442,443,444,445,446,447,376,448,449,387,450,387,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451,451,387,387,387,387,387,387,387,387,452,453,387,387,387,454,387,455,387,387,387,387,387,387,387,387,387,387,387,387,387,387,387,387,376,456,399,387,457,458,376,459,376,460,376,461,462,463,464,407,465,465,466,467,467,468,469,470,471,471,471,471,471,471,472,473,474,474,475,476,476,476,477,478,237,479,480,480,480,480,481,481,482,483,484,485,486,197,197,197,487,488,487,487,487,487,487,489,487,487,487,487,487,487,487,487,487,487,487,487,487,490,407,491,492,493,494,495,496,497,498,497,499,500,501,502,503,502,504,505,506,507,508,509,510,510,511,510,512,513,507,514,515,515,516,517,518,519,520,521,522,523,518,524,520,521,521,525,526,527,527,528,529,529,529,529,529,530,521,531,521,521,521,521,521,532,521,533,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,535,399,399,399,399,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,536,537,538,539,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,538,540,541,541,541,542,543,543,544,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,545,546,545,547,197,58,58,548,549,58,550,551,551,551,551,552,553,39,554,555,556,557,557,557,558,559,560,561,562,197,197,197,563,564,565,566,567,568,568,568,569,570,571,571,572,573,574,575,576,577,578,579,580,581,582,231,583,584,585,585,586,587,588,589,590,591,591,592,593,594,595,218,596,597,597,597,598,599,600,601,602,603,604,480,33,33,605,606,607,607,607,607,607,608,608,609,610,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,615,613,611,612,613,614,613,616,234,617,236,236,618,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,619,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,622,623,624,621,621,621,625,621,621,621,621,621,621,626,537,537,627,628,629,630,631,632,632,632,632,632,632,633,634,635,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,636,109,632,632,632,632,637,632,632,638,197,197,639,640,641,642,643,644,645,646,647,632,632,632,632,632,632,632,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664}, - {665,666,667,668,669,669,197,197,666,666,666,666,666,666,666,670,671,672,672,673,674,674,674,675,676,677,678,197,197,397,397,679,197,197,197,197,197,197,197,197,680,681,682,682,682,683,684,685,686,686,687,688,689,690,690,691,692,693,694,694,695,696,197,197,697,697,698,699,699,700,700,700,701,702,703,704,704,705,706,707,708,708,709,710,710,710,711,197,197,197,197,197,197,197,197,197,712,712,712,712,712,712,712,712,712,712,712,712,712,712,712,712,712,712,712,713,712,714,715,197,197,197,197,197,197,197,197,197,716,717,717,718,719,720,721,722,723,724,725,106,106,106,726,727,728,729,730,731,106,106,106,106,732,732,733,734,735,736,735,735,737,738,739,740,741,742,743,744,745,746,106,106,747,748,749,750,751,751,751,752,753,754,755,756,757,758,759,106,106,106,106,106,760,760,760,760,761,106,106,106,762,762,762,763,764,764,764,765,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,766,767,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,768,769,769,770,771,772,773,774,775,776,776,777,778,779,780,781,782,783,784,785,786,787,787,788,789,790,790,791,792,793,794,795,796,797,798,799,197,197,197,197,800,801,802,803,803,804,805,806,807,808,809,810,811,812,813,814,197,197,197,197,197,197,197,197,815,815,815,816,817,818,197,197,819,819,819,820,821,822,197,197,197,197,197,197,197,197,197,197,823,823,824,825,826,827,407,407,828,828,828,829,830,831,832,197,833,833,834,835,836,197,197,197,837,838,839,840,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,841,841,842,842,843,844,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,845,846,846,847,848,849,846,846,850,851,852,197,853,853,853,854,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,855,856,857,858,859,860,861,862,863,864,865,866,197,197,197,197,867,846,846,868,869,870,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,871,872,197,197,197,197,197,197,873,873,873,873,873,873,874,875,871,871,871,871,871,871,871,871,871,871,871,871,876,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,877,878,877,877,879,877,877,877,877,877,877,877,877,877,877,877,877,877,877,880,877,877,877,877,877,877,877,877,877,877,881,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,882,883,882,882,882,882,882,882,882,884,407,407,407,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,551,885,886,887,888,197,197,197,197,197,197,889,890,891,892,892,892,893,894,895,896,897,892,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,898,898,898,898,899,900,901,902,903,904,197,197,197,197,905,407,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,907,407,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,906,908,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,909,497,497,497,497,497,497,497,497,497,497,497,497,497,497,497,910,911,197,197,197,197,197,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,912,913,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,914,914,914,914,914,914,915,916,917,918,919,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,920,920,920,920,920,920,920,920,920,920,920,920,920,920,920,921,920,920,922,920,920,920,923,924,925,920,926,920,920,920,927,407,928,928,928,928,929,197,197,197,197,197,197,197,197,197,197,197,399,399,399,399,399,930,931,932,197,197,197,197,197,197,197,197,933,934,935,936,937,938,939,933,940,941,942,943,944,933,934,935,945,946,935,947,948,949,950,933,951,935,933,934,935,936,937,935,939,933,940,950,933,951,935,933,934,935,952,933,953,954,955,956,935,957,933,958,959,960,961,935,962,933,963,935,964,965,966,967,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,968,969,969,969,970,969,969,971,972,973,974,975,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,976,977,978,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,979,979,979,979,979,979,979,979,979,979,979,979,980,981,106,106,982,982,983,984,985,986,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,987,632,988,989,990,991,992,993,994,995,996,995,109,109,109,997,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,106,998,999,1000,999,999,999,999,999,999,1001,1002,1003,1004,1003,999,1005,1006,413,1007,413,413,413,1008,413,1009,1010,1011,1012,1012,1012,1013,1014,1015,521,521,1016,1017,1018,1019,1012,1012,1012,1012,1012,1012,1012,1012,1012,515,515,1020,1021,515,515,515,1022,1023,1024,515,1025,1026,1027,515,1028,515,515,515,1029,1030,1031,1032,1033,1034,515,1035,1036,515,515,515,1037,1038,1039,1040,1041,1042,515,1043,1044,999,1045,998,999,999,1046,999,1047,515,515,515,515,1048,399,399,1049,515,515,1050,1051,1052,1053,1054,1055,399,399,399,399,399,399,399,1056,399,399,399,399,399,1057,1012,1012,1058,376,376,376,1059,1060,376,376,1059,376,1061,1062,1062,1062,1062,1062,1063,1064,1065,1066,1067,515,1068,1012,515,1069,1012,1012,1070,1071,1072,1012,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1062,1073}, - {534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,1074,537,537,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,1075,534,534,534,534,534,534,534,534,534,534,534,534,534,1076,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,1077,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,534,1078,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,621,625,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,1079}, - {537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,537,1079}, - {197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197}, - {1080,1081,1082,1082,1082,1082,1082,1082,1081,1081,1081,1081,1081,1081,1081,1081,640,640,640,640,640,640,640,640,640,640,640,640,640,640,640,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,1081,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197,197}, - {620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,620,1083} -}; - -static const nsCharProps2 sCharProp2Values[1084][16] = { - {{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,8,1,4,-1},{0,0,0,0,0,0,7,1,17,-1},{0,0,0,0,0,0,8,1,6,-1},{0,0,0,0,0,0,9,1,6,-1},{0,0,0,0,0,0,7,1,10,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1}}, - {{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,7,1,9,-1},{0,0,0,0,0,0,7,1,9,-1},{0,0,0,0,0,0,7,1,9,-1},{0,0,0,0,0,0,8,1,9,-1}}, - {{0,0,0,29,0,0,9,1,26,-1},{0,0,0,21,0,0,10,1,11,-1},{0,0,0,21,0,0,10,1,23,-1},{0,0,0,21,0,0,4,1,2,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,21,0,0,4,1,21,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,1,0,10,1,23,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,36,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,25,0,0,3,1,22,-1},{0,0,0,21,0,0,6,1,16,-1},{0,0,0,17,1,0,3,1,13,-1},{0,0,0,21,1,0,6,1,16,-1},{0,0,0,21,0,0,6,1,27,-1}}, - {{0,0,0,13,1,0,2,1,19,0},{0,0,0,13,1,0,2,1,19,1},{0,0,0,13,1,0,2,1,19,2},{0,0,0,13,1,0,2,1,19,3},{0,0,0,13,1,0,2,1,19,4},{0,0,0,13,1,0,2,1,19,5},{0,0,0,13,1,0,2,1,19,6},{0,0,0,13,1,0,2,1,19,7},{0,0,0,13,1,0,2,1,19,8},{0,0,0,13,1,0,2,1,19,9},{0,0,0,21,1,0,6,1,16,-1},{0,0,0,21,0,0,10,1,16,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,11,-1}}, - {{0,0,0,21,0,0,10,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,0,0,21,0,0,10,1,22,-1},{0,2,0,18,0,0,10,1,36,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,16,1,0,10,1,2,-1}}, - {{0,0,0,24,0,0,10,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,0,0,25,0,0,10,1,4,-1},{0,2,0,18,0,0,10,1,8,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,0,0,0,18,1,9,-1}}, - {{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,7,1,29,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1}}, - {{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1},{0,0,0,0,0,0,18,1,9,-1}}, - {{0,0,0,29,0,0,6,1,12,-1},{0,0,0,21,0,0,10,1,20,-1},{0,0,0,23,0,0,4,1,21,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,21,0,0,10,0,1,-1},{0,0,0,24,0,0,10,1,1,-1},{0,0,0,26,0,0,10,0,2,-1},{25,0,0,7,0,0,0,1,1,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,1,0,1,18,1,4,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,24,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,4,1,21,-1},{0,0,0,25,0,0,4,0,22,-1},{0,0,0,15,0,0,2,1,1,2},{0,0,0,15,0,0,2,1,1,3},{0,0,0,24,0,0,10,1,5,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,21,0,0,10,1,1,-1},{0,0,0,21,1,0,10,1,1,-1},{0,0,0,24,0,0,10,1,1,-1},{0,0,0,15,0,0,2,1,1,1},{25,0,0,7,0,0,0,1,1,-1},{0,0,0,19,0,0,10,1,23,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,21,0,0,10,1,20,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{0,0,0,25,0,0,10,0,1,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{0,0,0,25,0,0,10,0,1,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1}}, - {{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1}}, - {{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,7,0,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,8,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,8,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,8,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1}}, - {{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,8,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{0,0,0,6,0,0,10,1,2,-1},{0,0,0,6,0,0,10,1,2,-1},{0,0,0,6,1,0,0,1,2,-1},{0,0,0,6,1,0,0,1,2,-1},{0,0,0,6,0,0,0,1,2,-1},{0,0,0,6,0,0,0,1,2,-1},{0,0,0,6,0,0,0,1,2,-1}}, - {{0,0,0,6,0,0,0,1,2,-1},{0,0,0,6,0,0,0,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,6,0,0,10,1,2,-1},{0,0,0,6,0,0,10,1,1,-1},{0,0,0,6,0,0,10,1,5,-1},{0,0,0,6,0,0,10,1,1,-1},{0,0,0,6,0,0,10,1,1,-1},{0,0,0,6,0,0,10,1,1,-1},{0,0,0,6,0,0,10,1,5,-1},{0,0,0,6,0,0,10,1,1,-1},{0,0,0,6,0,0,10,1,2,-1},{0,0,0,6,0,0,10,1,2,-1}}, - {{0,0,0,6,0,0,0,1,1,-1},{0,0,0,6,0,0,0,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,1,-1},{0,0,0,24,0,0,10,1,1,-1},{0,0,0,24,0,0,10,1,1,-1},{0,0,0,24,0,0,10,1,1,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,1,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,5,-1}}, - {{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{5,0,0,24,0,0,10,0,2,-1},{5,0,0,24,0,0,10,0,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,6,0,0,0,1,2,-1},{0,0,0,24,0,0,10,1,2,-1}}, - {{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1}}, - {{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1}}, - {{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1}}, - {{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,1,17,1,12,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,12,-1},{1,0,0,12,0,0,17,1,12,-1},{1,0,0,12,0,0,17,1,12,-1},{1,0,0,12,0,0,17,1,12,-1}}, - {{1,0,0,12,0,0,17,1,12,-1},{1,0,0,12,0,0,17,1,12,-1},{1,0,0,12,0,0,17,1,12,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1}}, - {{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{0,0,0,6,0,0,10,1,2,-1},{14,0,0,24,1,0,10,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,6,0,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{0,0,0,21,0,0,10,1,16,-1},{14,0,0,9,0,0,0,1,2,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1}}, - {{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1}}, - {{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1}}, - {{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1}}, - {{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,25,0,0,10,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1}}, - {{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1}}, - {{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1}}, - {{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1}}, - {{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,26,0,0,0,1,2,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,11,0,0,17,1,9,-1},{8,0,0,11,0,0,17,1,9,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1}}, - {{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1}}, - {{8,0,0,9,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1}}, - {{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1}}, - {{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1}}, - {{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{3,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{3,0,0,6,1,0,0,1,2,-1},{3,0,0,21,0,0,0,1,2,-1},{3,0,0,21,0,0,0,1,2,-1},{3,0,0,21,0,0,0,1,2,-1},{3,0,0,21,0,0,0,1,2,-1},{3,0,0,21,0,0,0,1,2,-1},{3,0,0,21,0,0,0,1,2,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1}}, - {{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1}}, - {{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,1,0,0,1,2,-1},{3,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,21,0,0,0,1,16,-1},{3,0,0,17,1,0,10,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{3,0,0,26,0,0,10,1,2,-1},{3,0,0,26,0,0,10,1,2,-1},{3,0,0,23,0,0,4,1,22,-1}}, - {{103,0,0,2,0,0,1,1,0,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1}}, - {{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1}}, - {{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,1,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,17,0,0,1,1,4,-1},{19,0,0,12,0,0,17,1,9,-1}}, - {{19,0,0,21,0,0,1,1,2,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,21,0,0,1,1,2,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,21,0,0,1,1,11,-1},{19,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1}}, - {{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,7,1,0,1,1,38,-1},{19,0,0,21,1,0,1,1,2,-1},{19,0,0,21,1,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{2,0,0,1,0,0,5,1,2,-1},{2,0,0,1,0,0,5,1,2,-1},{2,0,0,1,0,0,5,1,2,-1},{2,0,0,1,0,0,5,1,2,-1},{2,0,0,1,0,0,5,1,2,-1},{0,0,0,1,0,0,5,1,2,-1},{2,0,0,25,0,0,10,1,2,-1},{2,0,0,25,0,0,10,1,2,-1},{2,0,0,25,0,0,13,1,2,-1},{2,0,0,21,0,0,4,1,21,-1},{2,0,0,21,0,0,4,1,21,-1},{2,0,0,23,0,0,13,1,21,-1},{0,0,0,21,0,0,6,1,16,-1},{2,0,0,21,0,0,13,1,16,-1},{2,0,0,26,0,0,10,1,2,-1},{2,0,0,26,0,0,10,1,2,-1}}, - {{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{0,0,0,21,0,0,13,1,11,-1},{2,0,0,1,0,1,13,1,9,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,21,0,0,13,1,11,-1},{0,0,0,21,0,0,13,1,11,-1}}, - {{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1}}, - {{0,0,0,6,0,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1}}, - {{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{1,0,0,12,1,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1}}, - {{2,0,0,13,1,0,5,1,19,0},{2,0,0,13,1,0,5,1,19,1},{2,0,0,13,1,0,5,1,19,2},{2,0,0,13,1,0,5,1,19,3},{2,0,0,13,1,0,5,1,19,4},{2,0,0,13,1,0,5,1,19,5},{2,0,0,13,1,0,5,1,19,6},{2,0,0,13,1,0,5,1,19,7},{2,0,0,13,1,0,5,1,19,8},{2,0,0,13,1,0,5,1,19,9},{2,0,0,21,0,0,4,1,21,-1},{2,0,0,21,0,0,5,1,19,-1},{2,0,0,21,0,0,5,1,19,-1},{2,0,0,21,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{1,0,0,12,1,0,17,1,9,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1}}, - {{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1}}, - {{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,21,0,0,13,1,11,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{0,0,0,1,0,0,5,1,2,-1},{2,0,0,26,0,0,10,1,2,-1},{2,0,0,12,0,0,17,1,9,-1}}, - {{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,6,1,0,13,1,2,-1},{2,0,0,6,1,0,13,1,2,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,26,0,0,10,1,2,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1}}, - {{2,0,0,13,1,0,2,1,19,0},{2,0,0,13,1,0,2,1,19,1},{2,0,0,13,1,0,2,1,19,2},{2,0,0,13,1,0,2,1,19,3},{2,0,0,13,1,0,2,1,19,4},{2,0,0,13,1,0,2,1,19,5},{2,0,0,13,1,0,2,1,19,6},{2,0,0,13,1,0,2,1,19,7},{2,0,0,13,1,0,2,1,19,8},{2,0,0,13,1,0,2,1,19,9},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,26,1,0,13,1,2,-1},{2,0,0,26,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1}}, - {{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{34,0,0,21,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{34,0,0,1,0,0,13,1,2,-1}}, - {{34,0,0,7,0,0,13,1,2,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1}}, - {{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1}}, - {{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1}}, - {{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{34,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1}}, - {{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1}}, - {{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,7,1,0,13,1,2,-1},{37,0,0,12,1,0,17,1,9,-1},{37,0,0,12,1,0,17,1,9,-1},{37,0,0,12,1,0,17,1,9,-1},{37,0,0,12,1,0,17,1,9,-1},{37,0,0,12,1,0,17,1,9,-1},{37,0,0,12,1,0,17,1,9,-1},{37,0,0,12,1,0,17,1,9,-1},{37,0,0,12,1,0,17,1,9,-1},{37,0,0,12,1,0,17,1,9,-1},{37,0,0,12,1,0,17,1,9,-1}}, - {{37,0,0,12,1,0,17,1,9,-1},{37,0,0,7,1,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{87,0,0,13,0,0,1,1,19,0},{87,0,0,13,0,0,1,1,19,1},{87,0,0,13,0,0,1,1,19,2},{87,0,0,13,0,0,1,1,19,3},{87,0,0,13,0,0,1,1,19,4},{87,0,0,13,0,0,1,1,19,5},{87,0,0,13,0,0,1,1,19,6},{87,0,0,13,0,0,1,1,19,7},{87,0,0,13,0,0,1,1,19,8},{87,0,0,13,0,0,1,1,19,9},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1}}, - {{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1}}, - {{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,7,0,0,1,1,2,-1},{87,0,0,12,0,0,17,1,9,-1},{87,0,0,12,0,0,17,1,9,-1},{87,0,0,12,0,0,17,1,9,-1},{87,0,0,12,0,0,17,1,9,-1},{87,0,0,12,0,0,17,1,9,-1}}, - {{87,0,0,12,0,0,17,1,9,-1},{87,0,0,12,0,0,17,1,9,-1},{87,0,0,12,0,0,17,1,9,-1},{87,0,0,12,0,0,17,1,9,-1},{87,0,0,6,0,0,1,1,2,-1},{87,0,0,6,0,0,1,1,2,-1},{87,0,0,26,0,0,10,1,2,-1},{87,0,0,21,0,0,10,1,2,-1},{87,0,0,21,0,0,10,1,16,-1},{87,0,0,21,0,0,10,1,11,-1},{87,0,0,6,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1}}, - {{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,7,0,0,1,1,2,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,6,0,0,1,1,2,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1}}, - {{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,6,0,0,1,1,2,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,6,0,0,1,1,2,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{126,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{126,0,0,21,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1}}, - {{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,7,0,0,1,1,2,-1},{84,0,0,12,0,0,17,1,9,-1},{84,0,0,12,0,0,17,1,9,-1},{84,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{84,0,0,21,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{34,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{2,0,0,7,1,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1}}, - {{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{0,0,0,1,0,0,5,1,2,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1}}, - {{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1},{2,0,0,12,0,0,17,1,9,-1}}, - {{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,10,1,0,0,1,9,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1}}, - {{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1}}, - {{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,10,1,0,0,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,10,1,0,0,1,9,-1},{10,0,0,10,1,0,0,1,9,-1}}, - {{10,0,0,10,1,0,0,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,10,1,0,0,1,9,-1},{10,0,0,10,1,0,0,1,9,-1},{10,0,0,10,1,0,0,1,9,-1},{10,0,0,10,1,0,0,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,10,0,0,0,1,9,-1},{10,0,0,10,1,0,0,1,9,-1}}, - {{10,0,0,7,1,0,0,1,2,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1}}, - {{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,12,1,0,17,1,9,-1},{10,0,0,12,1,0,17,1,9,-1},{0,0,0,21,0,0,0,1,4,-1},{0,0,0,21,0,0,0,1,4,-1},{10,0,0,13,1,0,0,1,19,0},{10,0,0,13,1,0,0,1,19,1},{10,0,0,13,1,0,0,1,19,2},{10,0,0,13,1,0,0,1,19,3},{10,0,0,13,1,0,0,1,19,4},{10,0,0,13,1,0,0,1,19,5},{10,0,0,13,1,0,0,1,19,6},{10,0,0,13,1,0,0,1,19,7},{10,0,0,13,1,0,0,1,19,8},{10,0,0,13,1,0,0,1,19,9}}, - {{10,0,0,21,0,0,0,1,2,-1},{10,0,0,6,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1},{10,0,0,7,1,0,0,1,2,-1}}, - {{4,0,0,7,0,0,0,1,2,-1},{4,0,0,12,1,0,17,1,9,-1},{4,0,0,10,1,0,0,1,9,-1},{4,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,7,1,0,0,1,2,-1}}, - {{4,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1}}, - {{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1}}, - {{4,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,12,1,0,17,1,9,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,10,1,0,0,1,9,-1},{4,0,0,10,1,0,0,1,9,-1}}, - {{4,0,0,10,1,0,0,1,9,-1},{4,0,0,12,1,0,17,1,9,-1},{4,0,0,12,1,0,17,1,9,-1},{4,0,0,12,1,0,17,1,9,-1},{4,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,10,1,0,0,1,9,-1},{4,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,10,1,0,0,1,9,-1},{4,0,0,10,1,0,0,1,9,-1},{4,0,0,12,1,0,17,1,9,-1},{4,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,7,0,0,0,1,2,-1},{4,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,7,0,0,0,1,2,-1}}, - {{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,12,1,0,17,1,9,-1},{4,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{4,0,0,13,1,0,0,1,19,0},{4,0,0,13,1,0,0,1,19,1},{4,0,0,13,1,0,0,1,19,2},{4,0,0,13,1,0,0,1,19,3},{4,0,0,13,1,0,0,1,19,4},{4,0,0,13,1,0,0,1,19,5},{4,0,0,13,1,0,0,1,19,6},{4,0,0,13,1,0,0,1,19,7},{4,0,0,13,1,0,0,1,19,8},{4,0,0,13,1,0,0,1,19,9}}, - {{4,0,0,7,1,0,0,1,2,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,23,0,0,4,1,21,-1},{4,0,0,23,0,0,4,1,21,-1},{4,0,0,15,0,0,0,1,2,-1},{4,0,0,15,0,0,0,1,2,-1},{4,0,0,15,0,0,0,1,2,-1},{4,0,0,15,0,0,0,1,2,-1},{4,0,0,15,0,0,0,1,2,-1},{4,0,0,15,0,0,0,1,21,-1},{4,0,0,26,0,0,0,1,2,-1},{4,0,0,23,0,0,4,1,22,-1},{4,0,0,7,1,0,0,1,2,-1},{4,0,0,21,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{16,0,0,12,1,0,17,1,9,-1},{16,0,0,12,1,0,17,1,9,-1},{16,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,7,1,0,0,1,2,-1}}, - {{16,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1}}, - {{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1}}, - {{16,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,10,1,0,0,1,9,-1},{16,0,0,10,1,0,0,1,9,-1}}, - {{16,0,0,10,1,0,0,1,9,-1},{16,0,0,12,1,0,17,1,9,-1},{16,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,12,1,0,17,1,9,-1},{16,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,12,1,0,17,1,9,-1},{16,0,0,12,1,0,17,1,9,-1},{16,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{16,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,7,0,0,0,1,2,-1},{16,0,0,7,0,0,0,1,2,-1},{16,0,0,7,0,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{16,0,0,13,1,0,0,1,19,0},{16,0,0,13,1,0,0,1,19,1},{16,0,0,13,1,0,0,1,19,2},{16,0,0,13,1,0,0,1,19,3},{16,0,0,13,1,0,0,1,19,4},{16,0,0,13,1,0,0,1,19,5},{16,0,0,13,1,0,0,1,19,6},{16,0,0,13,1,0,0,1,19,7},{16,0,0,13,1,0,0,1,19,8},{16,0,0,13,1,0,0,1,19,9}}, - {{16,0,0,12,1,0,17,1,9,-1},{16,0,0,12,1,0,17,1,9,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,7,1,0,0,1,2,-1},{16,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,7,1,0,0,1,2,-1}}, - {{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1}}, - {{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1}}, - {{15,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,10,1,0,0,1,9,-1},{15,0,0,10,1,0,0,1,9,-1}}, - {{15,0,0,10,1,0,0,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,10,1,0,0,1,9,-1},{15,0,0,10,1,0,0,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{15,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{15,0,0,7,1,0,0,1,2,-1},{15,0,0,7,1,0,0,1,2,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,13,1,0,0,1,19,0},{15,0,0,13,1,0,0,1,19,1},{15,0,0,13,1,0,0,1,19,2},{15,0,0,13,1,0,0,1,19,3},{15,0,0,13,1,0,0,1,19,4},{15,0,0,13,1,0,0,1,19,5},{15,0,0,13,1,0,0,1,19,6},{15,0,0,13,1,0,0,1,19,7},{15,0,0,13,1,0,0,1,19,8},{15,0,0,13,1,0,0,1,19,9}}, - {{15,0,0,21,0,0,0,1,2,-1},{15,0,0,23,0,0,4,1,22,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{15,0,0,7,0,0,0,1,2,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1},{15,0,0,12,1,0,17,1,9,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{31,0,0,12,1,0,17,1,9,-1},{31,0,0,10,1,0,0,1,9,-1},{31,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,7,1,0,0,1,2,-1}}, - {{31,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1}}, - {{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1}}, - {{31,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,12,1,0,17,1,9,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,10,1,0,0,1,9,-1},{31,0,0,12,1,0,17,1,9,-1}}, - {{31,0,0,10,1,0,0,1,9,-1},{31,0,0,12,1,0,17,1,9,-1},{31,0,0,12,1,0,17,1,9,-1},{31,0,0,12,1,0,17,1,9,-1},{31,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,10,1,0,0,1,9,-1},{31,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,10,1,0,0,1,9,-1},{31,0,0,10,1,0,0,1,9,-1},{31,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,12,1,0,17,1,9,-1},{31,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,7,0,0,0,1,2,-1},{31,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,7,1,0,0,1,2,-1}}, - {{31,0,0,7,1,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,12,0,0,17,1,9,-1},{31,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{31,0,0,13,1,0,0,1,19,0},{31,0,0,13,1,0,0,1,19,1},{31,0,0,13,1,0,0,1,19,2},{31,0,0,13,1,0,0,1,19,3},{31,0,0,13,1,0,0,1,19,4},{31,0,0,13,1,0,0,1,19,5},{31,0,0,13,1,0,0,1,19,6},{31,0,0,13,1,0,0,1,19,7},{31,0,0,13,1,0,0,1,19,8},{31,0,0,13,1,0,0,1,19,9}}, - {{31,0,0,26,0,0,0,1,2,-1},{31,0,0,7,1,0,0,1,2,-1},{31,0,0,15,0,0,0,1,2,-1},{31,0,0,15,0,0,0,1,2,-1},{31,0,0,15,0,0,0,1,2,-1},{31,0,0,15,0,0,0,1,2,-1},{31,0,0,15,0,0,0,1,2,-1},{31,0,0,15,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,12,1,0,17,1,9,-1},{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1}}, - {{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1}}, - {{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,10,1,0,0,1,9,-1},{35,0,0,10,1,0,0,1,9,-1}}, - {{35,0,0,12,1,0,17,1,9,-1},{35,0,0,10,1,0,0,1,9,-1},{35,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,10,1,0,0,1,9,-1},{35,0,0,10,1,0,0,1,9,-1},{35,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,10,1,0,0,1,9,-1},{35,0,0,10,1,0,0,1,9,-1},{35,0,0,10,1,0,0,1,9,-1},{35,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{35,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{35,0,0,13,1,0,0,1,19,0},{35,0,0,13,1,0,0,1,19,1},{35,0,0,13,1,0,0,1,19,2},{35,0,0,13,1,0,0,1,19,3},{35,0,0,13,1,0,0,1,19,4},{35,0,0,13,1,0,0,1,19,5},{35,0,0,13,1,0,0,1,19,6},{35,0,0,13,1,0,0,1,19,7},{35,0,0,13,1,0,0,1,19,8},{35,0,0,13,1,0,0,1,19,9}}, - {{35,0,0,15,0,0,0,1,2,-1},{35,0,0,15,0,0,0,1,2,-1},{35,0,0,15,0,0,0,1,2,-1},{35,0,0,26,0,0,10,1,2,-1},{35,0,0,26,0,0,10,1,2,-1},{35,0,0,26,0,0,10,1,2,-1},{35,0,0,26,0,0,10,1,2,-1},{35,0,0,26,0,0,10,1,2,-1},{35,0,0,26,0,0,10,1,2,-1},{35,0,0,23,0,0,4,1,22,-1},{35,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{36,0,0,12,0,0,17,1,9,-1},{36,0,0,10,1,0,0,1,9,-1},{36,0,0,10,1,0,0,1,9,-1},{36,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1}}, - {{36,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1}}, - {{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1}}, - {{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,0,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,12,1,0,17,1,9,-1},{36,0,0,12,1,0,17,1,9,-1}}, - {{36,0,0,12,1,0,17,1,9,-1},{36,0,0,10,1,0,0,1,9,-1},{36,0,0,10,1,0,0,1,9,-1},{36,0,0,10,1,0,0,1,9,-1},{36,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,12,1,0,17,1,9,-1},{36,0,0,12,1,0,17,1,9,-1},{36,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,12,1,0,17,1,9,-1},{36,0,0,12,1,0,17,1,9,-1},{36,0,0,12,1,0,17,1,9,-1},{36,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,12,1,0,17,1,9,-1},{36,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,7,0,0,0,1,2,-1},{36,0,0,7,0,0,0,1,2,-1},{36,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{36,0,0,7,1,0,0,1,2,-1},{36,0,0,7,1,0,0,1,2,-1},{36,0,0,12,0,0,17,1,9,-1},{36,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,13,1,0,0,1,19,0},{36,0,0,13,1,0,0,1,19,1},{36,0,0,13,1,0,0,1,19,2},{36,0,0,13,1,0,0,1,19,3},{36,0,0,13,1,0,0,1,19,4},{36,0,0,13,1,0,0,1,19,5},{36,0,0,13,1,0,0,1,19,6},{36,0,0,13,1,0,0,1,19,7},{36,0,0,13,1,0,0,1,19,8},{36,0,0,13,1,0,0,1,19,9}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{36,0,0,15,0,0,10,1,2,-1},{36,0,0,15,0,0,10,1,2,-1},{36,0,0,15,0,0,10,1,2,-1},{36,0,0,15,0,0,10,1,2,-1},{36,0,0,15,0,0,10,1,2,-1},{36,0,0,15,0,0,10,1,2,-1},{36,0,0,15,0,0,10,1,2,-1},{36,0,0,26,0,0,0,1,2,-1}}, - {{21,0,0,7,1,0,0,1,2,-1},{21,0,0,12,0,0,17,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1}}, - {{21,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1}}, - {{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1}}, - {{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,12,1,0,17,1,9,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,10,1,0,0,1,9,-1},{21,0,0,12,1,0,0,1,9,-1}}, - {{21,0,0,10,1,0,0,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,12,1,0,0,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,10,1,0,0,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{21,0,0,12,1,0,17,1,9,-1},{21,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,10,1,0,0,1,9,-1},{21,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,12,1,0,17,1,9,-1},{21,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{21,0,0,13,1,0,0,1,19,0},{21,0,0,13,1,0,0,1,19,1},{21,0,0,13,1,0,0,1,19,2},{21,0,0,13,1,0,0,1,19,3},{21,0,0,13,1,0,0,1,19,4},{21,0,0,13,1,0,0,1,19,5},{21,0,0,13,1,0,0,1,19,6},{21,0,0,13,1,0,0,1,19,7},{21,0,0,13,1,0,0,1,19,8},{21,0,0,13,1,0,0,1,19,9}}, - {{103,0,0,2,0,0,0,1,0,-1},{21,0,0,7,1,0,0,1,2,-1},{21,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{26,0,0,12,1,0,17,1,9,-1},{26,0,0,12,0,0,17,1,9,-1},{26,0,0,10,1,0,0,1,9,-1},{26,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1}}, - {{26,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1}}, - {{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1}}, - {{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,12,1,0,17,1,9,-1},{26,0,0,12,1,0,17,1,9,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,10,1,0,0,1,9,-1},{26,0,0,10,1,0,0,1,9,-1}}, - {{26,0,0,10,1,0,0,1,9,-1},{26,0,0,12,1,0,17,1,9,-1},{26,0,0,12,1,0,17,1,9,-1},{26,0,0,12,1,0,17,1,9,-1},{26,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{26,0,0,10,1,0,0,1,9,-1},{26,0,0,10,1,0,0,1,9,-1},{26,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{26,0,0,10,1,0,0,1,9,-1},{26,0,0,10,1,0,0,1,9,-1},{26,0,0,10,1,0,0,1,9,-1},{26,0,0,12,1,0,17,1,9,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,26,0,0,0,1,2,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,10,1,0,0,1,9,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,7,0,0,0,1,2,-1}}, - {{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,12,0,0,17,1,9,-1},{26,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{26,0,0,13,1,0,0,1,19,0},{26,0,0,13,1,0,0,1,19,1},{26,0,0,13,1,0,0,1,19,2},{26,0,0,13,1,0,0,1,19,3},{26,0,0,13,1,0,0,1,19,4},{26,0,0,13,1,0,0,1,19,5},{26,0,0,13,1,0,0,1,19,6},{26,0,0,13,1,0,0,1,19,7},{26,0,0,13,1,0,0,1,19,8},{26,0,0,13,1,0,0,1,19,9}}, - {{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,15,0,0,0,1,2,-1},{26,0,0,26,0,0,0,1,21,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1},{26,0,0,7,1,0,0,1,2,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,1,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,0,0,0,1,2,-1}}, - {{33,0,0,7,0,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1}}, - {{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,0,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1}}, - {{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{33,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,10,1,0,0,1,9,-1}}, - {{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,12,1,0,17,1,9,-1},{33,0,0,12,1,0,17,1,9,-1},{33,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,0,0,0,1,9,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,13,0,0,0,1,19,0},{33,0,0,13,0,0,0,1,19,1},{33,0,0,13,0,0,0,1,19,2},{33,0,0,13,0,0,0,1,19,3},{33,0,0,13,0,0,0,1,19,4},{33,0,0,13,0,0,0,1,19,5},{33,0,0,13,0,0,0,1,19,6},{33,0,0,13,0,0,0,1,19,7},{33,0,0,13,0,0,0,1,19,8},{33,0,0,13,0,0,0,1,19,9}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{33,0,0,10,1,0,0,1,9,-1},{33,0,0,10,0,0,0,1,9,-1},{33,0,0,21,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1}}, - {{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1}}, - {{38,0,0,7,1,0,0,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,0,0,0,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,23,0,0,4,1,22,-1}}, - {{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,7,1,0,0,1,24,-1},{38,0,0,6,1,0,0,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,12,1,0,17,1,24,-1},{38,0,0,21,0,0,0,1,2,-1}}, - {{38,0,0,13,1,0,0,1,19,0},{38,0,0,13,1,0,0,1,19,1},{38,0,0,13,1,0,0,1,19,2},{38,0,0,13,1,0,0,1,19,3},{38,0,0,13,1,0,0,1,19,4},{38,0,0,13,1,0,0,1,19,5},{38,0,0,13,1,0,0,1,19,6},{38,0,0,13,1,0,0,1,19,7},{38,0,0,13,1,0,0,1,19,8},{38,0,0,13,1,0,0,1,19,9},{38,0,0,21,0,0,0,1,4,-1},{38,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1}}, - {{24,0,0,7,1,0,0,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,0,0,0,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,6,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{24,0,0,12,1,0,17,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{24,0,0,13,1,0,0,1,19,0},{24,0,0,13,1,0,0,1,19,1},{24,0,0,13,1,0,0,1,19,2},{24,0,0,13,1,0,0,1,19,3},{24,0,0,13,1,0,0,1,19,4},{24,0,0,13,1,0,0,1,19,5},{24,0,0,13,1,0,0,1,19,6},{24,0,0,13,1,0,0,1,19,7},{24,0,0,13,1,0,0,1,19,8},{24,0,0,13,1,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{24,0,0,7,0,0,0,1,24,-1},{24,0,0,7,0,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1},{24,0,0,7,1,0,0,1,24,-1}}, - {{39,0,0,7,1,0,0,1,2,-1},{39,0,0,26,0,0,0,1,5,-1},{39,0,0,26,0,0,0,1,5,-1},{39,0,0,26,0,0,0,1,5,-1},{39,0,0,21,0,0,0,1,5,-1},{39,0,0,21,0,0,0,1,2,-1},{39,0,0,21,0,0,0,1,5,-1},{39,0,0,21,0,0,0,1,5,-1},{39,0,0,21,0,0,0,1,12,-1},{39,0,0,21,0,0,0,1,5,-1},{39,0,0,21,0,0,0,1,5,-1},{39,0,0,21,1,0,0,1,4,-1},{39,0,0,21,0,0,0,1,12,-1},{39,0,0,21,0,0,0,1,11,-1},{39,0,0,21,0,0,0,1,11,-1},{39,0,0,21,0,0,0,1,11,-1}}, - {{39,0,0,21,0,0,0,1,11,-1},{39,0,0,21,0,0,0,1,11,-1},{39,0,0,21,0,0,0,1,12,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,21,0,0,0,1,11,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1}}, - {{39,0,0,13,1,0,0,1,19,0},{39,0,0,13,1,0,0,1,19,1},{39,0,0,13,1,0,0,1,19,2},{39,0,0,13,1,0,0,1,19,3},{39,0,0,13,1,0,0,1,19,4},{39,0,0,13,1,0,0,1,19,5},{39,0,0,13,1,0,0,1,19,6},{39,0,0,13,1,0,0,1,19,7},{39,0,0,13,1,0,0,1,19,8},{39,0,0,13,1,0,0,1,19,9},{39,0,0,15,0,0,0,1,2,-1},{39,0,0,15,0,0,0,1,2,-1},{39,0,0,15,0,0,0,1,2,-1},{39,0,0,15,0,0,0,1,2,-1},{39,0,0,15,0,0,0,1,2,-1},{39,0,0,15,0,0,0,1,2,-1}}, - {{39,0,0,15,0,0,0,1,2,-1},{39,0,0,15,0,0,0,1,2,-1},{39,0,0,15,0,0,0,1,2,-1},{39,0,0,15,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,4,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,12,0,0,17,1,9,-1},{39,1,0,22,0,0,10,1,20,-1},{39,2,0,18,0,0,10,1,8,-1},{39,1,0,22,0,0,10,1,20,-1},{39,2,0,18,0,0,10,1,8,-1},{39,0,0,10,1,0,0,1,9,-1},{39,0,0,10,1,0,0,1,9,-1}}, - {{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,0,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,0,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1}}, - {{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,0,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,0,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,0,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1}}, - {{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,0,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,10,1,0,0,1,4,-1}}, - {{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,21,0,0,0,1,4,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,7,1,0,0,1,2,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1}}, - {{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1}}, - {{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1}}, - {{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,0,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,12,1,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{39,0,0,26,0,0,0,1,4,-1},{39,0,0,26,0,0,0,1,4,-1}}, - {{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,12,1,0,17,1,9,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{39,0,0,26,0,0,0,1,2,-1},{39,0,0,26,0,0,0,1,2,-1}}, - {{39,0,0,21,0,0,0,1,5,-1},{39,0,0,21,0,0,0,1,5,-1},{39,0,0,21,0,0,0,1,4,-1},{39,0,0,21,0,0,0,1,5,-1},{39,0,0,21,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{39,0,0,21,0,0,0,1,12,-1},{39,0,0,21,0,0,0,1,12,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1}}, - {{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1}}, - {{28,0,0,12,1,0,17,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,7,1,0,0,1,24,-1}}, - {{28,0,0,13,1,0,0,1,19,0},{28,0,0,13,1,0,0,1,19,1},{28,0,0,13,1,0,0,1,19,2},{28,0,0,13,1,0,0,1,19,3},{28,0,0,13,1,0,0,1,19,4},{28,0,0,13,1,0,0,1,19,5},{28,0,0,13,1,0,0,1,19,6},{28,0,0,13,1,0,0,1,19,7},{28,0,0,13,1,0,0,1,19,8},{28,0,0,13,1,0,0,1,19,9},{28,0,0,21,0,0,0,1,4,-1},{28,0,0,21,0,0,0,1,4,-1},{28,0,0,21,0,0,0,1,2,-1},{28,0,0,21,0,0,0,1,2,-1},{28,0,0,21,0,0,0,1,2,-1},{28,0,0,21,0,0,0,1,2,-1}}, - {{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1}}, - {{28,0,0,12,1,0,17,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1}}, - {{28,0,0,7,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1}}, - {{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1}}, - {{28,0,0,13,1,0,0,1,19,0},{28,0,0,13,1,0,0,1,19,1},{28,0,0,13,1,0,0,1,19,2},{28,0,0,13,1,0,0,1,19,3},{28,0,0,13,1,0,0,1,19,4},{28,0,0,13,1,0,0,1,19,5},{28,0,0,13,1,0,0,1,19,6},{28,0,0,13,1,0,0,1,19,7},{28,0,0,13,1,0,0,1,19,8},{28,0,0,13,1,0,0,1,19,9},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,26,0,0,0,1,24,-1},{28,0,0,26,0,0,0,1,24,-1}}, - {{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1}}, - {{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{12,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{12,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{12,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1}}, - {{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,0,0,0,1,2,-1},{12,0,0,7,0,0,0,1,2,-1},{12,0,0,7,0,0,0,1,2,-1},{12,0,0,7,0,0,0,1,2,-1},{12,0,0,7,0,0,0,1,2,-1},{12,0,0,7,0,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{0,0,0,21,0,0,0,1,2,-1},{12,0,0,6,0,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1},{12,0,0,7,1,0,0,1,2,-1}}, - {{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1}}, - {{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,1,0,0,33,-1}}, - {{18,0,0,7,0,1,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1}}, - {{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1}}, - {{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1}}, - {{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1}}, - {{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1}}, - {{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1}}, - {{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1}}, - {{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,12,1,0,17,1,9,-1},{11,0,0,12,1,0,17,1,9,-1},{11,0,0,12,1,0,17,1,9,-1}}, - {{11,0,0,21,0,0,0,1,2,-1},{11,0,0,21,0,0,0,1,4,-1},{11,0,0,21,0,0,0,1,2,-1},{11,0,0,21,0,0,0,1,2,-1},{11,0,0,21,0,0,0,1,2,-1},{11,0,0,21,0,0,0,1,2,-1},{11,0,0,21,0,0,0,1,2,-1},{11,0,0,21,0,0,0,1,2,-1},{11,0,0,21,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,1},{11,0,0,15,0,0,0,1,2,2},{11,0,0,15,0,0,0,1,2,3},{11,0,0,15,0,0,0,1,2,4},{11,0,0,15,0,0,0,1,2,5},{11,0,0,15,0,0,0,1,2,6},{11,0,0,15,0,0,0,1,2,7}}, - {{11,0,0,15,0,0,0,1,2,8},{11,0,0,15,0,0,0,1,2,9},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{11,0,0,15,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{11,0,0,26,0,0,10,1,2,-1},{11,0,0,26,0,0,10,1,2,-1},{11,0,0,26,0,0,10,1,2,-1},{11,0,0,26,0,0,10,1,2,-1},{11,0,0,26,0,0,10,1,2,-1},{11,0,0,26,0,0,10,1,2,-1},{11,0,0,26,0,0,10,1,2,-1},{11,0,0,26,0,0,10,1,2,-1},{11,0,0,26,0,0,10,1,2,-1},{11,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1}}, - {{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{6,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{40,0,0,17,0,0,10,1,4,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1}}, - {{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1}}, - {{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,21,0,0,0,0,2,-1},{40,0,0,21,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1}}, - {{29,0,0,29,0,0,9,1,4,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1}}, - {{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,0,0,7,0,0,0,1,2,-1},{29,1,0,22,0,0,10,1,20,-1},{29,2,0,18,0,0,10,1,8,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1}}, - {{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{0,0,0,21,0,0,0,1,4,-1},{0,0,0,21,0,0,0,1,4,-1},{0,0,0,21,0,0,0,1,4,-1},{32,0,0,14,0,0,0,1,2,-1},{32,0,0,14,0,0,0,1,2,-1}}, - {{32,0,0,14,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{32,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1}}, - {{42,0,0,7,0,0,0,1,2,-1},{42,0,0,7,0,0,0,1,2,-1},{42,0,0,12,0,0,17,1,9,-1},{42,0,0,12,0,0,17,1,9,-1},{42,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1}}, - {{43,0,0,7,0,0,0,1,2,-1},{43,0,0,7,0,0,0,1,2,-1},{43,0,0,12,0,0,17,1,9,-1},{43,0,0,12,0,0,17,1,9,-1},{43,0,0,12,0,0,17,1,9,-1},{0,0,0,21,0,0,0,1,4,-1},{0,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1}}, - {{44,0,0,7,0,0,0,1,2,-1},{44,0,0,7,0,0,0,1,2,-1},{44,0,0,12,0,0,17,1,9,-1},{44,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{45,0,0,7,0,0,0,1,2,-1},{45,0,0,7,0,0,0,1,2,-1}}, - {{45,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{45,0,0,12,0,0,17,1,9,-1},{45,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1}}, - {{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,0,0,0,1,24,-1},{23,0,0,7,0,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,0,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1}}, - {{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,12,0,1,17,1,24,-1},{23,0,0,12,0,1,17,1,24,-1},{23,0,0,10,1,0,0,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,10,1,0,0,1,24,-1},{23,0,0,10,1,0,0,1,24,-1}}, - {{23,0,0,10,1,0,0,1,24,-1},{23,0,0,10,1,0,0,1,24,-1},{23,0,0,10,1,0,0,1,24,-1},{23,0,0,10,1,0,0,1,24,-1},{23,0,0,10,1,0,0,1,24,-1},{23,0,0,10,1,0,0,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,10,1,0,0,1,24,-1},{23,0,0,10,1,0,0,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,12,0,0,17,1,24,-1},{23,0,0,12,0,0,17,1,24,-1},{23,0,0,12,0,0,17,1,24,-1},{23,0,0,12,0,0,17,1,24,-1},{23,0,0,12,0,0,17,1,24,-1}}, - {{23,0,0,12,0,0,17,1,24,-1},{23,0,0,12,0,0,17,1,24,-1},{23,0,0,12,1,0,17,1,24,-1},{23,0,0,12,0,0,17,1,24,-1},{23,0,0,21,0,0,0,1,4,-1},{23,0,0,21,0,0,0,1,4,-1},{23,0,0,21,0,0,0,1,18,-1},{23,0,0,6,1,0,0,1,24,-1},{23,0,0,21,0,0,0,1,4,-1},{23,0,0,21,0,0,0,1,2,-1},{23,0,0,21,0,0,0,1,4,-1},{23,0,0,23,0,0,4,1,22,-1},{23,0,0,7,1,0,0,1,24,-1},{23,0,0,12,0,0,17,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{23,0,0,13,1,0,0,1,19,0},{23,0,0,13,1,0,0,1,19,1},{23,0,0,13,1,0,0,1,19,2},{23,0,0,13,1,0,0,1,19,3},{23,0,0,13,1,0,0,1,19,4},{23,0,0,13,1,0,0,1,19,5},{23,0,0,13,1,0,0,1,19,6},{23,0,0,13,1,0,0,1,19,7},{23,0,0,13,1,0,0,1,19,8},{23,0,0,13,1,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{23,0,0,15,0,0,10,1,2,-1},{23,0,0,15,0,0,10,1,2,-1},{23,0,0,15,0,0,10,1,2,-1},{23,0,0,15,0,0,10,1,2,-1},{23,0,0,15,0,0,10,1,2,-1},{23,0,0,15,0,0,10,1,2,-1},{23,0,0,15,0,0,10,1,2,-1},{23,0,0,15,0,0,10,1,2,-1},{23,0,0,15,0,0,10,1,2,-1},{23,0,0,15,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{27,0,0,21,0,0,10,1,2,-1},{27,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,11,-1},{0,0,0,21,0,0,10,1,11,-1},{27,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{27,0,0,17,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,2,-1},{27,0,0,21,0,0,10,1,11,-1},{27,0,0,21,0,0,10,1,11,-1},{27,0,0,21,0,0,10,1,2,-1},{27,0,0,12,0,1,17,1,9,-1},{27,0,0,12,0,1,17,1,9,-1},{27,0,0,12,0,1,17,1,9,-1},{27,0,0,1,0,1,18,1,12,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{27,0,0,13,0,0,0,1,19,0},{27,0,0,13,0,0,0,1,19,1},{27,0,0,13,0,0,0,1,19,2},{27,0,0,13,0,0,0,1,19,3},{27,0,0,13,0,0,0,1,19,4},{27,0,0,13,0,0,0,1,19,5},{27,0,0,13,0,0,0,1,19,6},{27,0,0,13,0,0,0,1,19,7},{27,0,0,13,0,0,0,1,19,8},{27,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1}}, - {{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,6,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1}}, - {{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,12,0,0,17,1,9,-1},{27,0,0,12,0,0,17,1,9,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1}}, - {{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,7,0,0,0,1,2,-1},{27,0,0,12,0,0,17,1,9,-1},{27,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{40,0,0,7,0,0,0,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1}}, - {{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{48,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{48,0,0,12,0,0,17,1,9,-1},{48,0,0,12,0,0,17,1,9,-1},{48,0,0,12,0,0,17,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,12,0,0,17,1,9,-1},{48,0,0,12,0,0,17,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,12,0,0,17,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,10,0,0,0,1,9,-1},{48,0,0,12,0,0,17,1,9,-1},{48,0,0,12,0,0,17,1,9,-1},{48,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{48,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{48,0,0,21,0,0,10,1,11,-1},{48,0,0,21,0,0,10,1,11,-1},{48,0,0,13,0,0,0,1,19,0},{48,0,0,13,0,0,0,1,19,1},{48,0,0,13,0,0,0,1,19,2},{48,0,0,13,0,0,0,1,19,3},{48,0,0,13,0,0,0,1,19,4},{48,0,0,13,0,0,0,1,19,5},{48,0,0,13,0,0,0,1,19,6},{48,0,0,13,0,0,0,1,19,7},{48,0,0,13,0,0,0,1,19,8},{48,0,0,13,0,0,0,1,19,9}}, - {{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1}}, - {{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{52,0,0,7,0,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1}}, - {{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{59,0,0,7,0,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{59,0,0,13,0,0,0,1,19,0},{59,0,0,13,0,0,0,1,19,1},{59,0,0,13,0,0,0,1,19,2},{59,0,0,13,0,0,0,1,19,3},{59,0,0,13,0,0,0,1,19,4},{59,0,0,13,0,0,0,1,19,5},{59,0,0,13,0,0,0,1,19,6},{59,0,0,13,0,0,0,1,19,7},{59,0,0,13,0,0,0,1,19,8},{59,0,0,13,0,0,0,1,19,9},{59,0,0,15,0,0,0,1,24,1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{59,0,0,26,0,0,10,1,24,-1},{59,0,0,26,0,0,10,1,24,-1}}, - {{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1},{23,0,0,26,0,0,10,1,2,-1}}, - {{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1}}, - {{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,7,0,0,0,1,2,-1},{55,0,0,12,0,0,17,1,9,-1},{55,0,0,12,0,0,17,1,9,-1},{55,0,0,10,0,0,0,1,9,-1},{55,0,0,10,0,0,0,1,9,-1},{55,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{55,0,0,21,0,0,0,1,2,-1},{55,0,0,21,0,0,0,1,2,-1}}, - {{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1}}, - {{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,7,0,0,0,1,24,-1},{106,0,0,10,0,0,0,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,10,0,0,0,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{106,0,0,12,0,0,17,1,24,-1},{106,0,0,10,0,0,0,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,10,0,0,0,1,24,-1},{106,0,0,10,0,0,0,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,10,0,0,0,1,24,-1},{106,0,0,10,0,0,0,1,24,-1},{106,0,0,10,0,0,0,1,24,-1}}, - {{106,0,0,10,0,0,0,1,24,-1},{106,0,0,10,0,0,0,1,24,-1},{106,0,0,10,0,0,0,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{106,0,0,12,0,0,17,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{106,0,0,12,0,0,17,1,9,-1}}, - {{106,0,0,13,0,0,0,1,19,0},{106,0,0,13,0,0,0,1,19,1},{106,0,0,13,0,0,0,1,19,2},{106,0,0,13,0,0,0,1,19,3},{106,0,0,13,0,0,0,1,19,4},{106,0,0,13,0,0,0,1,19,5},{106,0,0,13,0,0,0,1,19,6},{106,0,0,13,0,0,0,1,19,7},{106,0,0,13,0,0,0,1,19,8},{106,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,6,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{106,0,0,21,0,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,11,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,10,0,0,0,1,9,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1}}, - {{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1}}, - {{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,10,0,0,0,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,10,0,0,0,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,10,0,0,0,1,9,-1},{62,0,0,10,0,0,0,1,9,-1},{62,0,0,10,0,0,0,1,9,-1}}, - {{62,0,0,10,0,0,0,1,9,-1},{62,0,0,10,0,0,0,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,10,0,0,0,1,9,-1},{62,0,0,10,0,0,0,1,9,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{62,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{62,0,0,13,0,0,0,1,19,0},{62,0,0,13,0,0,0,1,19,1},{62,0,0,13,0,0,0,1,19,2},{62,0,0,13,0,0,0,1,19,3},{62,0,0,13,0,0,0,1,19,4},{62,0,0,13,0,0,0,1,19,5},{62,0,0,13,0,0,0,1,19,6},{62,0,0,13,0,0,0,1,19,7},{62,0,0,13,0,0,0,1,19,8},{62,0,0,13,0,0,0,1,19,9},{62,0,0,21,0,0,0,1,4,-1},{62,0,0,21,0,0,0,1,4,-1},{62,0,0,21,0,0,0,1,2,-1},{62,0,0,21,0,0,0,1,4,-1},{62,0,0,21,0,0,0,1,4,-1},{62,0,0,21,0,0,0,1,4,-1}}, - {{62,0,0,21,0,0,0,1,4,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1}}, - {{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,12,0,0,17,1,9,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{62,0,0,26,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{113,0,0,12,0,0,17,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,10,0,0,0,1,9,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1}}, - {{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1}}, - {{113,0,0,7,0,0,0,1,2,-1},{113,0,0,10,0,0,0,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,10,0,0,0,1,9,-1},{113,0,0,10,0,0,0,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,10,0,0,0,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,12,0,0,17,1,9,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1}}, - {{113,0,0,13,0,0,0,1,19,0},{113,0,0,13,0,0,0,1,19,1},{113,0,0,13,0,0,0,1,19,2},{113,0,0,13,0,0,0,1,19,3},{113,0,0,13,0,0,0,1,19,4},{113,0,0,13,0,0,0,1,19,5},{113,0,0,13,0,0,0,1,19,6},{113,0,0,13,0,0,0,1,19,7},{113,0,0,13,0,0,0,1,19,8},{113,0,0,13,0,0,0,1,19,9},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1},{113,0,0,7,0,0,0,1,2,-1}}, - {{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1}}, - {{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,7,0,0,0,1,2,-1},{63,0,0,12,0,0,17,1,9,-1},{63,0,0,10,0,0,0,1,9,-1},{63,0,0,12,0,0,17,1,9,-1},{63,0,0,12,0,0,17,1,9,-1},{63,0,0,10,0,0,0,1,9,-1},{63,0,0,10,0,0,0,1,9,-1},{63,0,0,10,0,0,0,1,9,-1},{63,0,0,12,0,0,17,1,9,-1},{63,0,0,10,0,0,0,1,9,-1},{63,0,0,12,0,0,17,1,9,-1}}, - {{63,0,0,12,0,0,17,1,9,-1},{63,0,0,12,0,0,17,1,9,-1},{63,0,0,10,0,0,0,1,9,-1},{63,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{63,0,0,21,0,0,0,1,2,-1},{63,0,0,21,0,0,0,1,2,-1},{63,0,0,21,0,0,0,1,2,-1},{63,0,0,21,0,0,0,1,2,-1}}, - {{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1}}, - {{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,12,0,0,17,1,9,-1},{82,0,0,12,0,0,17,1,9,-1},{82,0,0,12,0,0,17,1,9,-1},{82,0,0,12,0,0,17,1,9,-1}}, - {{82,0,0,12,0,0,17,1,9,-1},{82,0,0,12,0,0,17,1,9,-1},{82,0,0,12,0,0,17,1,9,-1},{82,0,0,12,0,0,17,1,9,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,10,0,0,0,1,9,-1},{82,0,0,12,0,0,17,1,9,-1},{82,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{82,0,0,21,0,0,0,1,4,-1},{82,0,0,21,0,0,0,1,4,-1},{82,0,0,21,0,0,0,1,4,-1},{82,0,0,21,0,0,0,1,4,-1},{82,0,0,21,0,0,0,1,4,-1}}, - {{82,0,0,13,0,0,0,1,19,0},{82,0,0,13,0,0,0,1,19,1},{82,0,0,13,0,0,0,1,19,2},{82,0,0,13,0,0,0,1,19,3},{82,0,0,13,0,0,0,1,19,4},{82,0,0,13,0,0,0,1,19,5},{82,0,0,13,0,0,0,1,19,6},{82,0,0,13,0,0,0,1,19,7},{82,0,0,13,0,0,0,1,19,8},{82,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1},{82,0,0,7,0,0,0,1,2,-1}}, - {{109,0,0,13,0,0,0,1,19,0},{109,0,0,13,0,0,0,1,19,1},{109,0,0,13,0,0,0,1,19,2},{109,0,0,13,0,0,0,1,19,3},{109,0,0,13,0,0,0,1,19,4},{109,0,0,13,0,0,0,1,19,5},{109,0,0,13,0,0,0,1,19,6},{109,0,0,13,0,0,0,1,19,7},{109,0,0,13,0,0,0,1,19,8},{109,0,0,13,0,0,0,1,19,9},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1}}, - {{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1}}, - {{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,7,0,0,0,1,2,-1},{109,0,0,6,0,0,0,1,2,-1},{109,0,0,6,0,0,0,1,2,-1},{109,0,0,6,0,0,0,1,2,-1},{109,0,0,6,0,0,0,1,2,-1},{109,0,0,6,0,0,0,1,2,-1},{109,0,0,6,0,0,0,1,2,-1},{109,0,0,21,0,0,0,1,4,-1},{109,0,0,21,0,0,0,1,4,-1}}, - {{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{113,0,0,21,0,0,0,1,2,-1},{113,0,0,21,0,0,0,1,2,-1},{113,0,0,21,0,0,0,1,2,-1},{113,0,0,21,0,0,0,1,2,-1},{113,0,0,21,0,0,0,1,2,-1},{113,0,0,21,0,0,0,1,2,-1},{113,0,0,21,0,0,0,1,2,-1},{113,0,0,21,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{0,0,0,21,0,0,0,1,2,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{0,0,0,10,0,0,0,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{0,0,0,7,0,0,0,1,2,-1},{0,0,0,7,0,0,0,1,2,-1},{0,0,0,7,0,0,0,1,2,-1},{0,0,0,7,0,0,0,1,2,-1},{1,0,0,12,0,0,17,1,9,-1},{0,0,0,7,0,0,0,1,2,-1},{0,0,0,7,0,0,0,1,2,-1}}, - {{0,0,0,7,0,0,0,1,2,-1},{0,0,0,7,0,0,0,1,2,-1},{0,0,0,10,0,0,0,1,9,-1},{0,0,0,10,0,0,0,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{0,0,0,7,0,0,0,1,2,-1},{0,0,0,7,0,0,0,1,2,-1},{0,0,0,10,0,0,0,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1}}, - {{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1}}, - {{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1}}, - {{14,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{8,0,0,6,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1}}, - {{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{14,0,0,6,0,0,0,1,2,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,9,1,0,0,1,2,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,24,0,0,10,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,24,0,0,10,1,2,-1}}, - {{14,0,0,24,0,0,10,1,2,-1},{14,0,0,24,0,0,10,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,24,0,0,10,1,2,-1},{14,0,0,24,0,0,10,1,2,-1},{14,0,0,24,0,0,10,1,2,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,24,0,0,10,1,2,-1},{14,0,0,24,0,0,10,1,2,-1},{14,0,0,24,0,0,10,1,2,-1}}, - {{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,24,0,0,10,1,2,-1},{14,0,0,24,0,0,10,1,2,-1},{14,0,0,24,0,0,10,1,2,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,5,1,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,9,1,0,0,1,2,-1},{14,0,0,9,0,0,0,1,2,-1},{14,0,0,8,1,0,0,1,2,-1},{14,0,0,24,0,0,10,1,5,-1},{14,0,0,24,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,29,0,0,9,1,4,-1},{0,0,0,29,0,0,9,1,4,-1},{0,0,0,29,0,0,9,1,4,-1},{0,0,0,29,0,0,9,1,4,-1},{0,0,0,29,0,0,9,1,4,-1},{0,0,0,29,0,0,9,1,4,-1},{0,0,0,29,0,0,9,1,4,-1},{0,0,0,29,0,0,9,1,12,-1},{0,0,0,29,0,0,9,1,4,-1},{0,0,0,29,0,0,9,1,4,-1},{0,0,0,29,0,0,9,1,4,-1},{0,0,0,1,0,1,18,1,28,-1},{1,0,0,1,1,1,18,1,9,-1},{1,0,0,1,1,1,18,1,42,-1},{0,0,0,1,0,1,0,1,9,-1},{0,0,0,1,0,1,1,1,9,-1}}, - {{0,0,0,17,1,0,10,1,4,-1},{0,0,0,17,0,0,10,1,12,-1},{0,0,0,17,0,0,10,1,4,-1},{0,0,0,17,0,0,10,1,4,-1},{0,0,0,17,0,0,10,1,3,-1},{0,0,0,17,0,0,10,1,1,-1},{0,0,0,21,0,0,10,0,1,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,19,1,0,10,1,23,-1},{0,0,0,22,0,0,10,1,20,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,19,0,0,10,1,23,-1},{0,0,0,22,0,0,10,1,20,-1},{0,0,0,20,0,0,10,1,23,-1}}, - {{0,0,0,21,0,0,10,0,1,-1},{0,0,0,21,0,0,10,0,1,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,15,-1},{0,0,0,21,0,0,10,1,15,-1},{0,0,0,21,0,0,10,1,15,-1},{0,0,0,21,1,0,10,1,4,-1},{0,0,0,27,0,0,9,1,6,-1},{0,0,0,28,0,0,7,1,6,-1},{0,0,0,1,0,1,11,1,9,-1},{0,0,0,1,0,1,14,1,9,-1},{0,0,0,1,0,1,16,1,9,-1},{0,0,0,1,0,1,12,1,9,-1},{0,0,0,1,0,1,15,1,9,-1},{0,0,0,29,0,0,6,1,12,-1}}, - {{0,0,0,21,0,0,4,0,21,-1},{0,0,0,21,0,0,4,0,21,-1},{0,0,0,21,0,0,4,1,21,-1},{0,0,0,21,0,0,4,1,21,-1},{0,0,0,21,0,0,4,1,21,-1},{0,0,0,21,0,0,10,1,21,-1},{0,0,0,21,0,0,10,1,21,-1},{0,0,0,21,0,0,10,1,21,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,19,0,0,10,1,23,-1},{0,0,0,21,0,0,10,0,1,-1},{0,0,0,21,0,0,10,0,18,-1},{0,0,0,21,0,0,10,1,18,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,16,0,0,10,1,2,-1}}, - {{0,0,0,16,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,0,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,25,0,0,6,1,16,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,0,0,21,0,0,10,0,18,-1},{0,0,0,21,0,0,10,0,18,-1},{0,0,0,21,0,0,10,0,18,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1}}, - {{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,0,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,16,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,29,0,0,9,1,4,-1}}, - {{0,0,0,1,0,1,18,1,30,-1},{0,0,0,1,0,1,18,1,2,-1},{0,0,0,1,0,1,18,1,2,-1},{0,0,0,1,0,1,18,1,2,-1},{0,0,0,1,0,1,18,1,2,-1},{103,0,0,2,0,1,0,0,0,-1},{0,0,0,1,0,1,20,1,9,-1},{0,0,0,1,0,1,21,1,9,-1},{0,0,0,1,0,1,19,1,9,-1},{0,0,0,1,0,1,22,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1}}, - {{0,0,0,15,0,0,2,1,2,0},{25,0,0,6,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,15,0,0,2,1,1,4},{0,0,0,15,0,0,2,1,2,5},{0,0,0,15,0,0,2,1,2,6},{0,0,0,15,0,0,2,1,2,7},{0,0,0,15,0,0,2,1,2,8},{0,0,0,15,0,0,2,1,2,9},{0,0,0,25,0,0,3,1,2,-1},{0,0,0,25,0,0,3,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{25,0,0,6,0,0,0,1,1,-1}}, - {{0,0,0,15,0,0,2,1,2,0},{0,0,0,15,0,0,2,1,1,1},{0,0,0,15,0,0,2,1,1,2},{0,0,0,15,0,0,2,1,1,3},{0,0,0,15,0,0,2,1,1,4},{0,0,0,15,0,0,2,1,2,5},{0,0,0,15,0,0,2,1,2,6},{0,0,0,15,0,0,2,1,2,7},{0,0,0,15,0,0,2,1,2,8},{0,0,0,15,0,0,2,1,2,9},{0,0,0,25,0,0,3,1,2,-1},{0,0,0,25,0,0,3,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,21,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,1,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1}}, - {{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,21,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,21,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,22,-1},{0,0,0,23,0,0,4,1,21,-1},{0,0,0,23,0,0,4,1,22,-1}}, - {{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1},{103,0,0,2,0,0,4,1,22,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,11,0,0,17,0,9,-1},{1,0,0,11,0,0,17,0,9,-1},{1,0,0,11,0,0,17,0,9,-1}}, - {{1,0,0,11,0,0,17,0,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,11,0,0,17,0,9,-1},{1,0,0,11,0,0,17,0,9,-1},{1,0,0,11,0,0,17,0,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,26,0,0,10,0,21,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,9,0,0,0,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,21,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,0,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,5,0,0,0,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,26,0,0,10,0,22,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{14,0,0,9,0,0,0,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,1,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,26,0,0,4,0,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,7,0,0,0,0,2,-1},{0,0,0,7,0,0,0,0,2,-1},{0,0,0,7,0,0,0,0,2,-1},{0,0,0,7,0,0,0,0,2,-1},{0,0,0,5,0,0,0,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,5,0,0,0,0,2,-1},{0,0,0,5,0,0,0,0,2,-1},{0,0,0,9,0,0,0,0,2,-1},{0,0,0,9,0,0,0,0,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,9,0,0,0,0,2,-1},{0,0,0,5,0,0,0,0,2,-1},{0,0,0,5,0,0,0,0,2,-1},{0,0,0,5,0,0,0,0,2,-1},{0,0,0,5,0,0,0,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{25,0,0,5,0,0,0,1,2,-1},{0,0,0,26,0,0,0,0,2,-1}}, - {{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,2,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,2,-1}}, - {{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1}}, - {{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,1,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1}}, - {{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,9,0,0,0,0,2,-1},{25,0,0,5,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{25,0,0,14,0,0,0,0,2,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,3,1,22,-1},{0,0,0,25,0,0,4,1,22,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,0,1,-1},{0,0,0,25,0,0,10,1,1,-1}}, - {{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,0,1,-1},{0,0,0,25,0,0,10,0,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,1,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,15,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1}}, - {{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1}}, - {{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,0,15,0,0,10,0,1,1},{0,0,0,15,0,0,10,0,1,2},{0,0,0,15,0,0,10,0,1,3},{0,0,0,15,0,0,10,0,1,4},{0,0,0,15,0,0,10,0,1,5},{0,0,0,15,0,0,10,0,1,6},{0,0,0,15,0,0,10,0,1,7},{0,0,0,15,0,0,10,0,1,8},{0,0,0,15,0,0,10,0,1,9},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1}}, - {{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,1},{0,0,0,15,0,0,10,0,1,2},{0,0,0,15,0,0,10,0,1,3},{0,0,0,15,0,0,10,0,1,4},{0,0,0,15,0,0,10,0,1,5},{0,0,0,15,0,0,10,0,1,6},{0,0,0,15,0,0,10,0,1,7},{0,0,0,15,0,0,10,0,1,8},{0,0,0,15,0,0,10,0,1,9},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1}}, - {{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,2,0,1,1},{0,0,0,15,0,0,2,0,1,2},{0,0,0,15,0,0,2,0,1,3},{0,0,0,15,0,0,2,0,1,4},{0,0,0,15,0,0,2,0,1,5},{0,0,0,15,0,0,2,0,1,6},{0,0,0,15,0,0,2,0,1,7},{0,0,0,15,0,0,2,0,1,8}}, - {{0,0,0,15,0,0,2,0,1,9},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,15,0,0,2,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1}}, - {{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1}}, - {{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,15,0,0,10,0,1,0},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1}}, - {{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,1},{0,0,0,15,0,0,10,0,1,2},{0,0,0,15,0,0,10,0,1,3},{0,0,0,15,0,0,10,0,1,4},{0,0,0,15,0,0,10,0,1,5},{0,0,0,15,0,0,10,0,1,6},{0,0,0,15,0,0,10,0,1,7},{0,0,0,15,0,0,10,0,1,8},{0,0,0,15,0,0,10,0,1,9},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,2,0}}, - {{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1}}, - {{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,1,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,25,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,1,-1},{0,0,0,25,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1}}, - {{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,25,0,0,10,0,2,-1},{0,0,0,25,0,0,10,0,2,-1},{0,0,0,25,0,0,10,0,2,-1},{0,0,0,25,0,0,10,0,2,-1},{0,0,0,25,0,0,10,0,2,-1},{0,0,1,25,0,0,10,0,2,-1},{0,0,1,25,0,0,10,0,2,-1},{0,0,0,25,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,1,14,-1},{0,0,0,26,0,0,10,1,14,-1},{0,0,0,26,0,0,10,1,14,-1},{0,0,0,26,0,0,10,1,40,-1},{0,0,0,26,0,0,10,1,14,-1},{0,0,0,26,0,0,10,1,14,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1}}, - {{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,25,0,0,10,0,1,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1}}, - {{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,23,-1},{0,0,0,26,0,0,10,0,23,-1},{0,0,0,26,0,0,10,0,23,-1},{0,0,0,26,0,0,10,0,23,-1},{0,0,0,26,0,0,10,0,23,-1}}, - {{0,0,0,26,0,0,10,0,23,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,11,-1},{0,0,0,26,0,0,10,0,11,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1}}, - {{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,0,0,15,0,0,10,0,1,1},{0,0,0,15,0,0,10,0,1,2},{0,0,0,15,0,0,10,0,1,3},{0,0,0,15,0,0,10,0,1,4},{0,0,0,15,0,0,10,0,1,5},{0,0,0,15,0,0,10,0,1,6},{0,0,0,15,0,0,10,0,1,7},{0,0,0,15,0,0,10,0,1,8},{0,0,0,15,0,0,10,0,1,9},{0,0,0,15,0,0,10,0,1,-1}}, - {{0,0,0,15,0,0,10,0,1,1},{0,0,0,15,0,0,10,0,1,2},{0,0,0,15,0,0,10,0,1,3},{0,0,0,15,0,0,10,0,1,4},{0,0,0,15,0,0,10,0,1,5},{0,0,0,15,0,0,10,0,1,6},{0,0,0,15,0,0,10,0,1,7},{0,0,0,15,0,0,10,0,1,8},{0,0,0,15,0,0,10,0,1,9},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,1},{0,0,0,15,0,0,10,0,1,2},{0,0,0,15,0,0,10,0,1,3},{0,0,0,15,0,0,10,0,1,4},{0,0,0,15,0,0,10,0,1,5},{0,0,0,15,0,0,10,0,1,6}}, - {{0,0,0,15,0,0,10,0,1,7},{0,0,0,15,0,0,10,0,1,8},{0,0,0,15,0,0,10,0,1,9},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,1,26,0,0,10,1,2,-1},{0,0,1,26,0,0,10,1,2,-1},{0,0,1,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,1,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,1,26,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1}}, - {{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1},{46,0,0,26,0,0,0,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1}}, - {{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,0,1,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1}}, - {{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1}}, - {{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{56,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1}}, - {{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{56,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1}}, - {{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1}}, - {{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1}}, - {{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,26,0,0,10,1,2,-1},{7,0,0,26,0,0,10,1,2,-1},{7,0,0,26,0,0,10,1,2,-1},{7,0,0,26,0,0,10,1,2,-1},{7,0,0,26,0,0,10,1,2,-1},{7,0,0,26,0,0,10,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{7,0,0,12,0,0,17,1,9,-1}}, - {{7,0,0,12,0,0,17,1,9,-1},{7,0,0,12,0,0,17,1,9,-1},{7,0,0,9,0,0,0,1,2,-1},{7,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{7,0,0,21,0,0,10,1,11,-1},{7,0,0,21,0,0,10,1,4,-1},{7,0,0,21,0,0,10,1,4,-1},{7,0,0,21,0,0,10,1,4,-1},{7,0,0,15,0,0,10,1,2,-1},{7,0,0,21,0,0,10,1,11,-1},{7,0,0,21,0,0,10,1,4,-1}}, - {{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1}}, - {{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{12,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{12,0,0,5,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{12,0,0,5,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1}}, - {{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{60,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{60,0,0,6,0,0,0,1,2,-1}}, - {{60,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{60,0,0,12,0,0,17,1,9,-1}}, - {{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1}}, - {{0,0,0,21,0,0,10,1,23,-1},{0,0,0,21,0,0,10,1,23,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,19,0,0,10,1,23,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,19,0,0,10,1,23,-1},{0,0,0,21,0,0,10,1,23,-1},{0,0,0,21,0,0,10,1,23,-1},{0,0,0,21,0,0,10,1,23,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,19,0,0,10,1,23,-1},{0,0,0,21,0,0,10,1,23,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,19,0,0,10,1,23,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1}}, - {{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,17,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,20,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,17,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,20,0,0,10,1,23,-1},{0,0,0,19,0,0,10,1,23,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1}}, - {{0,0,0,20,0,0,10,1,23,-1},{0,0,0,19,0,0,10,1,23,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,1,0,22,0,0,10,1,20,-1},{0,2,0,18,0,0,10,1,8,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,11,-1},{0,0,0,6,0,0,10,1,2,-1}}, - {{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,21,0,0,10,1,2,-1},{0,0,0,17,0,0,10,1,3,-1},{0,0,0,17,0,0,10,1,3,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,2,-1}}, - {{0,0,0,17,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,22,0,0,10,1,20,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1}}, - {{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1}}, - {{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{17,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,1,29,0,0,9,0,4,-1},{0,0,1,21,0,0,10,2,8,-1},{0,0,1,21,0,0,10,2,8,-1},{0,0,1,21,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{17,0,1,6,1,0,0,0,18,-1},{0,0,1,7,1,0,0,0,14,-1},{17,0,1,14,1,0,0,0,14,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1}}, - {{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,0,1,17,0,0,10,3,18,-1},{0,0,1,22,0,0,10,3,20,-1},{0,0,1,18,0,0,10,3,8,-1},{0,0,1,18,0,0,10,3,8,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{1,0,1,12,0,0,17,0,9,-1},{1,0,1,12,0,0,17,0,9,-1},{1,0,1,12,0,0,17,0,9,-1},{1,0,1,12,0,0,17,0,9,-1},{18,0,1,10,0,0,0,0,9,-1},{18,0,1,10,0,0,0,0,9,-1}}, - {{0,0,1,17,0,0,10,3,14,-1},{0,0,1,6,0,0,0,0,14,-1},{0,0,1,6,0,0,0,0,14,-1},{0,0,1,6,0,0,0,0,14,-1},{0,0,1,6,0,0,0,0,14,-1},{0,0,1,6,0,0,0,0,9,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,14,0,0,0,0,14,-1},{17,0,1,6,0,0,0,0,18,-1},{0,0,1,7,0,0,0,0,18,-1},{0,0,1,21,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{103,0,0,2,0,0,0,0,0,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1}}, - {{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1}}, - {{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1}}, - {{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,0,14,-1}}, - {{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,2,37,-1},{20,0,1,7,1,0,0,2,37,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{1,0,1,12,1,0,17,0,9,-1},{1,0,1,12,1,0,17,0,9,-1},{0,0,1,24,0,0,10,2,18,-1},{0,0,1,24,0,0,10,2,18,-1},{20,0,1,6,1,0,0,0,18,-1},{20,0,1,6,1,0,0,0,18,-1},{20,0,1,7,0,0,0,0,14,-1}}, - {{0,0,1,17,1,0,10,3,18,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1}}, - {{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1}}, - {{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1}}, - {{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1}}, - {{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,2,37,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{22,0,1,7,1,0,0,0,14,-1},{0,0,1,21,1,0,10,0,18,-1},{0,0,1,6,1,0,0,3,37,-1},{22,0,1,6,1,0,0,0,18,-1},{22,0,1,6,1,0,0,0,18,-1},{22,0,1,7,0,0,0,0,14,-1}}, - {{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1}}, - {{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1}}, - {{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,2,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{103,0,0,2,0,0,0,0,0,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1}}, - {{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1}}, - {{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,1,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1}}, - {{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{18,0,1,7,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1}}, - {{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{5,0,1,7,1,0,0,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1},{22,0,1,7,0,0,0,2,37,-1}}, - {{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1}}, - {{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,10,0,14,-1},{18,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,15,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,0,15,0,0,0,0,1,-1},{0,0,0,15,0,0,0,0,1,-1},{0,0,0,15,0,0,0,0,1,-1},{0,0,0,15,0,0,0,0,1,-1},{0,0,0,15,0,0,0,0,1,-1},{0,0,0,15,0,0,0,0,1,-1},{0,0,0,15,0,0,0,0,1,-1},{0,0,0,15,0,0,0,0,1,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1}}, - {{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,0,0,14,-1},{18,0,1,26,0,0,10,0,14,-1},{18,0,1,26,0,0,10,0,14,-1},{18,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1},{0,0,1,15,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1}}, - {{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{22,0,1,26,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1}}, - {{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{22,0,1,26,0,0,0,2,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,0,2,14,-1},{0,0,1,26,0,0,0,2,14,-1},{0,0,1,26,0,0,0,2,14,-1},{0,0,1,26,0,0,0,2,14,-1},{0,0,1,26,0,0,0,2,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1}}, - {{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1}}, - {{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,6,0,0,0,0,18,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1}}, - {{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{41,0,1,7,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1}}, - {{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{41,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1}}, - {{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,7,0,0,0,1,2,-1},{131,0,0,6,0,0,0,1,2,-1},{131,0,0,6,0,0,0,1,2,-1},{131,0,0,6,0,0,0,1,2,-1},{131,0,0,6,0,0,0,1,2,-1},{131,0,0,6,0,0,0,1,2,-1},{131,0,0,6,0,0,0,1,2,-1},{131,0,0,21,0,0,0,1,4,-1},{131,0,0,21,0,0,0,1,4,-1}}, - {{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1}}, - {{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,6,0,0,0,1,2,-1},{99,0,0,21,0,0,10,1,4,-1},{99,0,0,21,0,0,10,1,11,-1},{99,0,0,21,0,0,10,1,4,-1}}, - {{99,0,0,13,0,0,0,1,19,0},{99,0,0,13,0,0,0,1,19,1},{99,0,0,13,0,0,0,1,19,2},{99,0,0,13,0,0,0,1,19,3},{99,0,0,13,0,0,0,1,19,4},{99,0,0,13,0,0,0,1,19,5},{99,0,0,13,0,0,0,1,19,6},{99,0,0,13,0,0,0,1,19,7},{99,0,0,13,0,0,0,1,19,8},{99,0,0,13,0,0,0,1,19,9},{99,0,0,7,0,0,0,1,2,-1},{99,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{8,0,0,9,1,0,0,1,2,-1},{8,0,0,5,1,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,7,0,0,0,1,2,-1},{8,0,0,12,0,0,17,1,9,-1}}, - {{8,0,0,11,0,0,17,1,9,-1},{8,0,0,11,0,0,17,1,9,-1},{8,0,0,11,0,0,17,1,9,-1},{8,0,0,21,0,0,10,1,2,-1},{8,0,0,12,1,0,17,1,9,-1},{8,0,0,12,1,0,17,1,9,-1},{8,0,0,12,1,0,17,1,9,-1},{8,0,0,12,1,0,17,1,9,-1},{8,0,0,12,1,0,17,1,9,-1},{8,0,0,12,1,0,17,1,9,-1},{8,0,0,12,1,0,17,1,9,-1},{8,0,0,12,1,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,21,0,0,10,1,2,-1},{8,0,0,6,1,0,10,1,2,-1}}, - {{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,9,0,0,0,1,2,-1},{8,0,0,5,0,0,0,1,2,-1},{8,0,0,6,0,0,0,1,2,-1},{8,0,0,6,0,0,0,1,2,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,1,0,17,1,9,-1}}, - {{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1}}, - {{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1},{130,0,0,14,0,0,0,1,2,-1}}, - {{130,0,0,12,0,0,17,1,9,-1},{130,0,0,12,0,0,17,1,9,-1},{130,0,0,21,0,0,0,1,2,-1},{130,0,0,21,0,0,0,1,4,-1},{130,0,0,21,0,0,0,1,4,-1},{130,0,0,21,0,0,0,1,4,-1},{130,0,0,21,0,0,0,1,4,-1},{130,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,6,1,0,10,1,2,-1}}, - {{0,0,0,24,0,0,10,1,2,-1},{0,0,0,24,0,0,10,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,6,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{0,0,0,6,1,0,10,1,2,-1},{0,0,0,24,0,0,0,1,2,-1},{0,0,0,24,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1}}, - {{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,9,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,5,1,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1},{25,0,0,7,0,0,0,1,2,-1}}, - {{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,12,0,0,17,1,9,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,12,0,0,17,1,9,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,12,0,0,17,1,9,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1}}, - {{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1}}, - {{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,7,0,0,0,1,2,-1},{58,0,0,10,0,0,0,1,9,-1},{58,0,0,10,0,0,0,1,9,-1},{58,0,0,12,0,0,17,1,9,-1},{58,0,0,12,0,0,17,1,9,-1},{58,0,0,10,0,0,0,1,9,-1},{58,0,0,26,0,0,10,1,2,-1},{58,0,0,26,0,0,10,1,2,-1},{58,0,0,26,0,0,10,1,2,-1},{58,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,23,0,0,4,1,21,-1},{0,0,0,26,0,0,4,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1}}, - {{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,7,0,0,0,1,2,-1},{90,0,0,21,0,0,10,1,5,-1},{90,0,0,21,0,0,10,1,5,-1},{90,0,0,21,0,0,10,1,11,-1},{90,0,0,21,0,0,10,1,11,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1}}, - {{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1}}, - {{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,7,0,0,0,1,2,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1}}, - {{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,10,0,0,0,1,9,-1},{111,0,0,12,0,0,17,1,9,-1},{111,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{111,0,0,21,0,0,0,1,4,-1},{111,0,0,21,0,0,0,1,4,-1}}, - {{111,0,0,13,0,0,0,1,19,0},{111,0,0,13,0,0,0,1,19,1},{111,0,0,13,0,0,0,1,19,2},{111,0,0,13,0,0,0,1,19,3},{111,0,0,13,0,0,0,1,19,4},{111,0,0,13,0,0,0,1,19,5},{111,0,0,13,0,0,0,1,19,6},{111,0,0,13,0,0,0,1,19,7},{111,0,0,13,0,0,0,1,19,8},{111,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1}}, - {{10,0,0,12,0,0,17,1,9,-1},{10,0,0,12,0,0,17,1,9,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,21,0,0,0,1,2,-1},{10,0,0,21,0,0,0,1,2,-1},{10,0,0,21,0,0,0,1,2,-1},{10,0,0,7,0,0,0,1,2,-1},{10,0,0,21,0,0,0,1,5,-1},{10,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{79,0,0,13,0,0,0,1,19,0},{79,0,0,13,0,0,0,1,19,1},{79,0,0,13,0,0,0,1,19,2},{79,0,0,13,0,0,0,1,19,3},{79,0,0,13,0,0,0,1,19,4},{79,0,0,13,0,0,0,1,19,5},{79,0,0,13,0,0,0,1,19,6},{79,0,0,13,0,0,0,1,19,7},{79,0,0,13,0,0,0,1,19,8},{79,0,0,13,0,0,0,1,19,9},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1}}, - {{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1}}, - {{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,7,0,0,0,1,2,-1},{79,0,0,12,0,0,17,1,9,-1},{79,0,0,12,0,0,17,1,9,-1},{79,0,0,12,0,0,17,1,9,-1},{79,0,0,12,0,0,17,1,9,-1},{79,0,0,12,0,0,17,1,9,-1},{79,0,0,12,0,0,17,1,9,-1},{79,0,0,12,0,0,17,1,9,-1},{79,0,0,12,0,0,17,1,9,-1},{0,0,0,21,0,0,0,1,4,-1},{79,0,0,21,0,0,0,1,4,-1}}, - {{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1}}, - {{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,7,0,0,0,1,2,-1},{110,0,0,12,0,0,17,1,9,-1},{110,0,0,12,0,0,17,1,9,-1},{110,0,0,12,0,0,17,1,9,-1},{110,0,0,12,0,0,17,1,9,-1},{110,0,0,12,0,0,17,1,9,-1},{110,0,0,12,0,0,17,1,9,-1},{110,0,0,12,0,0,17,1,9,-1},{110,0,0,12,0,0,17,1,9,-1},{110,0,0,12,0,0,17,1,9,-1}}, - {{110,0,0,12,0,0,17,1,9,-1},{110,0,0,12,0,0,17,1,9,-1},{110,0,0,10,0,0,0,1,9,-1},{110,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{110,0,0,21,0,0,0,1,2,-1}}, - {{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{18,0,1,7,0,0,0,0,33,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{78,0,0,12,0,0,17,1,9,-1},{78,0,0,12,0,0,17,1,9,-1},{78,0,0,12,0,0,17,1,9,-1},{78,0,0,10,0,0,0,1,9,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1}}, - {{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1}}, - {{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,7,0,0,0,1,2,-1},{78,0,0,12,0,0,17,1,9,-1},{78,0,0,10,0,0,0,1,9,-1},{78,0,0,10,0,0,0,1,9,-1},{78,0,0,12,0,0,17,1,9,-1},{78,0,0,12,0,0,17,1,9,-1},{78,0,0,12,0,0,17,1,9,-1},{78,0,0,12,0,0,17,1,9,-1},{78,0,0,10,0,0,0,1,9,-1},{78,0,0,10,0,0,0,1,9,-1},{78,0,0,12,0,0,17,1,9,-1},{78,0,0,10,0,0,0,1,9,-1},{78,0,0,10,0,0,0,1,9,-1},{78,0,0,10,0,0,0,1,9,-1}}, - {{78,0,0,10,0,0,0,1,9,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,4,-1},{78,0,0,21,0,0,0,1,4,-1},{78,0,0,21,0,0,0,1,4,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,6,0,0,0,1,2,-1}}, - {{78,0,0,13,0,0,0,1,19,0},{78,0,0,13,0,0,0,1,19,1},{78,0,0,13,0,0,0,1,19,2},{78,0,0,13,0,0,0,1,19,3},{78,0,0,13,0,0,0,1,19,4},{78,0,0,13,0,0,0,1,19,5},{78,0,0,13,0,0,0,1,19,6},{78,0,0,13,0,0,0,1,19,7},{78,0,0,13,0,0,0,1,19,8},{78,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{78,0,0,21,0,0,0,1,2,-1},{78,0,0,21,0,0,0,1,2,-1}}, - {{28,0,0,7,0,0,0,1,24,-1},{28,0,0,7,0,0,0,1,24,-1},{28,0,0,7,0,0,0,1,24,-1},{28,0,0,7,0,0,0,1,24,-1},{28,0,0,7,0,0,0,1,24,-1},{28,0,0,12,0,0,17,1,24,-1},{28,0,0,6,0,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1}}, - {{28,0,0,13,1,0,0,1,19,0},{28,0,0,13,1,0,0,1,19,1},{28,0,0,13,1,0,0,1,19,2},{28,0,0,13,1,0,0,1,19,3},{28,0,0,13,1,0,0,1,19,4},{28,0,0,13,1,0,0,1,19,5},{28,0,0,13,1,0,0,1,19,6},{28,0,0,13,1,0,0,1,19,7},{28,0,0,13,1,0,0,1,19,8},{28,0,0,13,1,0,0,1,19,9},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1}}, - {{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,10,0,0,0,1,9,-1}}, - {{66,0,0,10,0,0,0,1,9,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,10,0,0,0,1,9,-1},{66,0,0,10,0,0,0,1,9,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,7,0,0,0,1,2,-1},{66,0,0,12,0,0,17,1,9,-1},{66,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{66,0,0,13,0,0,0,1,19,0},{66,0,0,13,0,0,0,1,19,1},{66,0,0,13,0,0,0,1,19,2},{66,0,0,13,0,0,0,1,19,3},{66,0,0,13,0,0,0,1,19,4},{66,0,0,13,0,0,0,1,19,5},{66,0,0,13,0,0,0,1,19,6},{66,0,0,13,0,0,0,1,19,7},{66,0,0,13,0,0,0,1,19,8},{66,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{66,0,0,21,0,0,0,1,2,-1},{66,0,0,21,0,0,0,1,4,-1},{66,0,0,21,0,0,0,1,4,-1},{66,0,0,21,0,0,0,1,4,-1}}, - {{28,0,0,6,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,26,0,0,0,1,24,-1},{28,0,0,26,0,0,0,1,24,-1},{28,0,0,26,0,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,12,1,0,17,1,24,-1},{28,0,0,10,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1},{28,0,0,7,1,0,0,1,24,-1}}, - {{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1}}, - {{127,0,0,12,0,0,17,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,12,0,0,17,1,24,-1},{127,0,0,12,0,0,17,1,24,-1},{127,0,0,12,0,0,17,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,12,0,0,17,1,24,-1},{127,0,0,12,0,0,17,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,12,0,0,17,1,24,-1},{127,0,0,12,0,0,17,1,24,-1}}, - {{127,0,0,7,0,0,0,1,24,-1},{127,0,0,12,0,0,17,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,7,0,0,0,1,24,-1},{127,0,0,6,0,0,0,1,24,-1},{127,0,0,21,0,0,0,1,24,-1},{127,0,0,21,0,0,0,1,24,-1}}, - {{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,12,0,0,17,1,9,-1},{115,0,0,12,0,0,17,1,9,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,10,0,0,0,1,9,-1}}, - {{115,0,0,21,0,0,0,1,4,-1},{115,0,0,21,0,0,0,1,4,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,6,0,0,0,1,2,-1},{115,0,0,6,0,0,0,1,2,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{11,0,0,7,1,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{0,0,0,24,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1},{25,0,0,6,0,0,0,1,2,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{14,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1},{6,0,0,5,0,0,0,1,2,-1}}, - {{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1}}, - {{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,7,0,0,0,1,2,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,12,0,0,17,1,9,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,12,0,0,17,1,9,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,21,0,0,0,1,4,-1},{115,0,0,10,0,0,0,1,9,-1},{115,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{115,0,0,13,0,0,0,1,19,0},{115,0,0,13,0,0,0,1,19,1},{115,0,0,13,0,0,0,1,19,2},{115,0,0,13,0,0,0,1,19,3},{115,0,0,13,0,0,0,1,19,4},{115,0,0,13,0,0,0,1,19,5},{115,0,0,13,0,0,0,1,19,6},{115,0,0,13,0,0,0,1,19,7},{115,0,0,13,0,0,0,1,19,8},{115,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{18,0,1,7,1,0,0,0,31,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1}}, - {{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,31,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1}}, - {{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1}}, - {{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,31,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1}}, - {{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,31,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1}}, - {{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{18,0,1,7,1,0,0,0,32,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{18,0,0,7,0,0,0,0,35,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1}}, - {{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{18,0,0,7,0,0,0,0,34,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1},{103,0,0,4,0,0,0,1,25,-1}}, - {{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1}}, - {{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1}}, - {{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1}}, - {{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1}}, - {{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1}}, - {{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{17,0,1,7,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{25,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{3,0,0,5,0,0,0,1,2,-1},{3,0,0,5,0,0,0,1,2,-1},{3,0,0,5,0,0,0,1,2,-1},{3,0,0,5,0,0,0,1,2,-1},{3,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,12,0,0,17,1,9,-1},{19,0,0,7,0,0,1,1,38,-1}}, - {{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,25,0,0,3,1,2,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1}}, - {{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{103,0,0,2,0,0,1,1,0,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{103,0,0,2,0,0,1,1,0,-1},{19,0,0,7,0,0,1,1,38,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{103,0,0,2,0,0,1,1,0,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{103,0,0,2,0,0,1,1,0,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1},{19,0,0,7,0,0,1,1,38,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1}}, - {{2,0,0,24,0,0,13,1,2,-1},{2,0,0,24,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{0,0,0,18,0,0,10,1,8,-1},{0,0,0,22,0,0,10,1,20,-1}}, - {{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,23,0,0,13,1,21,-1},{2,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1},{1,0,0,12,0,1,17,1,9,-1}}, - {{0,0,1,21,0,0,10,0,16,-1},{0,0,1,21,0,0,10,0,8,-1},{0,0,1,21,0,0,10,0,8,-1},{0,0,1,21,0,0,10,0,16,-1},{0,0,1,21,0,0,10,0,16,-1},{0,0,1,21,0,0,10,0,11,-1},{0,0,1,21,0,0,10,0,11,-1},{0,0,1,22,0,0,10,0,20,-1},{0,0,1,18,0,0,10,0,8,-1},{0,0,1,21,0,0,10,0,15,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{1,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1},{8,0,0,12,0,0,17,1,9,-1}}, - {{0,0,1,21,0,0,10,0,14,-1},{0,0,1,17,0,0,10,0,14,-1},{0,0,1,17,0,0,10,0,14,-1},{0,0,1,16,0,0,10,0,14,-1},{0,0,1,16,0,0,10,0,14,-1},{0,0,1,22,0,0,10,0,20,-1},{0,0,1,18,0,0,10,0,8,-1},{0,0,1,22,0,0,10,0,20,-1},{0,0,1,18,0,0,10,0,8,-1},{0,0,1,22,0,0,10,0,20,-1},{0,0,1,18,0,0,10,0,8,-1},{0,0,1,22,0,0,10,0,20,-1},{0,0,1,18,0,0,10,0,8,-1},{0,0,1,22,0,0,10,0,20,-1},{0,0,1,18,0,0,10,0,8,-1},{0,0,1,22,0,0,10,0,20,-1}}, - {{0,0,1,18,0,0,10,0,8,-1},{0,0,1,22,0,0,10,0,20,-1},{0,0,1,18,0,0,10,0,8,-1},{0,0,1,22,0,0,10,0,20,-1},{0,0,1,18,0,0,10,0,8,-1},{0,0,1,21,0,0,10,0,14,-1},{0,0,1,21,0,0,10,0,14,-1},{0,0,1,22,0,0,10,0,20,-1},{0,0,1,18,0,0,10,0,8,-1},{0,0,1,21,0,0,10,1,14,-1},{0,0,1,21,0,0,10,1,14,-1},{0,0,1,21,0,0,10,1,14,-1},{0,0,1,21,0,0,10,1,14,-1},{0,0,1,16,0,0,10,1,14,-1},{0,0,1,16,0,0,10,1,14,-1},{0,0,1,16,0,0,10,1,14,-1}}, - {{0,0,1,21,0,0,6,2,8,-1},{0,0,1,21,0,0,10,2,14,-1},{0,0,1,21,0,0,6,2,8,-1},{103,0,0,2,0,0,0,0,0,-1},{0,0,1,21,0,0,10,0,18,-1},{0,0,1,21,0,0,6,0,18,-1},{0,0,1,21,0,0,10,0,11,-1},{0,0,1,21,0,0,10,0,11,-1},{0,0,1,17,0,0,10,1,14,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,0,1,21,0,0,4,0,14,-1}}, - {{0,0,1,21,0,0,10,0,14,-1},{0,0,1,21,0,0,10,0,14,-1},{0,0,1,25,0,0,3,0,14,-1},{0,0,1,17,0,0,3,1,14,-1},{0,0,1,25,0,0,10,1,14,-1},{0,0,1,25,0,0,10,1,14,-1},{0,0,1,25,0,0,10,1,14,-1},{103,0,0,2,0,0,0,0,0,-1},{0,0,1,21,0,0,10,0,14,-1},{0,0,1,23,0,0,4,0,22,-1},{0,0,1,21,0,0,4,0,21,-1},{0,0,1,21,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{0,0,0,1,0,1,18,1,30,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{0,0,1,21,0,0,10,2,11,-1},{0,0,1,21,0,0,10,0,14,-1},{0,0,1,21,0,0,4,0,14,-1},{0,0,1,23,0,0,4,0,22,-1},{0,0,1,21,0,0,4,0,21,-1},{0,0,1,21,0,0,10,0,14,-1},{0,0,1,21,0,0,10,0,14,-1},{0,1,1,22,0,0,10,3,20,-1},{0,2,1,18,0,0,10,3,8,-1},{0,0,1,21,0,0,10,0,14,-1},{0,0,1,25,0,0,3,0,14,-1},{0,0,1,21,0,0,6,2,8,-1},{0,0,1,17,0,0,3,1,14,-1},{0,0,1,21,0,0,6,2,8,-1},{0,0,1,21,0,0,6,0,14,-1}}, - {{0,0,1,13,0,0,2,0,14,0},{0,0,1,13,0,0,2,0,14,1},{0,0,1,13,0,0,2,0,14,2},{0,0,1,13,0,0,2,0,14,3},{0,0,1,13,0,0,2,0,14,4},{0,0,1,13,0,0,2,0,14,5},{0,0,1,13,0,0,2,0,14,6},{0,0,1,13,0,0,2,0,14,7},{0,0,1,13,0,0,2,0,14,8},{0,0,1,13,0,0,2,0,14,9},{0,0,1,21,0,0,6,3,18,-1},{0,0,1,21,0,0,10,3,18,-1},{0,0,1,25,0,0,10,1,14,-1},{0,0,1,25,0,0,10,1,14,-1},{0,0,1,25,0,0,10,1,14,-1},{0,0,1,21,0,0,10,2,11,-1}}, - {{0,0,1,21,0,0,10,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1}}, - {{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{25,0,1,9,0,0,0,0,14,-1},{0,1,1,22,0,0,10,3,20,-1},{0,0,1,21,0,0,10,0,14,-1},{0,2,1,18,0,0,10,3,8,-1},{0,0,1,24,0,0,10,0,14,-1},{0,0,1,16,0,0,10,3,14,-1}}, - {{0,0,1,24,0,0,10,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1}}, - {{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{25,0,1,5,0,0,0,0,14,-1},{0,1,1,22,0,0,10,3,20,-1},{0,0,1,25,0,0,10,3,14,-1},{0,2,1,18,0,0,10,3,8,-1},{0,0,1,25,0,0,10,3,14,-1},{0,1,1,22,0,0,10,3,20,-1}}, - {{0,2,1,18,0,0,10,3,8,-1},{0,0,1,21,0,0,10,1,8,-1},{0,1,1,22,0,0,10,1,20,-1},{0,2,1,18,0,0,10,1,8,-1},{0,0,1,21,0,0,10,1,8,-1},{0,0,1,21,0,0,10,1,18,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,37,-1},{22,0,1,7,0,0,0,1,37,-1},{22,0,1,7,0,0,0,1,37,-1},{22,0,1,7,0,0,0,1,37,-1},{22,0,1,7,0,0,0,1,37,-1},{22,0,1,7,0,0,0,1,37,-1},{22,0,1,7,0,0,0,1,37,-1},{22,0,1,7,0,0,0,1,37,-1},{22,0,1,7,0,0,0,1,37,-1}}, - {{0,0,1,6,0,0,0,1,37,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1}}, - {{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1}}, - {{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{22,0,1,7,0,0,0,1,14,-1},{0,0,1,6,0,0,0,1,18,-1},{0,0,1,6,0,0,0,1,18,-1}}, - {{18,0,1,7,0,1,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1}}, - {{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{18,0,1,7,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,1,23,0,0,4,0,21,-1},{0,0,1,23,0,0,4,0,22,-1},{0,0,1,25,0,0,10,0,14,-1},{0,0,1,24,0,0,10,3,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,23,0,0,4,0,22,-1},{0,0,1,23,0,0,4,0,22,-1},{103,0,0,2,0,0,0,0,0,-1},{0,0,1,26,0,0,10,1,2,-1},{0,0,1,25,0,0,10,1,2,-1},{0,0,1,25,0,0,10,1,2,-1},{0,0,1,25,0,0,10,1,2,-1},{0,0,1,25,0,0,10,1,2,-1},{0,0,1,26,0,0,10,1,2,-1},{0,0,1,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,1,0,0,0,-1},{103,0,0,2,0,1,0,0,0,-1},{103,0,0,2,0,1,0,0,0,-1},{103,0,0,2,0,1,0,0,0,-1},{103,0,0,2,0,1,0,0,0,-1},{103,0,0,2,0,1,0,0,0,-1},{103,0,0,2,0,1,0,0,0,-1},{103,0,0,2,0,1,0,0,0,-1},{103,0,0,2,0,1,0,0,0,-1},{0,0,0,1,0,0,10,1,9,-1},{0,0,0,1,0,0,10,1,9,-1},{0,0,0,1,0,0,10,1,9,-1},{0,0,0,26,0,0,10,0,7,-1},{0,0,0,26,0,0,10,0,1,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1}}, - {{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1}}, - {{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1}}, - {{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{49,0,0,7,0,0,0,1,2,-1}}, - {{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{49,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,21,0,0,0,1,4,-1},{0,0,0,21,0,0,10,1,4,-1},{0,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1}}, - {{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1}}, - {{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{0,0,0,15,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1}}, - {{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1}}, - {{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,14,0,0,10,1,2,-1},{14,0,0,15,0,0,10,1,2,-1},{14,0,0,15,0,0,10,1,2,-1},{14,0,0,15,0,0,10,1,2,-1},{14,0,0,15,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1}}, - {{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,15,0,0,10,1,2,-1},{14,0,0,15,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,0,1,2,-1},{14,0,0,26,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{14,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{0,0,0,26,0,0,0,1,2,-1},{1,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1}}, - {{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{107,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1},{104,0,0,7,0,0,0,1,2,-1}}, - {{104,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{1,0,0,12,0,0,17,1,9,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1}}, - {{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{0,0,0,15,0,0,2,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1}}, - {{30,0,0,15,0,0,0,1,2,-1},{30,0,0,15,0,0,0,1,2,-1},{30,0,0,15,0,0,0,1,2,-1},{30,0,0,15,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1},{30,0,0,7,0,0,0,1,2,-1}}, - {{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1}}, - {{13,0,0,7,0,0,0,1,2,-1},{13,0,0,14,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,7,0,0,0,1,2,-1},{13,0,0,14,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1}}, - {{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,7,0,0,0,1,2,-1},{89,0,0,12,0,0,17,1,9,-1},{89,0,0,12,0,0,17,1,9,-1},{89,0,0,12,0,0,17,1,9,-1},{89,0,0,12,0,0,17,1,9,-1},{89,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1}}, - {{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{53,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{53,0,0,21,0,0,0,1,4,-1}}, - {{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1}}, - {{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1},{61,0,0,7,0,0,0,1,2,-1}}, - {{61,0,0,21,0,0,0,1,4,-1},{61,0,0,14,0,0,0,1,2,-1},{61,0,0,14,0,0,0,1,2,-1},{61,0,0,14,0,0,0,1,2,-1},{61,0,0,14,0,0,0,1,2,-1},{61,0,0,14,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1}}, - {{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,9,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1}}, - {{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1},{9,0,0,5,0,0,0,1,2,-1}}, - {{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1},{51,0,0,7,0,0,0,1,2,-1}}, - {{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1}}, - {{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{50,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{50,0,0,13,0,0,0,1,19,0},{50,0,0,13,0,0,0,1,19,1},{50,0,0,13,0,0,0,1,19,2},{50,0,0,13,0,0,0,1,19,3},{50,0,0,13,0,0,0,1,19,4},{50,0,0,13,0,0,0,1,19,5},{50,0,0,13,0,0,0,1,19,6},{50,0,0,13,0,0,0,1,19,7},{50,0,0,13,0,0,0,1,19,8},{50,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1}}, - {{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{171,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1}}, - {{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1}}, - {{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{171,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1}}, - {{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{136,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1}}, - {{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{159,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{159,0,0,21,0,0,0,1,2,-1}}, - {{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1}}, - {{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{83,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{47,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1}}, - {{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1}}, - {{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{47,0,0,7,0,0,1,1,2,-1},{47,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{47,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{47,0,0,7,0,0,1,1,2,-1}}, - {{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1}}, - {{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{116,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{116,0,0,21,0,0,1,1,4,-1},{116,0,0,15,0,0,1,1,2,-1},{116,0,0,15,0,0,1,1,2,-1},{116,0,0,15,0,0,1,1,2,-1},{116,0,0,15,0,0,1,1,2,-1},{116,0,0,15,0,0,1,1,2,-1},{116,0,0,15,0,0,1,1,2,-1},{116,0,0,15,0,0,1,1,2,-1},{116,0,0,15,0,0,1,1,2,-1}}, - {{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1}}, - {{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,7,0,0,1,1,2,-1},{144,0,0,26,0,0,1,1,2,-1},{144,0,0,26,0,0,1,1,2,-1},{144,0,0,15,0,0,1,1,2,-1},{144,0,0,15,0,0,1,1,2,-1},{144,0,0,15,0,0,1,1,2,-1},{144,0,0,15,0,0,1,1,2,-1},{144,0,0,15,0,0,1,1,2,-1},{144,0,0,15,0,0,1,1,2,-1},{144,0,0,15,0,0,1,1,2,-1}}, - {{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1}}, - {{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{143,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{143,0,0,15,0,0,1,1,2,-1},{143,0,0,15,0,0,1,1,2,-1},{143,0,0,15,0,0,1,1,2,-1},{143,0,0,15,0,0,1,1,2,-1},{143,0,0,15,0,0,1,1,2,-1},{143,0,0,15,0,0,1,1,2,-1},{143,0,0,15,0,0,1,1,2,-1},{143,0,0,15,0,0,1,1,2,-1},{143,0,0,15,0,0,1,1,2,-1}}, - {{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1}}, - {{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{162,0,0,7,0,0,1,1,2,-1},{162,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{162,0,0,15,0,0,1,1,2,-1},{162,0,0,15,0,0,1,1,2,-1},{162,0,0,15,0,0,1,1,2,-1},{162,0,0,15,0,0,1,1,2,-1},{162,0,0,15,0,0,1,1,2,-1}}, - {{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1}}, - {{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,7,0,0,1,1,2,-1},{91,0,0,15,0,0,1,1,2,-1},{91,0,0,15,0,0,1,1,2,-1},{91,0,0,15,0,0,1,1,2,-1},{91,0,0,15,0,0,1,1,2,-1},{91,0,0,15,0,0,1,1,2,-1},{91,0,0,15,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{91,0,0,21,0,0,10,1,4,-1}}, - {{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1}}, - {{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{108,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{108,0,0,21,0,0,1,1,2,-1}}, - {{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1},{86,0,0,7,0,0,1,0,2,-1}}, - {{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1}}, - {{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1},{141,0,0,7,0,0,1,1,2,-1}}, - {{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1}}, - {{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1},{141,0,0,15,0,0,1,1,2,-1}}, - {{57,0,0,7,0,0,1,1,2,-1},{57,0,0,12,0,0,17,1,9,-1},{57,0,0,12,0,0,17,1,9,-1},{57,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,1,1,0,-1},{57,0,0,12,0,0,17,1,9,-1},{57,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{57,0,0,12,0,0,17,1,9,-1},{57,0,0,12,0,0,17,1,9,-1},{57,0,0,12,0,0,17,1,9,-1},{57,0,0,12,0,0,17,1,9,-1}}, - {{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1}}, - {{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1}}, - {{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{57,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{57,0,0,12,0,0,17,1,9,-1},{57,0,0,12,0,0,17,1,9,-1},{57,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{57,0,0,12,0,0,17,1,9,-1}}, - {{57,0,0,15,0,0,1,1,2,1},{57,0,0,15,0,0,1,1,2,2},{57,0,0,15,0,0,1,1,2,3},{57,0,0,15,0,0,1,1,2,4},{57,0,0,15,0,0,1,1,2,-1},{57,0,0,15,0,0,1,1,2,-1},{57,0,0,15,0,0,1,1,2,-1},{57,0,0,15,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{57,0,0,21,0,0,1,1,4,-1},{57,0,0,21,0,0,1,1,4,-1},{57,0,0,21,0,0,1,1,4,-1},{57,0,0,21,0,0,1,1,4,-1},{57,0,0,21,0,0,1,1,4,-1},{57,0,0,21,0,0,1,1,4,-1},{57,0,0,21,0,0,1,1,4,-1},{57,0,0,21,0,0,1,1,4,-1},{57,0,0,21,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1}}, - {{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,7,0,0,1,1,2,-1},{133,0,0,15,0,0,1,1,2,-1},{133,0,0,15,0,0,1,1,2,-1},{133,0,0,21,0,0,1,1,2,-1}}, - {{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1}}, - {{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,7,0,0,1,1,2,-1},{142,0,0,15,0,0,1,1,2,-1},{142,0,0,15,0,0,1,1,2,-1},{142,0,0,15,0,0,1,1,2,-1}}, - {{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,26,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1}}, - {{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1}}, - {{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,7,0,0,1,1,2,-1},{121,0,0,12,0,0,17,1,9,-1},{121,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{121,0,0,15,0,0,1,1,2,-1},{121,0,0,15,0,0,1,1,2,-1},{121,0,0,15,0,0,1,1,2,-1},{121,0,0,15,0,0,1,1,2,-1},{121,0,0,15,0,0,1,1,2,-1}}, - {{121,0,0,21,0,0,1,1,4,-1},{121,0,0,21,0,0,1,1,4,-1},{121,0,0,21,0,0,1,1,4,-1},{121,0,0,21,0,0,1,1,4,-1},{121,0,0,21,0,0,1,1,4,-1},{121,0,0,21,0,0,1,1,4,-1},{121,0,0,21,0,0,1,1,15,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1}}, - {{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{117,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{117,0,0,21,0,0,10,1,4,-1},{117,0,0,21,0,0,10,1,4,-1},{117,0,0,21,0,0,10,1,4,-1},{117,0,0,21,0,0,10,1,4,-1},{117,0,0,21,0,0,10,1,4,-1},{117,0,0,21,0,0,10,1,4,-1},{117,0,0,21,0,0,10,1,4,-1}}, - {{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1}}, - {{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{125,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{125,0,0,15,0,0,1,1,2,-1},{125,0,0,15,0,0,1,1,2,-1},{125,0,0,15,0,0,1,1,2,-1},{125,0,0,15,0,0,1,1,2,-1},{125,0,0,15,0,0,1,1,2,-1},{125,0,0,15,0,0,1,1,2,-1},{125,0,0,15,0,0,1,1,2,-1},{125,0,0,15,0,0,1,1,2,-1}}, - {{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1}}, - {{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{122,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{122,0,0,15,0,0,1,1,2,-1},{122,0,0,15,0,0,1,1,2,-1},{122,0,0,15,0,0,1,1,2,-1},{122,0,0,15,0,0,1,1,2,-1},{122,0,0,15,0,0,1,1,2,-1},{122,0,0,15,0,0,1,1,2,-1},{122,0,0,15,0,0,1,1,2,-1},{122,0,0,15,0,0,1,1,2,-1}}, - {{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1}}, - {{123,0,0,7,0,0,1,1,2,-1},{123,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{123,0,0,21,0,0,1,1,2,-1},{123,0,0,21,0,0,1,1,2,-1},{123,0,0,21,0,0,1,1,2,-1},{123,0,0,21,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{123,0,0,15,0,0,1,1,2,-1},{123,0,0,15,0,0,1,1,2,-1},{123,0,0,15,0,0,1,1,2,-1},{123,0,0,15,0,0,1,1,2,-1},{123,0,0,15,0,0,1,1,2,-1},{123,0,0,15,0,0,1,1,2,-1},{123,0,0,15,0,0,1,1,2,-1}}, - {{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1}}, - {{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{88,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1}}, - {{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{76,0,0,9,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1}}, - {{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{76,0,0,5,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{76,0,0,15,0,0,1,1,2,-1},{76,0,0,15,0,0,1,1,2,-1},{76,0,0,15,0,0,1,1,2,-1},{76,0,0,15,0,0,1,1,2,-1},{76,0,0,15,0,0,1,1,2,-1},{76,0,0,15,0,0,1,1,2,-1}}, - {{2,0,0,15,0,0,5,1,2,1},{2,0,0,15,0,0,5,1,2,2},{2,0,0,15,0,0,5,1,2,3},{2,0,0,15,0,0,5,1,2,4},{2,0,0,15,0,0,5,1,2,5},{2,0,0,15,0,0,5,1,2,6},{2,0,0,15,0,0,5,1,2,7},{2,0,0,15,0,0,5,1,2,8},{2,0,0,15,0,0,5,1,2,9},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1}}, - {{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{2,0,0,15,0,0,5,1,2,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{65,0,0,10,0,0,0,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,10,0,0,0,1,9,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1}}, - {{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1}}, - {{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,7,0,0,0,1,2,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1}}, - {{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,12,0,0,17,1,9,-1},{65,0,0,21,0,0,0,1,4,-1},{65,0,0,21,0,0,0,1,4,-1},{65,0,0,21,0,0,0,1,2,-1},{65,0,0,21,0,0,0,1,2,-1},{65,0,0,21,0,0,0,1,2,-1},{65,0,0,21,0,0,0,1,2,-1},{65,0,0,21,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{65,0,0,15,0,0,10,1,2,1},{65,0,0,15,0,0,10,1,2,2},{65,0,0,15,0,0,10,1,2,3},{65,0,0,15,0,0,10,1,2,4},{65,0,0,15,0,0,10,1,2,5},{65,0,0,15,0,0,10,1,2,6},{65,0,0,15,0,0,10,1,2,7},{65,0,0,15,0,0,10,1,2,8},{65,0,0,15,0,0,10,1,2,9},{65,0,0,15,0,0,10,1,2,-1},{65,0,0,15,0,0,10,1,2,-1},{65,0,0,15,0,0,10,1,2,-1},{65,0,0,15,0,0,10,1,2,-1},{65,0,0,15,0,0,10,1,2,-1}}, - {{65,0,0,15,0,0,10,1,2,-1},{65,0,0,15,0,0,10,1,2,-1},{65,0,0,15,0,0,10,1,2,-1},{65,0,0,15,0,0,10,1,2,-1},{65,0,0,15,0,0,10,1,2,-1},{65,0,0,15,0,0,10,1,2,-1},{65,0,0,13,0,0,0,1,19,0},{65,0,0,13,0,0,0,1,19,1},{65,0,0,13,0,0,0,1,19,2},{65,0,0,13,0,0,0,1,19,3},{65,0,0,13,0,0,0,1,19,4},{65,0,0,13,0,0,0,1,19,5},{65,0,0,13,0,0,0,1,19,6},{65,0,0,13,0,0,0,1,19,7},{65,0,0,13,0,0,0,1,19,8},{65,0,0,13,0,0,0,1,19,9}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{65,0,0,12,0,0,17,1,9,-1}}, - {{120,0,0,12,0,0,17,1,9,-1},{120,0,0,12,0,0,17,1,9,-1},{120,0,0,10,0,0,0,1,9,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1}}, - {{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1},{120,0,0,7,0,0,0,1,2,-1}}, - {{120,0,0,10,0,0,0,1,9,-1},{120,0,0,10,0,0,0,1,9,-1},{120,0,0,10,0,0,0,1,9,-1},{120,0,0,12,0,0,17,1,9,-1},{120,0,0,12,0,0,17,1,9,-1},{120,0,0,12,0,0,17,1,9,-1},{120,0,0,12,0,0,17,1,9,-1},{120,0,0,10,0,0,0,1,9,-1},{120,0,0,10,0,0,0,1,9,-1},{120,0,0,12,0,0,17,1,9,-1},{120,0,0,12,0,0,17,1,9,-1},{120,0,0,21,0,0,0,1,2,-1},{120,0,0,21,0,0,0,1,2,-1},{120,0,0,1,0,0,0,1,2,-1},{120,0,0,21,0,0,0,1,4,-1},{120,0,0,21,0,0,0,1,4,-1}}, - {{120,0,0,21,0,0,0,1,4,-1},{120,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1}}, - {{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{152,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{152,0,0,13,0,0,0,1,19,0},{152,0,0,13,0,0,0,1,19,1},{152,0,0,13,0,0,0,1,19,2},{152,0,0,13,0,0,0,1,19,3},{152,0,0,13,0,0,0,1,19,4},{152,0,0,13,0,0,0,1,19,5},{152,0,0,13,0,0,0,1,19,6},{152,0,0,13,0,0,0,1,19,7},{152,0,0,13,0,0,0,1,19,8},{152,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1}}, - {{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1}}, - {{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,7,0,0,0,1,2,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,10,0,0,0,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1}}, - {{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{118,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{118,0,0,13,0,0,0,1,19,0},{118,0,0,13,0,0,0,1,19,1},{118,0,0,13,0,0,0,1,19,2},{118,0,0,13,0,0,0,1,19,3},{118,0,0,13,0,0,0,1,19,4},{118,0,0,13,0,0,0,1,19,5},{118,0,0,13,0,0,0,1,19,6},{118,0,0,13,0,0,0,1,19,7},{118,0,0,13,0,0,0,1,19,8},{118,0,0,13,0,0,0,1,19,9}}, - {{118,0,0,21,0,0,0,1,4,-1},{118,0,0,21,0,0,0,1,4,-1},{118,0,0,21,0,0,0,1,4,-1},{118,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1}}, - {{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,7,0,0,0,1,2,-1},{160,0,0,12,0,0,17,1,9,-1},{160,0,0,21,0,0,0,1,2,-1},{160,0,0,21,0,0,0,1,5,-1},{160,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,10,0,0,0,1,9,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1}}, - {{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1}}, - {{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,10,0,0,0,1,9,-1},{151,0,0,10,0,0,0,1,9,-1},{151,0,0,10,0,0,0,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,10,0,0,0,1,9,-1}}, - {{151,0,0,10,0,0,0,1,9,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,21,0,0,0,1,4,-1},{151,0,0,21,0,0,0,1,4,-1},{151,0,0,21,0,0,0,1,2,-1},{151,0,0,21,0,0,0,1,4,-1},{151,0,0,21,0,0,0,1,2,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,12,0,0,17,1,9,-1},{151,0,0,21,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{151,0,0,13,0,0,0,1,19,0},{151,0,0,13,0,0,0,1,19,1},{151,0,0,13,0,0,0,1,19,2},{151,0,0,13,0,0,0,1,19,3},{151,0,0,13,0,0,0,1,19,4},{151,0,0,13,0,0,0,1,19,5},{151,0,0,13,0,0,0,1,19,6},{151,0,0,13,0,0,0,1,19,7},{151,0,0,13,0,0,0,1,19,8},{151,0,0,13,0,0,0,1,19,9},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,21,0,0,0,1,5,-1},{151,0,0,7,0,0,0,1,2,-1},{151,0,0,21,0,0,0,1,4,-1},{151,0,0,21,0,0,0,1,4,-1},{151,0,0,21,0,0,0,1,4,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1}}, - {{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{33,0,0,15,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1}}, - {{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1}}, - {{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,7,0,0,0,1,2,-1},{157,0,0,10,0,0,0,1,9,-1},{157,0,0,10,0,0,0,1,9,-1},{157,0,0,10,0,0,0,1,9,-1},{157,0,0,12,0,0,17,1,9,-1}}, - {{157,0,0,12,0,0,17,1,9,-1},{157,0,0,12,0,0,17,1,9,-1},{157,0,0,10,0,0,0,1,9,-1},{157,0,0,10,0,0,0,1,9,-1},{157,0,0,12,0,0,17,1,9,-1},{157,0,0,10,0,0,0,1,9,-1},{157,0,0,12,0,0,17,1,9,-1},{157,0,0,12,0,0,17,1,9,-1},{157,0,0,21,0,0,0,1,4,-1},{157,0,0,21,0,0,0,1,4,-1},{157,0,0,21,0,0,0,1,2,-1},{157,0,0,21,0,0,0,1,4,-1},{157,0,0,21,0,0,0,1,4,-1},{157,0,0,21,0,0,0,1,2,-1},{157,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{164,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{164,0,0,7,0,0,0,1,2,-1}}, - {{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{164,0,0,7,0,0,0,1,2,-1}}, - {{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,7,0,0,0,1,2,-1},{164,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1}}, - {{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,7,0,0,0,1,2,-1},{145,0,0,12,0,0,17,1,9,-1}}, - {{145,0,0,10,0,0,0,1,9,-1},{145,0,0,10,0,0,0,1,9,-1},{145,0,0,10,0,0,0,1,9,-1},{145,0,0,12,0,0,17,1,9,-1},{145,0,0,12,0,0,17,1,9,-1},{145,0,0,12,0,0,17,1,9,-1},{145,0,0,12,0,0,17,1,9,-1},{145,0,0,12,0,0,17,1,9,-1},{145,0,0,12,0,0,17,1,9,-1},{145,0,0,12,0,0,17,1,9,-1},{145,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{145,0,0,13,0,0,0,1,19,0},{145,0,0,13,0,0,0,1,19,1},{145,0,0,13,0,0,0,1,19,2},{145,0,0,13,0,0,0,1,19,3},{145,0,0,13,0,0,0,1,19,4},{145,0,0,13,0,0,0,1,19,5},{145,0,0,13,0,0,0,1,19,6},{145,0,0,13,0,0,0,1,19,7},{145,0,0,13,0,0,0,1,19,8},{145,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,7,0,0,0,1,2,-1}}, - {{137,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1}}, - {{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1}}, - {{137,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,10,0,0,0,1,9,-1},{137,0,0,10,0,0,0,1,9,-1}}, - {{137,0,0,12,0,0,17,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,10,0,0,0,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,10,0,0,0,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{137,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1}}, - {{137,0,0,7,0,0,0,1,2,-1},{137,0,0,7,0,0,0,1,2,-1},{137,0,0,10,0,0,0,1,9,-1},{137,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{137,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1}}, - {{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,10,0,0,0,1,9,-1},{170,0,0,10,0,0,0,1,9,-1},{170,0,0,10,0,0,0,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,12,0,0,17,1,9,-1}}, - {{170,0,0,10,0,0,0,1,9,-1},{170,0,0,10,0,0,0,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,10,0,0,0,1,9,-1},{170,0,0,12,0,0,17,1,9,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,7,0,0,0,1,2,-1},{170,0,0,21,0,0,0,1,4,-1},{170,0,0,21,0,0,0,1,4,-1},{170,0,0,21,0,0,0,1,4,-1},{170,0,0,21,0,0,0,1,4,-1},{170,0,0,21,0,0,0,1,2,-1}}, - {{170,0,0,13,0,0,0,1,19,0},{170,0,0,13,0,0,0,1,19,1},{170,0,0,13,0,0,0,1,19,2},{170,0,0,13,0,0,0,1,19,3},{170,0,0,13,0,0,0,1,19,4},{170,0,0,13,0,0,0,1,19,5},{170,0,0,13,0,0,0,1,19,6},{170,0,0,13,0,0,0,1,19,7},{170,0,0,13,0,0,0,1,19,8},{170,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{170,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{170,0,0,21,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1}}, - {{158,0,0,10,0,0,0,1,9,-1},{158,0,0,10,0,0,0,1,9,-1},{158,0,0,10,0,0,0,1,9,-1},{158,0,0,12,0,0,17,1,9,-1},{158,0,0,12,0,0,17,1,9,-1},{158,0,0,12,0,0,17,1,9,-1},{158,0,0,12,0,0,17,1,9,-1},{158,0,0,12,0,0,17,1,9,-1},{158,0,0,12,0,0,17,1,9,-1},{158,0,0,10,0,0,0,1,9,-1},{158,0,0,12,0,0,17,1,9,-1},{158,0,0,10,0,0,0,1,9,-1},{158,0,0,10,0,0,0,1,9,-1},{158,0,0,10,0,0,0,1,9,-1},{158,0,0,10,0,0,0,1,9,-1},{158,0,0,12,0,0,17,1,9,-1}}, - {{158,0,0,12,0,0,17,1,9,-1},{158,0,0,10,0,0,0,1,9,-1},{158,0,0,12,0,0,17,1,9,-1},{158,0,0,12,0,0,17,1,9,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{158,0,0,21,0,0,0,1,2,-1},{158,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{158,0,0,13,0,0,0,1,19,0},{158,0,0,13,0,0,0,1,19,1},{158,0,0,13,0,0,0,1,19,2},{158,0,0,13,0,0,0,1,19,3},{158,0,0,13,0,0,0,1,19,4},{158,0,0,13,0,0,0,1,19,5},{158,0,0,13,0,0,0,1,19,6},{158,0,0,13,0,0,0,1,19,7},{158,0,0,13,0,0,0,1,19,8},{158,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1}}, - {{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,10,0,0,0,0,9,-1}}, - {{166,0,0,10,0,0,0,0,9,-1},{166,0,0,10,0,0,0,0,9,-1},{166,0,0,12,0,0,17,0,9,-1},{166,0,0,12,0,0,17,0,9,-1},{166,0,0,12,0,0,17,0,9,-1},{166,0,0,12,0,0,17,0,9,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{166,0,0,10,0,0,0,0,9,-1},{166,0,0,10,0,0,0,0,9,-1},{166,0,0,10,0,0,0,0,9,-1},{166,0,0,10,0,0,0,0,9,-1},{166,0,0,12,0,0,17,0,9,-1},{166,0,0,12,0,0,17,0,9,-1},{166,0,0,10,0,0,0,0,9,-1},{166,0,0,12,0,0,17,0,9,-1}}, - {{166,0,0,12,0,0,17,0,9,-1},{166,0,0,21,0,0,0,0,5,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,11,-1},{166,0,0,21,0,0,0,0,11,-1},{166,0,0,21,0,0,0,0,2,-1},{166,0,0,21,0,0,0,0,2,-1},{166,0,0,21,0,0,0,0,2,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1}}, - {{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,21,0,0,0,0,4,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,7,0,0,0,0,2,-1},{166,0,0,12,0,0,17,0,9,-1},{166,0,0,12,0,0,17,0,9,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1}}, - {{163,0,0,10,0,0,0,1,9,-1},{163,0,0,10,0,0,0,1,9,-1},{163,0,0,10,0,0,0,1,9,-1},{163,0,0,12,0,0,17,1,9,-1},{163,0,0,12,0,0,17,1,9,-1},{163,0,0,12,0,0,17,1,9,-1},{163,0,0,12,0,0,17,1,9,-1},{163,0,0,12,0,0,17,1,9,-1},{163,0,0,12,0,0,17,1,9,-1},{163,0,0,12,0,0,17,1,9,-1},{163,0,0,12,0,0,17,1,9,-1},{163,0,0,10,0,0,0,1,9,-1},{163,0,0,10,0,0,0,1,9,-1},{163,0,0,12,0,0,17,1,9,-1},{163,0,0,10,0,0,0,1,9,-1},{163,0,0,12,0,0,17,1,9,-1}}, - {{163,0,0,12,0,0,17,1,9,-1},{163,0,0,21,0,0,0,1,4,-1},{163,0,0,21,0,0,0,1,4,-1},{163,0,0,21,0,0,0,1,2,-1},{163,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{163,0,0,13,0,0,0,1,19,0},{163,0,0,13,0,0,0,1,19,1},{163,0,0,13,0,0,0,1,19,2},{163,0,0,13,0,0,0,1,19,3},{163,0,0,13,0,0,0,1,19,4},{163,0,0,13,0,0,0,1,19,5},{163,0,0,13,0,0,0,1,19,6},{163,0,0,13,0,0,0,1,19,7},{163,0,0,13,0,0,0,1,19,8},{163,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{27,0,0,21,0,0,10,1,5,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1}}, - {{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,7,0,0,0,1,2,-1},{153,0,0,12,0,0,17,1,9,-1},{153,0,0,10,0,0,0,1,9,-1},{153,0,0,12,0,0,17,1,9,-1},{153,0,0,10,0,0,0,1,9,-1},{153,0,0,10,0,0,0,1,9,-1}}, - {{153,0,0,12,0,0,17,1,9,-1},{153,0,0,12,0,0,17,1,9,-1},{153,0,0,12,0,0,17,1,9,-1},{153,0,0,12,0,0,17,1,9,-1},{153,0,0,12,0,0,17,1,9,-1},{153,0,0,12,0,0,17,1,9,-1},{153,0,0,10,0,0,0,1,9,-1},{153,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{153,0,0,13,0,0,0,1,19,0},{153,0,0,13,0,0,0,1,19,1},{153,0,0,13,0,0,0,1,19,2},{153,0,0,13,0,0,0,1,19,3},{153,0,0,13,0,0,0,1,19,4},{153,0,0,13,0,0,0,1,19,5},{153,0,0,13,0,0,0,1,19,6},{153,0,0,13,0,0,0,1,19,7},{153,0,0,13,0,0,0,1,19,8},{153,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1}}, - {{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{161,0,0,7,0,0,0,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,12,0,0,17,1,24,-1}}, - {{161,0,0,10,0,0,0,1,24,-1},{161,0,0,10,0,0,0,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,10,0,0,0,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{161,0,0,12,0,0,17,1,24,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{161,0,0,13,0,0,0,1,19,0},{161,0,0,13,0,0,0,1,19,1},{161,0,0,13,0,0,0,1,19,2},{161,0,0,13,0,0,0,1,19,3},{161,0,0,13,0,0,0,1,19,4},{161,0,0,13,0,0,0,1,19,5},{161,0,0,13,0,0,0,1,19,6},{161,0,0,13,0,0,0,1,19,7},{161,0,0,13,0,0,0,1,19,8},{161,0,0,13,0,0,0,1,19,9},{161,0,0,15,0,0,0,1,24,-1},{161,0,0,15,0,0,0,1,24,-1},{161,0,0,21,0,0,0,1,4,-1},{161,0,0,21,0,0,0,1,4,-1},{161,0,0,21,0,0,0,1,4,-1},{161,0,0,26,0,0,0,1,24,-1}}, - {{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1},{146,0,0,9,0,0,0,1,2,-1}}, - {{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1},{146,0,0,5,0,0,0,1,2,-1}}, - {{146,0,0,13,0,0,0,1,19,0},{146,0,0,13,0,0,0,1,19,1},{146,0,0,13,0,0,0,1,19,2},{146,0,0,13,0,0,0,1,19,3},{146,0,0,13,0,0,0,1,19,4},{146,0,0,13,0,0,0,1,19,5},{146,0,0,13,0,0,0,1,19,6},{146,0,0,13,0,0,0,1,19,7},{146,0,0,13,0,0,0,1,19,8},{146,0,0,13,0,0,0,1,19,9},{146,0,0,15,0,0,0,1,2,-1},{146,0,0,15,0,0,0,1,2,-1},{146,0,0,15,0,0,0,1,2,-1},{146,0,0,15,0,0,0,1,2,-1},{146,0,0,15,0,0,0,1,2,-1},{146,0,0,15,0,0,0,1,2,-1}}, - {{146,0,0,15,0,0,0,1,2,-1},{146,0,0,15,0,0,0,1,2,-1},{146,0,0,15,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{146,0,0,7,0,0,0,1,2,-1}}, - {{103,0,0,7,0,0,0,1,2,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,10,0,0,0,1,9,-1},{103,0,0,10,0,0,0,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1}}, - {{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1}}, - {{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,10,0,0,0,1,9,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,21,0,0,0,1,5,-1}}, - {{103,0,0,21,0,0,0,1,2,-1},{103,0,0,21,0,0,0,1,4,-1},{103,0,0,21,0,0,0,1,4,-1},{103,0,0,21,0,0,0,1,4,-1},{103,0,0,21,0,0,0,1,4,-1},{103,0,0,21,0,0,0,1,5,-1},{103,0,0,21,0,0,0,1,2,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,7,0,0,0,1,2,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,10,0,0,0,1,9,-1},{103,0,0,10,0,0,0,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1}}, - {{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1}}, - {{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,10,0,0,0,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,21,0,0,0,1,4,-1},{103,0,0,21,0,0,0,1,4,-1},{103,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,21,0,0,0,1,5,-1},{103,0,0,21,0,0,0,1,5,-1}}, - {{103,0,0,21,0,0,0,1,5,-1},{103,0,0,21,0,0,0,1,4,-1},{103,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1}}, - {{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{165,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1}}, - {{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1}}, - {{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,7,0,0,0,1,2,-1},{168,0,0,10,0,0,0,1,9,-1}}, - {{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,12,0,0,17,1,9,-1},{168,0,0,10,0,0,0,1,9,-1},{168,0,0,12,0,0,0,1,9,-1}}, - {{168,0,0,7,0,0,0,1,2,-1},{168,0,0,21,0,0,0,1,4,-1},{168,0,0,21,0,0,0,1,4,-1},{168,0,0,21,0,0,0,1,4,-1},{168,0,0,21,0,0,0,1,4,-1},{168,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{168,0,0,13,0,0,0,1,19,0},{168,0,0,13,0,0,0,1,19,1},{168,0,0,13,0,0,0,1,19,2},{168,0,0,13,0,0,0,1,19,3},{168,0,0,13,0,0,0,1,19,4},{168,0,0,13,0,0,0,1,19,5},{168,0,0,13,0,0,0,1,19,6},{168,0,0,13,0,0,0,1,19,7},{168,0,0,13,0,0,0,1,19,8},{168,0,0,13,0,0,0,1,19,9},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1}}, - {{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{168,0,0,15,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{169,0,0,21,0,0,0,1,5,-1},{169,0,0,21,0,0,0,1,11,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1}}, - {{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1},{169,0,0,7,0,0,0,1,2,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1}}, - {{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{169,0,0,10,0,0,0,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1}}, - {{169,0,0,12,0,0,17,1,9,-1},{169,0,0,10,0,0,0,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,10,0,0,0,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{169,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,7,0,0,0,1,2,-1}}, - {{103,0,0,7,0,0,0,1,2,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,12,0,0,17,1,9,-1}}, - {{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,7,0,0,0,1,2,-1},{103,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,13,0,0,0,1,19,0},{103,0,0,13,0,0,0,1,19,1},{103,0,0,13,0,0,0,1,19,2},{103,0,0,13,0,0,0,1,19,3},{103,0,0,13,0,0,0,1,19,4},{103,0,0,13,0,0,0,1,19,5},{103,0,0,13,0,0,0,1,19,6},{103,0,0,13,0,0,0,1,19,7},{103,0,0,13,0,0,0,1,19,8},{103,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1}}, - {{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1}}, - {{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{101,0,0,14,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{101,0,0,21,0,0,0,1,4,-1},{101,0,0,21,0,0,0,1,4,-1},{101,0,0,21,0,0,0,1,4,-1},{101,0,0,21,0,0,0,1,4,-1},{101,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{101,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1}}, - {{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,20,-1},{71,0,0,7,0,0,0,0,20,-1},{71,0,0,7,0,0,0,0,20,-1},{71,0,0,7,0,0,0,0,8,-1},{71,0,0,7,0,0,0,0,8,-1},{71,0,0,7,0,0,0,0,8,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1}}, - {{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,8,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,20,-1},{71,0,0,7,0,0,0,0,8,-1},{71,0,0,7,0,0,0,0,20,-1},{71,0,0,7,0,0,0,0,8,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1}}, - {{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,20,-1},{71,0,0,7,0,0,0,0,8,-1},{71,0,0,7,0,0,0,0,8,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1}}, - {{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{71,0,0,7,0,0,0,0,2,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1}}, - {{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,20,-1},{156,0,0,7,0,0,0,0,8,-1}}, - {{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{156,0,0,7,0,0,0,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{130,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1}}, - {{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{149,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{149,0,0,13,0,0,0,1,19,0},{149,0,0,13,0,0,0,1,19,1},{149,0,0,13,0,0,0,1,19,2},{149,0,0,13,0,0,0,1,19,3},{149,0,0,13,0,0,0,1,19,4},{149,0,0,13,0,0,0,1,19,5},{149,0,0,13,0,0,0,1,19,6},{149,0,0,13,0,0,0,1,19,7},{149,0,0,13,0,0,0,1,19,8},{149,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{149,0,0,21,0,0,0,1,4,-1},{149,0,0,21,0,0,0,1,4,-1}}, - {{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1}}, - {{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{134,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{134,0,0,12,0,0,17,1,9,-1},{134,0,0,12,0,0,17,1,9,-1},{134,0,0,12,0,0,17,1,9,-1},{134,0,0,12,0,0,17,1,9,-1},{134,0,0,12,0,0,17,1,9,-1},{134,0,0,21,0,0,0,1,4,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1}}, - {{75,0,0,12,0,0,17,1,9,-1},{75,0,0,12,0,0,17,1,9,-1},{75,0,0,12,0,0,17,1,9,-1},{75,0,0,12,0,0,17,1,9,-1},{75,0,0,12,0,0,17,1,9,-1},{75,0,0,12,0,0,17,1,9,-1},{75,0,0,12,0,0,17,1,9,-1},{75,0,0,21,0,0,0,1,4,-1},{75,0,0,21,0,0,0,1,4,-1},{75,0,0,21,0,0,0,1,4,-1},{75,0,0,21,0,0,0,1,2,-1},{75,0,0,21,0,0,0,1,2,-1},{75,0,0,26,0,0,0,1,2,-1},{75,0,0,26,0,0,0,1,2,-1},{75,0,0,26,0,0,0,1,2,-1},{75,0,0,26,0,0,0,1,2,-1}}, - {{75,0,0,6,0,0,0,1,2,-1},{75,0,0,6,0,0,0,1,2,-1},{75,0,0,6,0,0,0,1,2,-1},{75,0,0,6,0,0,0,1,2,-1},{75,0,0,21,0,0,0,1,4,-1},{75,0,0,26,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{75,0,0,13,0,0,0,1,19,0},{75,0,0,13,0,0,0,1,19,1},{75,0,0,13,0,0,0,1,19,2},{75,0,0,13,0,0,0,1,19,3},{75,0,0,13,0,0,0,1,19,4},{75,0,0,13,0,0,0,1,19,5},{75,0,0,13,0,0,0,1,19,6},{75,0,0,13,0,0,0,1,19,7},{75,0,0,13,0,0,0,1,19,8},{75,0,0,13,0,0,0,1,19,9},{103,0,0,2,0,0,0,1,0,-1},{75,0,0,15,0,0,0,1,2,-1},{75,0,0,15,0,0,0,1,2,-1},{75,0,0,15,0,0,0,1,2,-1},{75,0,0,15,0,0,0,1,2,-1},{75,0,0,15,0,0,0,1,2,-1}}, - {{75,0,0,15,0,0,0,1,2,-1},{75,0,0,15,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1}}, - {{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1},{75,0,0,7,0,0,0,1,2,-1}}, - {{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1}}, - {{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{92,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{92,0,0,7,0,0,0,1,2,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1}}, - {{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1}}, - {{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{92,0,0,10,0,0,0,1,9,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{92,0,0,12,0,0,17,1,9,-1}}, - {{92,0,0,12,0,0,17,1,9,-1},{92,0,0,12,0,0,17,1,9,-1},{92,0,0,12,0,0,17,1,9,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1},{92,0,0,6,0,0,0,1,2,-1}}, - {{154,0,1,6,0,0,0,0,18,-1},{150,0,1,6,0,0,0,0,18,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1}}, - {{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{154,0,1,7,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{22,0,1,7,0,0,0,0,14,-1},{20,0,1,7,0,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1},{20,0,1,7,1,0,0,0,14,-1}}, - {{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1}}, - {{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{20,0,1,7,1,0,0,1,14,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1}}, - {{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{150,0,1,7,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1}}, - {{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{135,0,0,7,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{135,0,0,26,0,0,0,1,2,-1},{135,0,0,12,0,0,17,1,9,-1},{135,0,0,12,0,0,17,1,9,-1},{135,0,0,21,0,0,0,1,4,-1}}, - {{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1}}, - {{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1}}, - {{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,10,0,0,0,0,9,-1},{0,0,0,10,0,0,0,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,10,0,0,0,0,9,-1},{0,0,0,10,0,0,0,0,9,-1},{0,0,0,10,0,0,0,0,9,-1}}, - {{0,0,0,10,0,0,0,0,9,-1},{0,0,0,10,0,0,0,0,9,-1},{0,0,0,10,0,0,0,0,9,-1},{0,0,0,1,0,1,18,0,9,-1},{0,0,0,1,0,1,18,0,9,-1},{0,0,0,1,0,1,18,0,9,-1},{0,0,0,1,0,1,18,0,9,-1},{0,0,0,1,0,1,18,0,9,-1},{0,0,0,1,0,1,18,0,9,-1},{0,0,0,1,0,1,18,0,9,-1},{0,0,0,1,0,1,18,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1}}, - {{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1}}, - {{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{1,0,0,12,0,0,17,0,9,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1}}, - {{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{0,0,0,26,0,0,0,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1}}, - {{14,0,0,26,0,0,10,1,2,-1},{14,0,0,26,0,0,10,1,2,-1},{14,0,0,12,0,0,17,1,9,-1},{14,0,0,12,0,0,17,1,9,-1},{14,0,0,12,0,0,17,1,9,-1},{14,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1}}, - {{0,0,0,15,0,0,0,0,2,-1},{0,0,0,15,0,0,0,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,25,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,25,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,25,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,25,0,0,10,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,25,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,25,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1}}, - {{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,25,0,0,10,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{0,0,0,9,0,0,0,1,2,-1},{0,0,0,5,0,0,0,1,2,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{0,0,0,13,0,0,2,1,19,0},{0,0,0,13,0,0,2,1,19,1}}, - {{0,0,0,13,0,0,2,1,19,2},{0,0,0,13,0,0,2,1,19,3},{0,0,0,13,0,0,2,1,19,4},{0,0,0,13,0,0,2,1,19,5},{0,0,0,13,0,0,2,1,19,6},{0,0,0,13,0,0,2,1,19,7},{0,0,0,13,0,0,2,1,19,8},{0,0,0,13,0,0,2,1,19,9},{0,0,0,13,0,0,2,1,19,0},{0,0,0,13,0,0,2,1,19,1},{0,0,0,13,0,0,2,1,19,2},{0,0,0,13,0,0,2,1,19,3},{0,0,0,13,0,0,2,1,19,4},{0,0,0,13,0,0,2,1,19,5},{0,0,0,13,0,0,2,1,19,6},{0,0,0,13,0,0,2,1,19,7}}, - {{0,0,0,13,0,0,2,1,19,8},{0,0,0,13,0,0,2,1,19,9},{0,0,0,13,0,0,2,1,19,0},{0,0,0,13,0,0,2,1,19,1},{0,0,0,13,0,0,2,1,19,2},{0,0,0,13,0,0,2,1,19,3},{0,0,0,13,0,0,2,1,19,4},{0,0,0,13,0,0,2,1,19,5},{0,0,0,13,0,0,2,1,19,6},{0,0,0,13,0,0,2,1,19,7},{0,0,0,13,0,0,2,1,19,8},{0,0,0,13,0,0,2,1,19,9},{0,0,0,13,0,0,2,1,19,0},{0,0,0,13,0,0,2,1,19,1},{0,0,0,13,0,0,2,1,19,2},{0,0,0,13,0,0,2,1,19,3}}, - {{0,0,0,13,0,0,2,1,19,4},{0,0,0,13,0,0,2,1,19,5},{0,0,0,13,0,0,2,1,19,6},{0,0,0,13,0,0,2,1,19,7},{0,0,0,13,0,0,2,1,19,8},{0,0,0,13,0,0,2,1,19,9},{0,0,0,13,0,0,2,1,19,0},{0,0,0,13,0,0,2,1,19,1},{0,0,0,13,0,0,2,1,19,2},{0,0,0,13,0,0,2,1,19,3},{0,0,0,13,0,0,2,1,19,4},{0,0,0,13,0,0,2,1,19,5},{0,0,0,13,0,0,2,1,19,6},{0,0,0,13,0,0,2,1,19,7},{0,0,0,13,0,0,2,1,19,8},{0,0,0,13,0,0,2,1,19,9}}, - {{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1}}, - {{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1}}, - {{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1}}, - {{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1}}, - {{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1}}, - {{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,26,0,0,0,0,2,-1},{112,0,0,21,0,0,0,0,4,-1},{112,0,0,21,0,0,0,0,4,-1},{112,0,0,21,0,0,0,0,4,-1},{112,0,0,21,0,0,0,0,4,-1},{112,0,0,21,0,0,0,0,2,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1}}, - {{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{103,0,0,2,0,0,0,0,0,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1}}, - {{103,0,0,2,0,0,0,0,0,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1},{112,0,0,12,0,0,17,0,9,-1}}, - {{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1}}, - {{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1}}, - {{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{56,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1}}, - {{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{140,0,0,7,0,0,1,1,2,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{140,0,0,15,0,0,1,1,2,-1},{140,0,0,15,0,0,1,1,2,-1},{140,0,0,15,0,0,1,1,2,-1},{140,0,0,15,0,0,1,1,2,-1},{140,0,0,15,0,0,1,1,2,-1},{140,0,0,15,0,0,1,1,2,-1},{140,0,0,15,0,0,1,1,2,-1},{140,0,0,15,0,0,1,1,2,-1},{140,0,0,15,0,0,1,1,2,-1}}, - {{140,0,0,12,0,0,17,1,9,-1},{140,0,0,12,0,0,17,1,9,-1},{140,0,0,12,0,0,17,1,9,-1},{140,0,0,12,0,0,17,1,9,-1},{140,0,0,12,0,0,17,1,9,-1},{140,0,0,12,0,0,17,1,9,-1},{140,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1}}, - {{167,0,0,9,0,0,1,1,2,-1},{167,0,0,9,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1}}, - {{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1}}, - {{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,5,0,0,1,1,2,-1},{167,0,0,12,0,0,17,1,9,-1},{167,0,0,12,0,0,17,1,9,-1},{167,0,0,12,0,0,17,1,9,-1},{167,0,0,12,0,0,17,1,9,-1},{167,0,0,12,0,0,17,1,9,-1},{167,0,0,12,0,0,17,1,9,-1},{167,0,0,12,0,0,17,1,9,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1}}, - {{167,0,0,13,0,0,1,1,19,0},{167,0,0,13,0,0,1,1,19,1},{167,0,0,13,0,0,1,1,19,2},{167,0,0,13,0,0,1,1,19,3},{167,0,0,13,0,0,1,1,19,4},{167,0,0,13,0,0,1,1,19,5},{167,0,0,13,0,0,1,1,19,6},{167,0,0,13,0,0,1,1,19,7},{167,0,0,13,0,0,1,1,19,8},{167,0,0,13,0,0,1,1,19,9},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{103,0,0,2,0,0,1,1,0,-1},{167,0,0,21,0,0,1,1,20,-1},{167,0,0,21,0,0,1,1,20,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1},{2,0,0,7,0,0,13,1,2,-1}}, - {{2,0,0,25,0,0,10,1,2,-1},{2,0,0,25,0,0,10,1,2,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1},{103,0,0,2,0,0,13,1,0,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{103,0,0,2,0,0,0,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{103,0,0,2,0,0,0,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,15,0,0,2,0,1,0},{0,0,0,15,0,0,2,0,1,0},{0,0,0,15,0,0,2,0,1,1},{0,0,0,15,0,0,2,0,1,2},{0,0,0,15,0,0,2,0,1,3},{0,0,0,15,0,0,2,0,1,4},{0,0,0,15,0,0,2,0,1,5},{0,0,0,15,0,0,2,0,1,6},{0,0,0,15,0,0,2,0,1,7},{0,0,0,15,0,0,2,0,1,8},{0,0,0,15,0,0,2,0,1,9},{0,0,0,15,0,0,10,0,1,-1},{0,0,0,15,0,0,10,0,1,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,2,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1}}, - {{0,0,0,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,1,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1}}, - {{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{0,0,0,26,0,0,0,0,1,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1}}, - {{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1},{0,0,0,26,0,0,0,0,39,-1}}, - {{20,0,1,26,0,0,0,2,14,-1},{0,0,1,26,0,0,0,2,14,-1},{0,0,1,26,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,0,0,14,-1},{0,0,1,26,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,24,0,0,10,0,41,-1},{0,0,1,24,0,0,10,0,41,-1},{0,0,1,24,0,0,10,0,41,-1},{0,0,1,24,0,0,10,0,41,-1},{0,0,1,24,0,0,10,0,41,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1}}, - {{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1}}, - {{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,1,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,23,-1},{0,0,0,26,0,0,10,0,23,-1},{0,0,0,26,0,0,10,0,23,-1},{0,0,0,26,0,0,10,0,18,-1},{0,0,0,26,0,0,10,0,18,-1},{0,0,0,26,0,0,10,0,18,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,0,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1}}, - {{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{0,0,0,26,0,0,10,1,2,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1}}, - {{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1}}, - {{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{0,0,0,26,0,0,10,0,2,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,40,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1}}, - {{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{0,0,1,26,0,0,10,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,0,14,-1}}, - {{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,14,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{17,0,1,7,1,0,0,0,14,-1},{17,0,1,7,1,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{17,0,1,7,1,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1}}, - {{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,1,2,0,0,0,0,14,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}}, - {{103,0,0,2,0,1,0,1,0,-1},{0,0,0,1,0,1,18,1,9,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1}}, - {{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1},{103,0,0,2,0,1,0,1,0,-1}}, - {{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1},{0,0,0,1,0,1,18,1,9,-1}}, - {{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,3,0,0,0,0,0,-1},{103,0,0,2,0,0,0,1,0,-1},{103,0,0,2,0,0,0,1,0,-1}} -}; -#endif - - #define kFullWidthMaxPlane 0 #define kFullWidthIndexBits 10 #define kFullWidthCharBits 6 @@ -1694,9 +175,6 @@ static const uint16_t sFullWidthValues[9][64] = { {0x30bf,0x30c1,0x30c4,0x30c6,0x30c8,0x30ca,0x30cb,0x30cc,0x30cd,0x30ce,0x30cf,0x30d2,0x30d5,0x30d8,0x30db,0x30de,0x30df,0x30e0,0x30e1,0x30e2,0x30e4,0x30e6,0x30e8,0x30e9,0x30ea,0x30eb,0x30ec,0x30ed,0x30ef,0x30f3,0x3099,0x309a,0x3164,0x3131,0x3132,0x3133,0x3134,0x3135,0x3136,0x3137,0x3138,0x3139,0x313a,0x313b,0x313c,0x313d,0x313e,0x313f,0x3140,0x3141,0x3142,0x3143,0x3144,0x3145,0x3146,0x3147,0x3148,0x3149,0x314a,0x314b,0x314c,0x314d,0x314e,0x0000}, {0x0000,0x0000,0x314f,0x3150,0x3151,0x3152,0x3153,0x3154,0x0000,0x0000,0x3155,0x3156,0x3157,0x3158,0x3159,0x315a,0x0000,0x0000,0x315b,0x315c,0x315d,0x315e,0x315f,0x3160,0x0000,0x0000,0x3161,0x3162,0x3163,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x2502,0x2190,0x2191,0x2192,0x2193,0x25a0,0x25cb,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000} }; - - - #define kFullWidthInverseMaxPlane 0 #define kFullWidthInverseIndexBits 10 #define kFullWidthInverseCharBits 6 @@ -1719,117 +197,6 @@ static const uint16_t sFullWidthInverseValues[13][64] = { {0x0060,0x0061,0x0062,0x0063,0x0064,0x0065,0x0066,0x0067,0x0068,0x0069,0x006a,0x006b,0x006c,0x006d,0x006e,0x006f,0x0070,0x0071,0x0072,0x0073,0x0074,0x0075,0x0076,0x0077,0x0078,0x0079,0x007a,0x007b,0x007c,0x007d,0x007e,0x2985,0x2986,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000}, {0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x00a2,0x00a3,0x00ac,0x00af,0x00a6,0x00a5,0x20a9,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000} }; - - -#if !ENABLE_INTL_API -#define kCaseMapMaxPlane 1 -#define kCaseMapIndexBits 11 -#define kCaseMapCharBits 5 -static const uint8_t sCaseMapPlanes[1] = {1}; - -static const uint8_t sCaseMapPages[2][2048] = { - {0,0,1,2,0,3,4,5,6,7,8,9,10,11,12,13,6,14,15,16,17,0,0,0,0,0,18,19,20,21,22,23,24,25,26,6,27,6,28,6,6,29,30,31,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,36,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,0,39,0,0,0,0,6,6,6,6,40,6,6,6,41,42,43,44,42,45,46,47,0,0,0,0,0,0,0,0,0,48,49,50,51,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,52,53,54,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,55,56,57,58,6,6,6,59,60,61,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,62,63,0,0,0,0,64,6,65,66,67,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,69,70,71,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,73,0,0,0,0,0}, - {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,74,75,76,0,0,77,78,79,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,81,82,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,85,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,87,88,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0} -}; - -static const uint32_t sCaseMapValues[89][32] = { - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x10000329,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x00000000,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x00000000}, - {0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x00000000,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000187}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000159,0x10000178,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x40000003,0x10000003,0x40000007,0x10000007,0x40000003,0x10000003,0x4000007f}, - {0x1000007f,0x40000003,0x10000003,0x40000007,0x10000007,0x40000003,0x10000003,0x4000000f,0x1000000f,0x00000000,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000187,0x40000003,0x10000003,0x40000007,0x10000007,0x40000003,0x10000003,0x1000012c}, - {0x100003c3,0x400003d2,0x40000001,0x10000001,0x40000001,0x10000001,0x400003d2,0x4000000f,0x1000000f,0x400003df,0x400003dd,0x40000007,0x10000007,0x00000000,0x40000053,0x400003d6,0x400003cb,0x40000003,0x10000003,0x400003f3,0x400003f7,0x10000063,0x400003ff,0x400003ff,0x40000001,0x10000001,0x100003a7,0x00000000,0x400003f3,0x400003ef,0x100003be,0x400003ea}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000326,0x4000000f,0x1000000f,0x4000032a,0x00000000,0x00000000,0x40000001,0x10000001,0x40000326,0x4000001f,0x1000001f,0x4000033b,0x40000339,0x40000007,0x10000007,0x40000003,0x10000003,0x40000325,0x40000001,0x10000001,0x00000000,0x00000000,0x40000001,0x10000001,0x00000000,0x10000048}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x40000002,0x80000001,0x20000003,0x4000000e,0x8000000f,0x20000001,0x40000006,0x80000001,0x20000007,0x40000003,0x10000003,0x4000001f,0x1000001f,0x40000003,0x10000003,0x40000007,0x10000007,0x40000003,0x10000003,0x4000000f,0x1000000f,0x40000003,0x10000003,0x40000007,0x10000007,0x10000053,0x40000001,0x10000001}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x40000002,0x80000003,0x20000001,0x40000001,0x10000001,0x40000063,0x40000048,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001}, - {0x400003be,0x00000000,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40002e5f,0x40000007,0x10000007,0x400003a7,0x40002e58,0x10002e41}, - {0x10002e3f,0x40000003,0x10000003,0x400003c3,0x400000cd,0x400000c9,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x10002e3f,0x10002e3c,0x10002e22,0x100003d2,0x100003d2,0x00000000,0x100003df,0x100003dd,0x00000000,0x100003d6,0x00000000,0x100003cb,0x1000a5f7,0x00000000,0x00000000,0x00000000}, - {0x100003f3,0x1000a5cd,0x00000000,0x100003f7,0x00000000,0x1000a5e8,0x1000a5cc,0x00000000,0x100003ff,0x100003ff,0x1000a5c4,0x10002e09,0x1000a5c1,0x00000000,0x00000000,0x100003f3,0x00000000,0x10002e1f,0x100003ef,0x00000000,0x00000000,0x100003ea,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x10002e19,0x00000000,0x00000000}, - {0x10000326,0x00000000,0x00000000,0x1000032a,0x00000000,0x00000000,0x00000000,0x1000a536,0x10000326,0x100000cd,0x1000033b,0x10000339,0x100000c9,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x10000325,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x1000a52f,0x1000a52e,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x100000dc,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x10000086,0x10000082,0x10000082,0x00000000,0x4000008c}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x4000002a,0x00000000,0x40000025,0x40000027,0x40000025,0x00000000,0x40000040,0x00000000,0x40000043,0x40000041,0x00000000,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020}, - {0x40000060,0x40000060,0x00000000,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x1000002a,0x10000025,0x10000027,0x10000025,0x00000000,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020}, - {0x10000060,0x10000060,0x10000061,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000040,0x10000043,0x10000041,0x40000018,0x10000042,0x10000049,0x00000000,0x00000000,0x00000000,0x10000073,0x10000076,0x10000018,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x1000006a,0x10000050,0x1000000b,0x1000008c,0x4000004c,0x10000060,0x00000000,0x4000000f,0x1000000f,0x4000000b,0x40000001,0x10000001,0x00000000,0x40000086,0x40000082,0x40000082}, - {0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020,0x40000020}, - {0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020,0x10000020}, - {0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050}, - {0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001}, - {0x4000000f,0x40000003,0x10000003,0x40000007,0x10000007,0x40000003,0x10000003,0x4000000f,0x1000000f,0x40000003,0x10000003,0x40000007,0x10000007,0x40000003,0x10000003,0x1000000f,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050}, - {0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x400000d0,0x400000d0,0x400000d0,0x400000d0,0x400000d0,0x400000d0,0x400000d0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030}, - {0x100000d0,0x100000d0,0x100000d0,0x100000d0,0x100000d0,0x100000d0,0x100000d0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0,0x40003da0}, - {0x40003de0,0x40003de0,0x40003de0,0x40003de0,0x40003de0,0x40003de0,0x00000000,0x40003de0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40003de0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b8d0,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830,0x4000b830}, - {0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870,0x4000b870}, - {0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x4000b850,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x00000000,0x00000000,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x00000000,0x00000000}, - {0x10001892,0x10001895,0x1000189c,0x100018a2,0x100018a6,0x100018a7,0x100018ac,0x100018e5,0x1000bac2,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x1000ba04,0x00000000,0x00000000,0x00000000,0x1000311e,0x00000000,0x00000000}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x100000fb,0x00000000,0x00000000,0x40001e41,0x00000000}, - {0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x00000000,0x00000000,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x00000000,0x00000000}, - {0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008}, - {0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x00000000,0x00000000,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x00000000,0x00000000,0x00000000,0x10000008,0x00000000,0x10000008,0x00000000,0x10000008,0x00000000,0x10000008,0x00000000,0x40000008,0x00000000,0x40000008,0x00000000,0x40000008,0x00000000,0x40000008}, - {0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x100000ca,0x100000ca,0x100000ba,0x100000ba,0x100000be,0x100000be,0x100000ac,0x100000ac,0x10000080,0x10000080,0x10000090,0x10000090,0x10000086,0x10000086,0x00000000,0x00000000}, - {0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x10000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x40000008,0x10000008,0x10000008,0x00000000,0x1000000f,0x00000000,0x00000000,0x00000000,0x00000000,0x40000008,0x40000008,0x400000ca,0x400000ca,0x4000000f,0x00000000,0x10001c27,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x1000000f,0x00000000,0x00000000,0x00000000,0x00000000,0x400000ba,0x400000ba,0x400000be,0x400000be,0x4000000f,0x00000000,0x00000000,0x00000000,0x10000008,0x10000008,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40000008,0x40000008,0x400000ac,0x400000ac,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x10000008,0x10000008,0x00000000,0x00000000,0x00000000,0x10000009,0x00000000,0x00000000,0x40000008,0x40000008,0x40000090,0x40000090,0x40000009,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x1000000f,0x00000000,0x00000000,0x00000000,0x00000000,0x40000080,0x40000080,0x40000086,0x40000086,0x4000000f,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x400022ef,0x00000000,0x00000000,0x00000000,0x40002141,0x400021ce,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x4000007c,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x1000007c,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x40000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010,0x10000010}, - {0x00000000,0x00000000,0x00000000,0x40000007,0x10000007,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40000066,0x40000066,0x4000006a,0x4000006a,0x4000006e,0x4000006e,0x4000006a,0x4000006a,0x40000066,0x40000066}, - {0x4000001a,0x4000001a,0x4000001e,0x4000001e,0x4000001a,0x4000001a,0x40000026,0x40000026,0x4000002a,0x4000002a,0x4000002e,0x4000002e,0x4000002a,0x4000002a,0x40000026,0x40000026,0x10000066,0x10000066,0x1000006a,0x1000006a,0x1000006e,0x1000006e,0x1000006a,0x1000006a,0x10000066,0x10000066,0x1000001a,0x1000001a,0x1000001e,0x1000001e,0x1000001a,0x1000001a}, - {0x10000026,0x10000026,0x1000002a,0x1000002a,0x1000002e,0x1000002e,0x1000002a,0x1000002a,0x10000026,0x10000026,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000030,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050,0x40000050}, - {0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x40000070,0x00000000,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030,0x10000030}, - {0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000050,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x10000070,0x00000000}, - {0x40000001,0x10000001,0x40002e09,0x4000311e,0x40002e19,0x10002e5f,0x10002e58,0x4000000f,0x1000000f,0x40000003,0x10000003,0x40000007,0x10000007,0x40002e3c,0x40002e1f,0x40002e3f,0x40002e22,0x00000000,0x40000001,0x10000001,0x00000000,0x40000003,0x10000003,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40002e41,0x40002e3f}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40000007,0x10000007,0x40000003,0x10000003,0x00000000,0x00000000,0x00000000,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0,0x10003da0}, - {0x10003de0,0x10003de0,0x10003de0,0x10003de0,0x10003de0,0x10003de0,0x00000000,0x10003de0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x10003de0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40000003,0x10000003,0x40000007,0x10000007,0x4000ba04,0x40000001,0x10000001}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x40000007,0x10000007,0x4000a5e8,0x00000000,0x00000000,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001}, - {0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x40000001,0x10000001,0x4000a5cc,0x4000a5f7,0x4000a5cd,0x4000a5c1,0x4000a5c4,0x00000000,0x4000a52e,0x4000a536,0x4000a52f,0x40000ce0,0x40000001,0x10000001,0x40000001,0x10000001,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x10000ce0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0,0x1000b8d0}, - {0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b830,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850}, - {0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b870,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850,0x1000b850}, - {0x00000000,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000038,0x40000038,0x40000038,0x40000038,0x40000038,0x40000038,0x40000038,0x40000038,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000058,0x40000058,0x40000058,0x40000058,0x40000058,0x40000058,0x40000058,0x40000058}, - {0x40000068,0x40000068,0x40000068,0x40000068,0x40000068,0x40000068,0x40000068,0x40000068,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000038,0x10000038,0x10000038,0x10000038,0x10000038,0x10000038,0x10000038,0x10000038,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028}, - {0x10000058,0x10000058,0x10000058,0x10000058,0x10000058,0x10000058,0x10000058,0x10000058,0x10000068,0x10000068,0x10000068,0x10000068,0x10000068,0x10000068,0x10000068,0x10000068,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x40000068,0x40000068,0x40000068,0x40000068,0x40000068,0x40000068,0x40000068,0x40000068,0x40000058,0x40000058,0x40000058,0x40000058,0x40000058,0x40000058,0x40000058,0x40000058}, - {0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000028,0x40000038,0x40000038,0x40000038,0x40000038,0x40000038,0x40000038,0x40000038,0x40000038,0x40000028,0x40000028,0x40000028,0x40000028,0x00000000,0x00000000,0x00000000,0x00000000,0x10000068,0x10000068,0x10000068,0x10000068,0x10000068,0x10000068,0x10000068,0x10000068}, - {0x10000058,0x10000058,0x10000058,0x10000058,0x10000058,0x10000058,0x10000058,0x10000058,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000028,0x10000038,0x10000038,0x10000038,0x10000038,0x10000038,0x10000038,0x10000038,0x10000038,0x10000028,0x10000028,0x10000028,0x10000028,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040}, - {0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x40000040,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040}, - {0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x10000040,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}, - {0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060,0x40000060}, - {0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060,0x10000060}, - {0x40000022,0x40000022,0x40000026,0x40000026,0x40000022,0x40000022,0x4000002e,0x4000002e,0x40000022,0x40000022,0x40000026,0x40000026,0x40000022,0x40000022,0x4000003e,0x4000003e,0x40000022,0x40000022,0x40000026,0x40000026,0x40000022,0x40000022,0x4000002e,0x4000002e,0x40000022,0x40000022,0x40000026,0x40000026,0x40000022,0x40000022,0x4000005e,0x4000005e}, - {0x40000062,0x40000062,0x10000022,0x10000022,0x10000026,0x10000026,0x10000022,0x10000022,0x1000002e,0x1000002e,0x10000022,0x10000022,0x10000026,0x10000026,0x10000022,0x10000022,0x1000003e,0x1000003e,0x10000022,0x10000022,0x10000026,0x10000026,0x10000022,0x10000022,0x1000002e,0x1000002e,0x10000022,0x10000022,0x10000026,0x10000026,0x10000022,0x10000022}, - {0x1000005e,0x1000005e,0x10000062,0x10000062,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000} -}; -#endif -const uint32_t kTitleToUpper = 0x80000000; -const uint32_t kUpperToLower = 0x40000000; -const uint32_t kLowerToTitle = 0x20000000; -const uint32_t kLowerToUpper = 0x10000000; -const uint32_t kCaseMapCharMask = 0x001fffff; - /* * * * * * This file contains MACHINE-GENERATED DATA, do not edit! * * * * * */ diff --git a/intl/unicharutil/util/nsUnicodeScriptCodes.h b/intl/unicharutil/util/nsUnicodeScriptCodes.h index bb42e719f2ca..910fa516b684 100644 --- a/intl/unicharutil/util/nsUnicodeScriptCodes.h +++ b/intl/unicharutil/util/nsUnicodeScriptCodes.h @@ -11,7 +11,7 @@ */ /* - * Created on Wed Jun 28 17:08:23 2017 from UCD data files with version info: + * Created on Thu Sep 21 20:35:51 2017 from UCD data files with version info: * # Unicode Character Database @@ -29,27 +29,6 @@ This directory contains the final data files for the Unicode Character Database, for Version 10.0.0 of the Unicode Standard. -# Scripts-10.0.0.txt -# Date: 2017-03-11, 06:40:37 GMT - -# BidiMirroring-10.0.0.txt -# Date: 2017-04-12, 17:30:00 GMT [KW, LI] - -# BidiBrackets-10.0.0.txt -# Date: 2017-04-12, 17:30:00 GMT [AG, LI, KW] - -# HangulSyllableType-10.0.0.txt -# Date: 2017-02-14, 04:26:11 GMT - -# LineBreak-10.0.0.txt -# Date: 2017-03-08, 02:00:00 GMT [KW, LI] - -# EastAsianWidth-10.0.0.txt -# Date: 2017-03-08, 02:00:00 GMT [KW, LI] - -# DerivedCoreProperties-10.0.0.txt -# Date: 2017-03-19, 00:05:15 GMT - # IdentifierStatus.txt # Date: 2017-04-08, 16:13:41 GMT @@ -69,17 +48,6 @@ for the Unicode Character Database, for Version 10.0.0 of the Unicode Standard. #pragma pack(1) -#if !ENABLE_INTL_API - -struct nsCharProps1 { - unsigned char mMirrorOffsetIndex:5; - unsigned char mHangulType:3; - unsigned char mCombiningClass:8; -}; - -#endif - -#if ENABLE_INTL_API struct nsCharProps2 { // Currently only 4 bits are defined here, so 4 more could be added without @@ -89,31 +57,6 @@ struct nsCharProps2 { unsigned char mIdType:2; }; -#endif - -#if !ENABLE_INTL_API - -// This struct currently requires 5 bytes. We try to ensure that whole-byte -// fields will not straddle byte boundaries, to optimize access to them. -struct nsCharProps2 { - unsigned char mScriptCode:8; - // -- byte boundary -- - unsigned char mPairedBracketType:2; - unsigned char mEastAsianWidthFWH:1; - unsigned char mCategory:5; - // -- byte boundary -- - unsigned char mIdType:2; - unsigned char mDefaultIgnorable:1; - unsigned char mBidiCategory:5; - // -- byte boundary -- - unsigned char mVertOrient:2; - unsigned char mLineBreak:6; - // -- byte boundary -- - signed char mNumericValue; // only 5 bits are actually needed here -}; - -#endif - #pragma pack() namespace mozilla { diff --git a/ipc/glue/moz.build b/ipc/glue/moz.build index cb01264e1b61..b16271eaa7f2 100644 --- a/ipc/glue/moz.build +++ b/ipc/glue/moz.build @@ -3,6 +3,7 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('/media/webrtc/webrtc.mozbuild') EXPORTS += [ 'nsIIPCBackgroundChildCreateCallback.h', @@ -51,7 +52,6 @@ if CONFIG['FUZZING'] == '1': SOURCES += ['Faulty.cpp'] if CONFIG['OS_ARCH'] == 'WINNT': - DEFINES['WEBRTC_WIN'] = True EXPORTS.mozilla.ipc += [ 'Transport_win.h', ] @@ -61,7 +61,6 @@ if CONFIG['OS_ARCH'] == 'WINNT': 'WindowsMessageLoop.cpp', ] else: - DEFINES['WEBRTC_POSIX'] = True EXPORTS.mozilla.ipc += [ 'Transport_posix.h', ] diff --git a/js/src/jit/none/MacroAssembler-none.h b/js/src/jit/none/MacroAssembler-none.h index f03a5a30e65d..b9b9ed1a0525 100644 --- a/js/src/jit/none/MacroAssembler-none.h +++ b/js/src/jit/none/MacroAssembler-none.h @@ -150,6 +150,8 @@ class Assembler : public AssemblerShared static void ToggleToCmp(CodeLocationLabel) { MOZ_CRASH(); } static void ToggleCall(CodeLocationLabel, bool) { MOZ_CRASH(); } + static void Bind(uint8_t*, CodeOffset, CodeOffset) { MOZ_CRASH(); } + static uintptr_t GetPointer(uint8_t*) { MOZ_CRASH(); } static bool HasRoundInstruction(RoundingMode) { return false; } @@ -187,7 +189,9 @@ class MacroAssemblerNone : public Assembler size_t numCodeLabels() const { MOZ_CRASH(); } CodeLabel codeLabel(size_t) { MOZ_CRASH(); } + bool reserve(size_t size) { MOZ_CRASH(); } bool appendRawCode(const uint8_t* code, size_t numBytes) { MOZ_CRASH(); } + bool swapBuffer(wasm::Bytes& bytes) { MOZ_CRASH(); } void trace(JSTracer*) { MOZ_CRASH(); } static void TraceJumpRelocations(JSTracer*, JitCode*, CompactBufferReader&) { MOZ_CRASH(); } diff --git a/layout/base/ServoRestyleManager.cpp b/layout/base/ServoRestyleManager.cpp index 18584846f1ad..3568b83ca4c6 100644 --- a/layout/base/ServoRestyleManager.cpp +++ b/layout/base/ServoRestyleManager.cpp @@ -208,15 +208,15 @@ ServoRestyleState::ProcessMaybeNestedWrapperRestyle(nsIFrame* aParent, (parent->StyleContext()->IsInheritingAnonBox() && parent->GetContent() == aParent->GetContent())); - // Now "this" is a ServoRestyleState for aParent, so if parent is not a prev + // Now "this" is a ServoRestyleState for aParent, so if parent is not a next // continuation (possibly across ib splits) of aParent we need a new // ServoRestyleState for the kid. Maybe parentRestyleState; - nsIFrame* parentForRestyle = aParent; - if (nsLayoutUtils::FirstContinuationOrIBSplitSibling(parent) != aParent) { - parentRestyleState.emplace(*parent, *this, nsChangeHint_Empty, + nsIFrame* parentForRestyle = + nsLayoutUtils::FirstContinuationOrIBSplitSibling(parent); + if (parentForRestyle != aParent) { + parentRestyleState.emplace(*parentForRestyle, *this, nsChangeHint_Empty, Type::InFlow); - parentForRestyle = parent; } ServoRestyleState& curRestyleState = parentRestyleState ? *parentRestyleState : *this; diff --git a/layout/base/crashtests/1401739.html b/layout/base/crashtests/1401739.html new file mode 100644 index 000000000000..9521f8384643 --- /dev/null +++ b/layout/base/crashtests/1401739.html @@ -0,0 +1,11 @@ + + + diff --git a/layout/base/crashtests/crashtests.list b/layout/base/crashtests/crashtests.list index 6a000ebef9cd..b57d2c1ad69e 100644 --- a/layout/base/crashtests/crashtests.list +++ b/layout/base/crashtests/crashtests.list @@ -503,4 +503,5 @@ load 1397398-3.html load 1398500.html load 1400438-1.html load 1400599-1.html +load 1401739.html load 1401840.html diff --git a/layout/reftests/css-display/display-contents-shadow-dom-1-ref.html b/layout/reftests/css-display/display-contents-shadow-dom-1-ref.html index f57822901d69..6e6dad2331c3 100644 --- a/layout/reftests/css-display/display-contents-shadow-dom-1-ref.html +++ b/layout/reftests/css-display/display-contents-shadow-dom-1-ref.html @@ -45,8 +45,6 @@ span { color:blue; } R
V - W - X diff --git a/layout/reftests/css-display/display-contents-shadow-dom-1.html b/layout/reftests/css-display/display-contents-shadow-dom-1.html index 476af6665be8..507af914a868 100644 --- a/layout/reftests/css-display/display-contents-shadow-dom-1.html +++ b/layout/reftests/css-display/display-contents-shadow-dom-1.html @@ -51,8 +51,6 @@ div.after::after {content: " Y";}
T
U
V
-
W
- X - - -
- - diff --git a/layout/reftests/webcomponents/adjacent-insertion-points-2-ref.html b/layout/reftests/webcomponents/adjacent-insertion-points-2-ref.html deleted file mode 100644 index 2c1f4e341900..000000000000 --- a/layout/reftests/webcomponents/adjacent-insertion-points-2-ref.html +++ /dev/null @@ -1,6 +0,0 @@ - - - -
HelloWorld
- - diff --git a/layout/reftests/webcomponents/adjacent-insertion-points-2.html b/layout/reftests/webcomponents/adjacent-insertion-points-2.html deleted file mode 100644 index f90cb206bb98..000000000000 --- a/layout/reftests/webcomponents/adjacent-insertion-points-2.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - -
- - diff --git a/layout/reftests/webcomponents/basic-shadow-element-1-ref.html b/layout/reftests/webcomponents/basic-shadow-element-1-ref.html deleted file mode 100644 index a47b9362a386..000000000000 --- a/layout/reftests/webcomponents/basic-shadow-element-1-ref.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - -
-
Hello World
-
- - diff --git a/layout/reftests/webcomponents/basic-shadow-element-1.html b/layout/reftests/webcomponents/basic-shadow-element-1.html deleted file mode 100644 index e51bd8b72295..000000000000 --- a/layout/reftests/webcomponents/basic-shadow-element-1.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - -
-
-
- - diff --git a/layout/reftests/webcomponents/nested-shadow-element-1-ref.html b/layout/reftests/webcomponents/nested-shadow-element-1-ref.html deleted file mode 100644 index a3b5150f65f3..000000000000 --- a/layout/reftests/webcomponents/nested-shadow-element-1-ref.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - -
-
Hello World
-
- - diff --git a/layout/reftests/webcomponents/nested-shadow-element-1.html b/layout/reftests/webcomponents/nested-shadow-element-1.html deleted file mode 100644 index cfaad3d49066..000000000000 --- a/layout/reftests/webcomponents/nested-shadow-element-1.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - - -
-
-
- - diff --git a/layout/reftests/webcomponents/reftest.list b/layout/reftests/webcomponents/reftest.list index 22de8fcff630..a6e1855437bb 100644 --- a/layout/reftests/webcomponents/reftest.list +++ b/layout/reftests/webcomponents/reftest.list @@ -5,13 +5,9 @@ pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == basic-shad pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == basic-shadow-4.html basic-shadow-4-ref.html pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == basic-insertion-point-1.html basic-insertion-point-1-ref.html pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == basic-insertion-point-2.html basic-insertion-point-2-ref.html -pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == adjacent-insertion-points-1.html adjacent-insertion-points-1-ref.html -pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == adjacent-insertion-points-2.html adjacent-insertion-points-2-ref.html pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == fallback-content-1.html fallback-content-1-ref.html pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == remove-insertion-point-1.html remove-insertion-point-1-ref.html pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == nested-insertion-point-1.html nested-insertion-point-1-ref.html -pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == basic-shadow-element-1.html basic-shadow-element-1-ref.html -pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == nested-shadow-element-1.html nested-shadow-element-1-ref.html pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == update-dist-node-descendants-1.html update-dist-node-descendants-1-ref.html pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) fuzzy-if(Android,2,7) == input-transition-1.html input-transition-1-ref.html pref(dom.webcomponents.enabled,true) fails-if(stylo||styloVsGecko) == dynamic-insertion-point-distribution-1.html dynamic-insertion-point-distribution-1-ref.html diff --git a/media/webrtc/moz.build b/media/webrtc/moz.build index e35867c6a11c..de77ae60043c 100644 --- a/media/webrtc/moz.build +++ b/media/webrtc/moz.build @@ -75,51 +75,15 @@ GYP_DIRS['trunk'].sandbox_vars['ALLOW_COMPILER_WARNINGS'] = True GYP_DIRS['trunk'].sandbox_vars['FINAL_LIBRARY'] = 'webrtc' GYP_DIRS['trunk'].non_unified_sources += webrtc_non_unified_sources -if CONFIG['ENABLE_TESTS']: - TEST_DIRS += [ -# 'trunk/gtest', - ] - if CONFIG['MOZ_WEBRTC_SIGNALING']: - GYP_DIRS += ['signaling'] - GYP_DIRS['signaling'].input = 'signaling/signaling.gyp' - GYP_DIRS['signaling'].variables = gyp_vars_copy.copy() - GYP_DIRS['signaling'].variables.update( - build_for_test=0, - build_for_standalone=0 - ) - GYP_DIRS['signaling'].sandbox_vars['FINAL_LIBRARY'] = 'xul' - # Excluded for various symbol conflicts - signaling_non_unified_sources = [ - 'signaling/src/common/browser_logging/CSFLog.cpp', - 'signaling/src/jsep/JsepSessionImpl.cpp', - 'signaling/src/media-conduit/AudioConduit.cpp', - 'signaling/src/media-conduit/MediaCodecVideoCodec.cpp', - 'signaling/src/media-conduit/VideoConduit.cpp', - 'signaling/src/media-conduit/WebrtcMediaCodecVP8VideoCodec.cpp', - 'signaling/src/mediapipeline/MediaPipeline.cpp', - 'signaling/src/mediapipeline/MediaPipelineFilter.cpp', - 'signaling/src/mediapipeline/SrtpFlow.cpp', - 'signaling/src/peerconnection/MediaPipelineFactory.cpp', - 'signaling/src/peerconnection/MediaStreamList.cpp', - 'signaling/src/peerconnection/PeerConnectionCtx.cpp', - 'signaling/src/peerconnection/PeerConnectionImpl.cpp', - 'signaling/src/peerconnection/PeerConnectionMedia.cpp', - 'signaling/src/peerconnection/WebrtcGlobalInformation.cpp', - 'signaling/src/sdp/sipcc/cpr_string.c', - 'signaling/src/sdp/sipcc/sdp_access.c', - 'signaling/src/sdp/sipcc/sdp_attr.c', - 'signaling/src/sdp/sipcc/sdp_attr_access.c', - 'signaling/src/sdp/sipcc/sdp_base64.c', - 'signaling/src/sdp/sipcc/sdp_config.c', - 'signaling/src/sdp/sipcc/sdp_main.c', - 'signaling/src/sdp/sipcc/sdp_services_unix.c', - 'signaling/src/sdp/sipcc/sdp_token.c', - 'signaling/src/sdp/sipcc/sdp_utils.c', + DIRS += [ + 'signaling/src/common', + 'signaling/src/jsep', + 'signaling/src/media-conduit', + 'signaling/src/mediapipeline', + 'signaling/src/peerconnection', + 'signaling/src/sdp' ] - - GYP_DIRS['signaling'].non_unified_sources += signaling_non_unified_sources - GYP_DIRS += ['trunk/third_party/gflags'] GYP_DIRS['trunk/third_party/gflags'].input = 'trunk/third_party/gflags/gflags.gyp' GYP_DIRS['trunk/third_party/gflags'].variables = gyp_vars_copy diff --git a/media/webrtc/signaling/gtest/moz.build b/media/webrtc/signaling/gtest/moz.build index 847f166ab4be..9b2c548ecf16 100644 --- a/media/webrtc/signaling/gtest/moz.build +++ b/media/webrtc/signaling/gtest/moz.build @@ -3,21 +3,10 @@ # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('/media/webrtc/webrtc.mozbuild') # TODO: bug 1172551 - get these tests working on iOS if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'uikit' and CONFIG['OS_TARGET'] != 'Android': - if CONFIG['OS_TARGET'] == 'Linux': - DEFINES['WEBRTC_LINUX'] = True - DEFINES['WEBRTC_POSIX'] = True - elif CONFIG['OS_TARGET'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'): - DEFINES['WEBRTC_BSD'] = True - DEFINES['WEBRTC_POSIX'] = True - elif CONFIG['OS_TARGET'] == 'Darwin': - DEFINES['WEBRTC_MAC'] = True - DEFINES['WEBRTC_POSIX'] = True - elif CONFIG['OS_TARGET'] == 'WINNT': - DEFINES['WEBRTC_WIN'] = True - LOCAL_INCLUDES += [ '/dom/media', '/ipc/chromium/src', @@ -48,9 +37,6 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'uikit' and CONFIG['OS_TARGET'] != 'Android': FINAL_LIBRARY = 'xul-gtest' -if CONFIG['GNU_CXX']: - CXXFLAGS += ['-Wno-error=shadow'] - if CONFIG['_MSC_VER']: # This is intended as a temporary workaround to enable warning free building # with VS2015. diff --git a/media/webrtc/signaling/signaling.gyp b/media/webrtc/signaling/signaling.gyp deleted file mode 100644 index 834fb0479625..000000000000 --- a/media/webrtc/signaling/signaling.gyp +++ /dev/null @@ -1,361 +0,0 @@ -# Copyright (c) 2011, The WebRTC project authors. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in -# the documentation and/or other materials provided with the -# distribution. -# -# * Neither the name of Google nor the names of its contributors may -# be used to endorse or promote products derived from this software -# without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Indent 2 spaces, no tabs. -# -# -# sip.gyp - a library for SIP -# - -{ - 'variables': { - 'chromium_code': 1, - }, - - 'targets': [ - - # - # ECC - # - { - 'target_name': 'ecc', - 'type': 'static_library', - - # - # INCLUDES - # - 'include_dirs': [ - '..', - './src', - './src/common', - './src/common/browser_logging', - './src/common/time_profiling', - './src/media', - './src/media-conduit', - './src/mediapipeline', - './src/peerconnection', - './src/sdp/sipcc', - '../../../dom/base', - '../../../dom/media', - '../../../dom/media/platforms', - '../../../media/mtransport', - '../trunk', - '../../libyuv/libyuv/include', - '../../mtransport/third_party/nrappkit/src/util/libekr', - ], - - # - # DEPENDENCIES - # - 'dependencies': [ - ], - - 'export_dependent_settings': [ - ], - - - # - # SOURCES - # - 'sources': [ - # Media Conduit - './src/media-conduit/AudioConduit.h', - './src/media-conduit/AudioConduit.cpp', - './src/media-conduit/VideoConduit.h', - './src/media-conduit/VideoConduit.cpp', - './src/media-conduit/RunningStat.h', - # Common - './src/common/CommonTypes.h', - './src/common/csf_common.h', - './src/common/NullDeleter.h', - './src/common/PtrVector.h', - './src/common/Wrapper.h', - './src/common/NullTransport.h', - './src/common/YuvStamper.cpp', - # Browser Logging - './src/common/browser_logging/CSFLog.cpp', - './src/common/browser_logging/CSFLog.h', - './src/common/browser_logging/WebRtcLog.cpp', - './src/common/browser_logging/WebRtcLog.h', - # Browser Logging - './src/common/time_profiling/timecard.c', - './src/common/time_profiling/timecard.h', - # PeerConnection - './src/peerconnection/MediaPipelineFactory.cpp', - './src/peerconnection/MediaPipelineFactory.h', - './src/peerconnection/PeerConnectionCtx.cpp', - './src/peerconnection/PeerConnectionCtx.h', - './src/peerconnection/PeerConnectionImpl.cpp', - './src/peerconnection/PeerConnectionImpl.h', - './src/peerconnection/PeerConnectionMedia.cpp', - './src/peerconnection/PeerConnectionMedia.h', - # Media pipeline - './src/mediapipeline/MediaPipeline.h', - './src/mediapipeline/MediaPipeline.cpp', - './src/mediapipeline/MediaPipelineFilter.h', - './src/mediapipeline/MediaPipelineFilter.cpp', - './src/mediapipeline/RtpLogger.h', - './src/mediapipeline/RtpLogger.cpp', - # SDP - './src/sdp/sipcc/ccsdp.h', - './src/sdp/sipcc/cpr_string.c', - './src/sdp/sipcc/sdp_access.c', - './src/sdp/sipcc/sdp_attr.c', - './src/sdp/sipcc/sdp_attr_access.c', - './src/sdp/sipcc/sdp_base64.c', - './src/sdp/sipcc/sdp_config.c', - './src/sdp/sipcc/sdp_main.c', - './src/sdp/sipcc/sdp_token.c', - './src/sdp/sipcc/sdp.h', - './src/sdp/sipcc/sdp_base64.h', - './src/sdp/sipcc/sdp_os_defs.h', - './src/sdp/sipcc/sdp_private.h', - './src/sdp/sipcc/sdp_utils.c', - './src/sdp/sipcc/sdp_services_unix.c', - - # SDP Wrapper - './src/sdp/Sdp.h', - './src/sdp/SdpAttribute.h', - './src/sdp/SdpAttribute.cpp', - './src/sdp/SdpAttributeList.h', - './src/sdp/SdpErrorHolder.h', - './src/sdp/SdpHelper.h', - './src/sdp/SdpHelper.cpp', - './src/sdp/SdpMediaSection.h', - './src/sdp/SdpMediaSection.cpp', - './src/sdp/SipccSdp.h', - './src/sdp/SipccSdpAttributeList.h', - './src/sdp/SipccSdpAttributeList.cpp', - './src/sdp/SipccSdpMediaSection.h', - './src/sdp/SipccSdpParser.h', - './src/sdp/SipccSdp.cpp', - './src/sdp/SipccSdpMediaSection.cpp', - './src/sdp/SipccSdpParser.cpp', - - # JSEP - './src/jsep/JsepCodecDescription.h', - './src/jsep/JsepSession.h', - './src/jsep/JsepSessionImpl.cpp', - './src/jsep/JsepSessionImpl.h', - './src/jsep/JsepTrack.cpp', - './src/jsep/JsepTrack.h', - './src/jsep/JsepTrackEncoding.h', - './src/jsep/JsepTransport.h' - ], - - # - # DEFINES - # - - 'defines' : [ - 'LOG4CXX_STATIC', - '_NO_LOG4CXX', - 'USE_SSLEAY', - '_CPR_USE_EXTERNAL_LOGGER', - 'WEBRTC_RELATIVE_PATH', - 'HAVE_WEBRTC_VIDEO', - 'HAVE_WEBRTC_VOICE', - 'HAVE_STDINT_H=1', - 'HAVE_STDLIB_H=1', - 'HAVE_UINT8_T=1', - 'HAVE_UINT16_T=1', - 'HAVE_UINT32_T=1', - 'HAVE_UINT64_T=1', - ], - - 'cflags_mozilla': [ - '$(NSPR_CFLAGS)', - '$(NSS_CFLAGS)', - '$(MOZ_PIXMAN_CFLAGS)', - ], - - - # - # Conditionals - # - 'conditions': [ - # hack so I can change the include flow for SrtpFlow - ['build_with_mozilla==1', { - 'sources': [ - './src/mediapipeline/SrtpFlow.h', - './src/mediapipeline/SrtpFlow.cpp', - ], - 'include_dirs!': [ - '../trunk/webrtc', - ], - 'include_dirs': [ - '../../../netwerk/srtp/src/include', - '../../../netwerk/srtp/src/crypto/include', - ], - }], - ['moz_webrtc_mediacodec==1', { - 'include_dirs': [ - '../../../widget/android', - ], - 'sources': [ - './src/media-conduit/MediaCodecVideoCodec.h', - './src/media-conduit/WebrtcMediaCodecVP8VideoCodec.h', - './src/media-conduit/MediaCodecVideoCodec.cpp', - './src/media-conduit/WebrtcMediaCodecVP8VideoCodec.cpp', - ], - 'defines' : [ - 'MOZ_WEBRTC_MEDIACODEC', - ], - }], - ['(build_for_test==0) and (build_for_standalone==0)', { - 'sources': [ - './src/peerconnection/MediaStreamList.cpp', - './src/peerconnection/MediaStreamList.h', - './src/peerconnection/WebrtcGlobalInformation.cpp', - './src/peerconnection/WebrtcGlobalInformation.h', - ], - }], - ['build_for_test!=0', { - 'include_dirs': [ - './test' - ], - 'defines' : [ - 'NO_CHROMIUM_LOGGING', - 'USE_FAKE_PCOBSERVER', - ], - }], - ['build_for_standalone==0', { - 'sources': [ - './src/media-conduit/GmpVideoCodec.cpp', - './src/media-conduit/MediaDataDecoderCodec.cpp', - './src/media-conduit/WebrtcGmpVideoCodec.cpp', - './src/media-conduit/WebrtcMediaDataDecoderCodec.cpp', - ], - }], - ['build_for_standalone!=0', { - 'include_dirs': [ - './test' - ], - 'defines' : [ - 'NO_CHROMIUM_LOGGING', - 'USE_FAKE_PCOBSERVER', - ], - }], - # See webrtc/base/task_queue.h - ['OS!="mac" and OS!="ios" and OS!="win"', { - 'defines': [ - 'WEBRTC_BUILD_LIBEVENT', - ], - }], - ['(OS=="linux") or (OS=="android")', { - 'include_dirs': [ - ], - - 'defines': [ - 'OS_LINUX', - 'SIP_OS_LINUX', - 'WEBRTC_POSIX', - '_GNU_SOURCE', - 'LINUX', - 'GIPS_VER=3510', - 'SECLIB_OPENSSL', - ], - - 'cflags_mozilla': [ - ], - }], - ['OS=="android"', { - 'cflags_mozilla': [ - # This warning complains about important MOZ_EXPORT attributes - # on forward declarations for Android API types. - '-Wno-error=attributes', - ], - }], - ['OS=="win"', { - 'include_dirs': [ - ], - 'defines': [ - 'OS_WIN', - 'SIP_OS_WINDOWS', - 'WEBRTC_WIN', - 'WIN32', - 'GIPS_VER=3480', - 'SIPCC_BUILD', - 'HAVE_WINSOCK2_H' - ], - - 'cflags_mozilla': [ - ], - }], - ['os_bsd==1', { - 'include_dirs': [ - ], - 'defines': [ - # avoiding pointless ifdef churn - 'WEBRTC_POSIX', - 'SIP_OS_OSX', - 'OSX', - 'SECLIB_OPENSSL', - ], - - 'cflags_mozilla': [ - ], - }], - ['OS=="mac" or OS=="ios"', { - 'include_dirs': [ - ], - 'defines': [ - 'WEBRTC_POSIX', - 'WEBRTC_MAC', - 'OS_MACOSX', - 'SIP_OS_OSX', - 'OSX', - '_FORTIFY_SOURCE=2', - ], - - 'cflags_mozilla': [ - ], - }], - ['clang == 1', { - 'cflags_mozilla': [ - '-Wno-inconsistent-missing-override', - '-Wno-macro-redefined', - ], - }], - ['libfuzzer == 1', { - 'cflags_mozilla': [ - '-fsanitize-coverage=trace-pc-guard', - ], - }], - ], - }, - ], -} - -# Local Variables: -# tab-width:2 -# indent-tabs-mode:nil -# End: -# vim: set expandtab tabstop=2 shiftwidth=2: diff --git a/media/webrtc/signaling/src/common/moz.build b/media/webrtc/signaling/src/common/moz.build new file mode 100644 index 000000000000..acd3ea76bc61 --- /dev/null +++ b/media/webrtc/signaling/src/common/moz.build @@ -0,0 +1,21 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('/media/webrtc/webrtc.mozbuild') + +LOCAL_INCLUDES += [ + '/media/mtransport/third_party/nrappkit/src/util/libekr', + '/media/webrtc/trunk', + '/media/webrtc/trunk/webrtc', +] + +UNIFIED_SOURCES += [ + 'browser_logging/CSFLog.cpp', + 'browser_logging/WebRtcLog.cpp', + 'time_profiling/timecard.c', + 'YuvStamper.cpp', +] + +FINAL_LIBRARY = 'xul' diff --git a/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp b/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp index da06fa9bc895..154e3bccb8b3 100644 --- a/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp +++ b/media/webrtc/signaling/src/jsep/JsepSessionImpl.cpp @@ -21,7 +21,6 @@ #include "webrtc/config.h" -#include "signaling/src/jsep/JsepTrack.h" #include "signaling/src/jsep/JsepTrack.h" #include "signaling/src/jsep/JsepTransport.h" #include "signaling/src/sdp/Sdp.h" diff --git a/media/webrtc/signaling/src/jsep/moz.build b/media/webrtc/signaling/src/jsep/moz.build new file mode 100644 index 000000000000..90ab5145fe82 --- /dev/null +++ b/media/webrtc/signaling/src/jsep/moz.build @@ -0,0 +1,19 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('/media/webrtc/webrtc.mozbuild') + +LOCAL_INCLUDES += [ + '/media/mtransport', + '/media/webrtc', + '/media/webrtc/trunk', +] + +UNIFIED_SOURCES += [ + 'JsepSessionImpl.cpp', + 'JsepTrack.cpp' +] + +FINAL_LIBRARY = 'xul' diff --git a/media/webrtc/signaling/src/media-conduit/AudioConduit.h b/media/webrtc/signaling/src/media-conduit/AudioConduit.h index eb0b906a14e9..7239818b3863 100755 --- a/media/webrtc/signaling/src/media-conduit/AudioConduit.h +++ b/media/webrtc/signaling/src/media-conduit/AudioConduit.h @@ -166,7 +166,7 @@ public: size_t len) override; virtual uint64_t CodecPluginID() override { return 0; } - virtual void SetPCHandle(const std::string& aPCHandle) {} + virtual void SetPCHandle(const std::string& aPCHandle) override {} explicit WebrtcAudioConduit(): mVoiceEngine(nullptr), diff --git a/media/webrtc/signaling/src/media-conduit/moz.build b/media/webrtc/signaling/src/media-conduit/moz.build new file mode 100644 index 000000000000..83edba7c52f7 --- /dev/null +++ b/media/webrtc/signaling/src/media-conduit/moz.build @@ -0,0 +1,40 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('../../../webrtc.mozbuild') + +LOCAL_INCLUDES += [ + '!/ipc/ipdl/_ipdlheaders', + '/ipc/chromium/src', + '/media/libyuv/libyuv/include', + '/media/mtransport', + '/media/webrtc', + '/media/webrtc/signaling/src/common', + '/media/webrtc/signaling/src/common/browser_logging', + '/media/webrtc/signaling/src/common/time_profiling', + '/media/webrtc/signaling/src/peerconnection', + '/media/webrtc/trunk', +] + +SOURCES += [ + 'AudioConduit.cpp', + 'VideoConduit.cpp', +] + +UNIFIED_SOURCES += [ + 'GmpVideoCodec.cpp', + 'MediaDataDecoderCodec.cpp', + 'WebrtcGmpVideoCodec.cpp', + 'WebrtcMediaDataDecoderCodec.cpp', +] + +if CONFIG['OS_TARGET'] == 'Android': + # Duplicate definition of logTag + SOURCES += [ + 'MediaCodecVideoCodec.cpp', + 'WebrtcMediaCodecVP8VideoCodec.cpp', + ] + +FINAL_LIBRARY = 'xul' diff --git a/media/webrtc/signaling/src/mediapipeline/RtpLogger.cpp b/media/webrtc/signaling/src/mediapipeline/RtpLogger.cpp index 2a18522609a8..d688c45b5ec2 100644 --- a/media/webrtc/signaling/src/mediapipeline/RtpLogger.cpp +++ b/media/webrtc/signaling/src/mediapipeline/RtpLogger.cpp @@ -7,6 +7,8 @@ #include "RtpLogger.h" #include "logging.h" +#include +#include #include #ifdef _WIN32 #include diff --git a/media/webrtc/signaling/src/mediapipeline/moz.build b/media/webrtc/signaling/src/mediapipeline/moz.build new file mode 100644 index 000000000000..4246c08ed99e --- /dev/null +++ b/media/webrtc/signaling/src/mediapipeline/moz.build @@ -0,0 +1,27 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('/media/webrtc/webrtc.mozbuild') + +LOCAL_INCLUDES += [ + '/dom/media', + '/media/libyuv/libyuv/include', + '/media/mtransport', + '/media/webrtc', + '/media/webrtc/signaling/src/media-conduit', + '/media/webrtc/trunk', + '/netwerk/srtp/src/crypto/include', + '/netwerk/srtp/src/include', +] + +# Duplicate definition of getLogModule +SOURCES += [ + 'MediaPipeline.cpp', + 'MediaPipelineFilter.cpp', + 'RtpLogger.cpp', + 'SrtpFlow.cpp', +] + +FINAL_LIBRARY = 'xul' diff --git a/media/webrtc/signaling/src/peerconnection/moz.build b/media/webrtc/signaling/src/peerconnection/moz.build new file mode 100644 index 000000000000..e5c7da8e5250 --- /dev/null +++ b/media/webrtc/signaling/src/peerconnection/moz.build @@ -0,0 +1,33 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +include('/media/webrtc/webrtc.mozbuild') + +LOCAL_INCLUDES += [ + '!/ipc/ipdl/_ipdlheaders', + '/dom/base', + '/dom/media', + '/ipc/chromium/src', + '/media/mtransport', + '/media/webrtc', + '/media/webrtc/signaling/src/common', + '/media/webrtc/signaling/src/common/browser_logging', + '/media/webrtc/signaling/src/common/time_profiling', + '/media/webrtc/signaling/src/media-conduit', + '/media/webrtc/signaling/src/mediapipeline', + '/media/webrtc/trunk', +] + +# Multiple uses of logTag +SOURCES += [ + 'MediaPipelineFactory.cpp', + 'MediaStreamList.cpp', + 'PeerConnectionCtx.cpp', + 'PeerConnectionImpl.cpp', + 'PeerConnectionMedia.cpp', + 'WebrtcGlobalInformation.cpp', +] + +FINAL_LIBRARY = 'xul' diff --git a/media/webrtc/signaling/src/sdp/moz.build b/media/webrtc/signaling/src/sdp/moz.build new file mode 100644 index 000000000000..4d19a24bd726 --- /dev/null +++ b/media/webrtc/signaling/src/sdp/moz.build @@ -0,0 +1,53 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +if CONFIG['OS_TARGET'] == 'WINNT': + DEFINES['SIP_OS_WINDOWS'] = True + SOURCES += [ + 'sipcc/sdp_services_win32.c', + ] +elif CONFIG['OS_TARGET'] == 'Darwin': + DEFINES['SIP_OS_OSX'] = True + SOURCES += [ + 'sipcc/sdp_services_unix.c', + ] +else: + DEFINES['SIP_OS_LINUX'] = True + SOURCES += [ + 'sipcc/sdp_services_unix.c', + ] + + +LOCAL_INCLUDES += [ + '/media/mtransport', + '/media/webrtc', + '/media/webrtc/signaling/src/common/browser_logging', + '/media/webrtc/trunk', +] + +UNIFIED_SOURCES += [ + 'SdpAttribute.cpp', + 'SdpHelper.cpp', + 'SdpMediaSection.cpp', + 'SipccSdp.cpp', + 'SipccSdpAttributeList.cpp', + 'SipccSdpMediaSection.cpp', + 'SipccSdpParser.cpp', +] + +# Multiple definitions of "logTag" mean we can't use unified build here. +SOURCES += [ + 'sipcc/cpr_string.c', + 'sipcc/sdp_access.c', + 'sipcc/sdp_attr.c', + 'sipcc/sdp_attr_access.c', + 'sipcc/sdp_base64.c', + 'sipcc/sdp_config.c', + 'sipcc/sdp_main.c', + 'sipcc/sdp_token.c', + 'sipcc/sdp_utils.c', +] + +FINAL_LIBRARY = 'xul' diff --git a/media/webrtc/signaling/src/sdp/sipcc/sdp_services_win32.c b/media/webrtc/signaling/src/sdp/sipcc/sdp_services_win32.c index 1815abbfe229..0a8ea7144120 100644 --- a/media/webrtc/signaling/src/sdp/sipcc/sdp_services_win32.c +++ b/media/webrtc/signaling/src/sdp/sipcc/sdp_services_win32.c @@ -6,6 +6,7 @@ #include "sdp.h" #include "sdp_private.h" +#include "CSFLog.h" /******************************************************************/ /* Required Platform Routines */ diff --git a/media/webrtc/trunk/gtest/moz.build b/media/webrtc/trunk/gtest/moz.build index 2c1d74ecbf41..7e8046b56401 100644 --- a/media/webrtc/trunk/gtest/moz.build +++ b/media/webrtc/trunk/gtest/moz.build @@ -7,6 +7,7 @@ # Once we have gn support available in the build system # (see Bug 1336429) we can use the gn build files directly # rather than building things here. +include('/media/webrtc/webrtc.mozbuild') ALLOW_COMPILER_WARNINGS = True @@ -55,9 +56,8 @@ else: if CONFIG['OS_TARGET'] in ['Darwin', 'Linux', 'WINNT']: if CONFIG['OS_TARGET'] == 'Linux': + DEFINES['USE_X11'] = True DEFINES['WEBRTC_BUILD_LIBEVENT'] = True - DEFINES['WEBRTC_LINUX'] = True - DEFINES['WEBRTC_POSIX'] = True LOCAL_INCLUDES += [ '../third_party/gflags/gen/posix/include', @@ -82,8 +82,6 @@ if CONFIG['OS_TARGET'] in ['Darwin', 'Linux', 'WINNT']: 'Xrender', ] elif CONFIG['OS_TARGET'] == 'Darwin': - DEFINES['WEBRTC_MAC'] = True - DEFINES['WEBRTC_POSIX'] = True LOCAL_INCLUDES += [ '../third_party/gflags/gen/posix/include', @@ -115,8 +113,6 @@ if CONFIG['OS_TARGET'] in ['Darwin', 'Linux', 'WINNT']: 'OSXRunLoopSingleton.cpp', ] elif CONFIG['OS_TARGET'] == 'WINNT': - DEFINES['WEBRTC_WIN'] = True - DEFINES['UNICODE'] = True DEFINES['_UNICODE'] = True @@ -562,7 +558,6 @@ if CONFIG['OS_TARGET'] in ['Darwin', 'Linux', 'WINNT']: if CONFIG['GNU_CXX']: CXXFLAGS += [ - '-Wno-error=shadow', '-Wno-inconsistent-missing-override', '-Wno-overloaded-virtual', ] diff --git a/media/webrtc/webrtc.mozbuild b/media/webrtc/webrtc.mozbuild new file mode 100644 index 000000000000..92e94deba1a8 --- /dev/null +++ b/media/webrtc/webrtc.mozbuild @@ -0,0 +1,25 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=python: +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +if CONFIG['MOZ_WEBRTC']: + DEFINES['HAVE_UINT64_T'] = True + if CONFIG['OS_TARGET'] != 'WINNT': + DEFINES['WEBRTC_POSIX'] = True + DEFINES['WEBRTC_BUILD_LIBEVENT'] = True + + if CONFIG['OS_TARGET'] == 'Linux': + DEFINES['WEBRTC_LINUX'] = True + elif CONFIG['OS_TARGET'] == 'Darwin': + DEFINES['WEBRTC_MAC'] = True + elif CONFIG['OS_TARGET'] == 'WINNT': + DEFINES['WEBRTC_WIN'] = True + DEFINES['HAVE_WINSOCK2_H'] = True + elif CONFIG['OS_TARGET'] in ('DragonFly', 'FreeBSD', 'NetBSD', 'OpenBSD'): + DEFINES['WEBRTC_BSD'] = True + elif CONFIG['OS_TARGET'] == 'Android': + DEFINES['WEBRTC_ANDROID'] = True + + if CONFIG['GNU_CXX']: + CXXFLAGS += ['-Wno-error=shadow'] diff --git a/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java b/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java index 5335cfc28987..74151ebd0b32 100644 --- a/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java +++ b/mobile/android/base/java/org/mozilla/gecko/customtabs/CustomTabsActivity.java @@ -146,6 +146,18 @@ public class CustomTabsActivity extends AppCompatActivity } } + @Override + public void onResume() { + mGeckoView.setActive(true); + super.onResume(); + } + + @Override + public void onPause() { + mGeckoView.setActive(false); + super.onPause(); + } + @Override public void onDestroy() { mTextSelection.destroy(); diff --git a/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java b/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java index e38852eb0379..e15f0d56835a 100644 --- a/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java +++ b/mobile/android/base/java/org/mozilla/gecko/webapps/WebAppActivity.java @@ -116,6 +116,18 @@ public class WebAppActivity extends AppCompatActivity setContentView(mGeckoView); } + @Override + public void onResume() { + mGeckoView.setActive(true); + super.onResume(); + } + + @Override + public void onPause() { + mGeckoView.setActive(false); + super.onPause(); + } + @Override public void onDestroy() { mTextSelection.destroy(); diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoView.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoView.java index 9ab8dba9df26..2812441f3bef 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoView.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/GeckoView.java @@ -683,6 +683,18 @@ public class GeckoView extends LayerView { mEventDispatcher.dispatch("GeckoView:GoForward", null); } + /** + * Set this GeckoView as active or inactive. Setting a GeckoView to inactive will + * significantly reduce its memory footprint, but should only be done if the + * GeckoView is not currently visible. + * @param active A boolean determining whether the GeckoView is active + */ + public void setActive(boolean active) { + final GeckoBundle msg = new GeckoBundle(); + msg.putBoolean("active", active); + mEventDispatcher.dispatch("GeckoView:SetActive", msg); + } + public GeckoViewSettings getSettings() { return mSettings; } diff --git a/mobile/android/modules/geckoview/GeckoViewContent.jsm b/mobile/android/modules/geckoview/GeckoViewContent.jsm index 7177ec75cca9..d902467d94bf 100644 --- a/mobile/android/modules/geckoview/GeckoViewContent.jsm +++ b/mobile/android/modules/geckoview/GeckoViewContent.jsm @@ -22,6 +22,9 @@ function debug(aMsg) { class GeckoViewContent extends GeckoViewModule { init() { this.frameScriptLoaded = false; + this.eventDispatcher.registerListener(this, [ + "GeckoView:SetActive" + ]); } register() { @@ -48,6 +51,9 @@ class GeckoViewContent extends GeckoViewModule { case "GeckoViewContent:ExitFullScreen": this.messageManager.sendAsyncMessage("GeckoView:DOMFullscreenExited"); break; + case "GeckoView:SetActive": + this.browser.docShellIsActive = aData.active; + break; } } diff --git a/modules/freetype2/src/sfnt/pngshim.c b/modules/freetype2/src/sfnt/pngshim.c index 560db4835afc..68e2dfbe7a1e 100644 --- a/modules/freetype2/src/sfnt/pngshim.c +++ b/modules/freetype2/src/sfnt/pngshim.c @@ -81,43 +81,45 @@ typedef unsigned short v82 __attribute__(( vector_size( 16 ) )); - - /* process blocks of 16 bytes in one rush, which gives a nice speed-up */ - limit = row_info->rowbytes - 16 + 1; - for ( ; i < limit; i += 16 ) + if ( row_info->rowbytes > 15 ) { - unsigned char* base = &data[i]; + /* process blocks of 16 bytes in one rush, which gives a nice speed-up */ + limit = row_info->rowbytes - 16 + 1; + for ( ; i < limit; i += 16 ) + { + unsigned char* base = &data[i]; - v82 s, s0, s1, a; + v82 s, s0, s1, a; - /* clang <= 3.9 can't apply scalar values to vectors */ - /* (or rather, it needs a different syntax) */ - v82 n0x80 = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 }; - v82 n0xFF = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; - v82 n8 = { 8, 8, 8, 8, 8, 8, 8, 8 }; + /* clang <= 3.9 can't apply scalar values to vectors */ + /* (or rather, it needs a different syntax) */ + v82 n0x80 = { 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80 }; + v82 n0xFF = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; + v82 n8 = { 8, 8, 8, 8, 8, 8, 8, 8 }; - v82 ma = { 1, 1, 3, 3, 5, 5, 7, 7 }; - v82 o1 = { 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF }; - v82 m0 = { 1, 0, 3, 2, 5, 4, 7, 6 }; + v82 ma = { 1, 1, 3, 3, 5, 5, 7, 7 }; + v82 o1 = { 0, 0xFF, 0, 0xFF, 0, 0xFF, 0, 0xFF }; + v82 m0 = { 1, 0, 3, 2, 5, 4, 7, 6 }; - memcpy( &s, base, 16 ); /* RGBA RGBA RGBA RGBA */ - s0 = s & n0xFF; /* R B R B R B R B */ - s1 = s >> n8; /* G A G A G A G A */ + memcpy( &s, base, 16 ); /* RGBA RGBA RGBA RGBA */ + s0 = s & n0xFF; /* R B R B R B R B */ + s1 = s >> n8; /* G A G A G A G A */ - a = vector_shuffle( s1, ma ); /* A A A A A A A A */ - s1 |= o1; /* G 1 G 1 G 1 G 1 */ - s0 = vector_shuffle( s0, m0 ); /* B R B R B R B R */ + a = vector_shuffle( s1, ma ); /* A A A A A A A A */ + s1 |= o1; /* G 1 G 1 G 1 G 1 */ + s0 = vector_shuffle( s0, m0 ); /* B R B R B R B R */ - s0 *= a; - s1 *= a; - s0 += n0x80; - s1 += n0x80; - s0 = ( s0 + ( s0 >> n8 ) ) >> n8; - s1 = ( s1 + ( s1 >> n8 ) ) >> n8; + s0 *= a; + s1 *= a; + s0 += n0x80; + s1 += n0x80; + s0 = ( s0 + ( s0 >> n8 ) ) >> n8; + s1 = ( s1 + ( s1 >> n8 ) ) >> n8; - s = s0 | ( s1 << n8 ); - memcpy( base, &s, 16 ); + s = s0 | ( s1 << n8 ); + memcpy( base, &s, 16 ); + } } #endif /* use `vector_size' */ diff --git a/parser/html/javasrc/ElementName.java b/parser/html/javasrc/ElementName.java index 4ae693668798..2f6a2185b7e6 100644 --- a/parser/html/javasrc/ElementName.java +++ b/parser/html/javasrc/ElementName.java @@ -359,7 +359,7 @@ public final class ElementName // */ // @Override public String toString() { // return "(\"" + name + "\", \"" + camelCaseName + "\", \n// CPP" -// + "ONLY: " + htmlCreator(name) + ",\n//CPP" + "ONLY: " +// + "ONLY: " + htmlCreator(name) + ",\n// CPP" + "ONLY: " // + svgCreator(camelCaseName) + ", \n" + decomposedFlags() + ")"; // } // @@ -655,1197 +655,1244 @@ public final class ElementName // } // START GENERATED CODE - public static final ElementName BIG = new ElementName("big", "big", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName BDO = new ElementName("bdo", "bdo", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName COL = new ElementName("col", "col", - // CPPONLY: NS_NewHTMLTableColElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.COL | SPECIAL); - - public static final ElementName DEL = new ElementName("del", "del", - // CPPONLY: NS_NewHTMLModElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName DFN = new ElementName("dfn", "dfn", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName DIR = new ElementName("dir", "dir", - // CPPONLY: NS_NewHTMLSharedElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName DIV = new ElementName("div", "div", - // CPPONLY: NS_NewHTMLDivElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); - - public static final ElementName IMG = new ElementName("img", "img", - // CPPONLY: NS_NewHTMLImageElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.IMG | SPECIAL); - - public static final ElementName INS = new ElementName("ins", "ins", - // CPPONLY: NS_NewHTMLModElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName KBD = new ElementName("kbd", "kbd", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName MAP = new ElementName("map", "map", - // CPPONLY: NS_NewHTMLMapElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName NAV = new ElementName("nav", "nav", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName PRE = new ElementName("pre", "pre", - // CPPONLY: NS_NewHTMLPreElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.PRE_OR_LISTING | SPECIAL); - - public static final ElementName A = new ElementName("a", "a", - // CPPONLY: NS_NewHTMLAnchorElement, - // CPPONLY: NS_NewSVGAElement, - TreeBuilder.A); - - public static final ElementName B = new ElementName("b", "b", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName RTC = new ElementName("rtc", "rtc", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.RB_OR_RTC | OPTIONAL_END_TAG); - - public static final ElementName SUB = new ElementName("sub", "sub", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); - - public static final ElementName SVG = new ElementName("svg", "svg", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGSVGElement, - TreeBuilder.SVG); - - public static final ElementName SUP = new ElementName("sup", "sup", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); - - public static final ElementName SET = new ElementName("set", "set", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGSetElement, - TreeBuilder.OTHER); - - public static final ElementName USE = new ElementName("use", "use", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUseElement, - TreeBuilder.OTHER); - - public static final ElementName VAR = new ElementName("var", "var", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); - - public static final ElementName G = new ElementName("g", "g", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGGElement, - TreeBuilder.OTHER); - - public static final ElementName WBR = new ElementName("wbr", "wbr", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.AREA_OR_WBR | SPECIAL); - - public static final ElementName XMP = new ElementName("xmp", "xmp", - // CPPONLY: NS_NewHTMLPreElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.XMP | SPECIAL); - - public static final ElementName I = new ElementName("i", "i", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName P = new ElementName("p", "p", - // CPPONLY: NS_NewHTMLParagraphElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.P | SPECIAL | OPTIONAL_END_TAG); - - public static final ElementName Q = new ElementName("q", "q", - // CPPONLY: NS_NewHTMLSharedElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName S = new ElementName("s", "s", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName U = new ElementName("u", "u", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName H1 = new ElementName("h1", "h1", - // CPPONLY: NS_NewHTMLHeadingElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); - - public static final ElementName H2 = new ElementName("h2", "h2", - // CPPONLY: NS_NewHTMLHeadingElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); - - public static final ElementName H3 = new ElementName("h3", "h3", - // CPPONLY: NS_NewHTMLHeadingElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); - - public static final ElementName H4 = new ElementName("h4", "h4", - // CPPONLY: NS_NewHTMLHeadingElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); - - public static final ElementName H5 = new ElementName("h5", "h5", - // CPPONLY: NS_NewHTMLHeadingElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); - - public static final ElementName H6 = new ElementName("h6", "h6", - // CPPONLY: NS_NewHTMLHeadingElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); - - public static final ElementName AREA = new ElementName("area", "area", - // CPPONLY: NS_NewHTMLAreaElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.AREA_OR_WBR | SPECIAL); - - public static final ElementName DATA = new ElementName("data", "data", - // CPPONLY: NS_NewHTMLDataElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName FEFUNCA = new ElementName("fefunca", - "feFuncA", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEFuncAElement, - TreeBuilder.OTHER); - - public static final ElementName METADATA = new ElementName("metadata", - "metadata", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGMetadataElement, - TreeBuilder.OTHER); - - public static final ElementName META = new ElementName("meta", "meta", - // CPPONLY: NS_NewHTMLMetaElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.META | SPECIAL); - - public static final ElementName TEXTAREA = new ElementName("textarea", - "textarea", - // CPPONLY: NS_NewHTMLTextAreaElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.TEXTAREA | SPECIAL); - - public static final ElementName FEFUNCB = new ElementName("fefuncb", - "feFuncB", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEFuncBElement, - TreeBuilder.OTHER); - - public static final ElementName RB = new ElementName("rb", "rb", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.RB_OR_RTC | OPTIONAL_END_TAG); - - public static final ElementName DESC = new ElementName("desc", "desc", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGDescElement, - TreeBuilder.FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG); - - public static final ElementName DD = new ElementName("dd", "dd", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.DD_OR_DT | SPECIAL | OPTIONAL_END_TAG); - - public static final ElementName BGSOUND = new ElementName("bgsound", - "bgsound", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL); - - public static final ElementName EMBED = new ElementName("embed", "embed", - // CPPONLY: NS_NewHTMLEmbedElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.EMBED | SPECIAL); - - public static final ElementName FEBLEND = new ElementName("feblend", - "feBlend", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEBlendElement, - TreeBuilder.OTHER); - - public static final ElementName FEFLOOD = new ElementName("feflood", - "feFlood", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEFloodElement, - TreeBuilder.OTHER); - - public static final ElementName HEAD = new ElementName("head", "head", - // CPPONLY: NS_NewHTMLSharedElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.HEAD | SPECIAL | OPTIONAL_END_TAG); - - public static final ElementName LEGEND = new ElementName("legend", "legend", - // CPPONLY: NS_NewHTMLLegendElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName NOEMBED = new ElementName("noembed", - "noembed", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.NOEMBED | SPECIAL); - - public static final ElementName TD = new ElementName("td", "td", - // CPPONLY: NS_NewHTMLTableCellElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG); - - public static final ElementName THEAD = new ElementName("thead", "thead", - // CPPONLY: NS_NewHTMLTableSectionElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING - | OPTIONAL_END_TAG); - - public static final ElementName ASIDE = new ElementName("aside", "aside", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName ARTICLE = new ElementName("article", - "article", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName ANIMATE = new ElementName("animate", - "animate", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGAnimateElement, - TreeBuilder.OTHER); - - public static final ElementName BASE = new ElementName("base", "base", - // CPPONLY: NS_NewHTMLSharedElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.BASE | SPECIAL); - - public static final ElementName BLOCKQUOTE = new ElementName("blockquote", - "blockquote", - // CPPONLY: NS_NewHTMLSharedElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); - - public static final ElementName CODE = new ElementName("code", "code", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName CIRCLE = new ElementName("circle", "circle", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGCircleElement, - TreeBuilder.OTHER); - - public static final ElementName CITE = new ElementName("cite", "cite", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName ELLIPSE = new ElementName("ellipse", - "ellipse", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGEllipseElement, - TreeBuilder.OTHER); - - public static final ElementName FETURBULENCE = new ElementName( - "feturbulence", "feTurbulence", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFETurbulenceElement, - TreeBuilder.OTHER); - - public static final ElementName FEMERGENODE = new ElementName("femergenode", - "feMergeNode", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEMergeNodeElement, - TreeBuilder.OTHER); - - public static final ElementName FEIMAGE = new ElementName("feimage", - "feImage", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEImageElement, - TreeBuilder.OTHER); - - public static final ElementName FEMERGE = new ElementName("femerge", - "feMerge", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEMergeElement, - TreeBuilder.OTHER); - - public static final ElementName FETILE = new ElementName("fetile", "feTile", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFETileElement, - TreeBuilder.OTHER); - - public static final ElementName FRAME = new ElementName("frame", "frame", - // CPPONLY: NS_NewHTMLFrameElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.FRAME | SPECIAL); - - public static final ElementName FIGURE = new ElementName("figure", "figure", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName FECOMPOSITE = new ElementName("fecomposite", - "feComposite", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFECompositeElement, - TreeBuilder.OTHER); - - public static final ElementName IMAGE = new ElementName("image", "image", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGImageElement, - TreeBuilder.IMAGE); - - public static final ElementName IFRAME = new ElementName("iframe", "iframe", - // CPPONLY: NS_NewHTMLIFrameElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.IFRAME | SPECIAL); - - public static final ElementName LINE = new ElementName("line", "line", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGLineElement, - TreeBuilder.OTHER); - - public static final ElementName MARQUEE = new ElementName("marquee", - "marquee", - // CPPONLY: NS_NewHTMLDivElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MARQUEE_OR_APPLET | SPECIAL | SCOPING); - - public static final ElementName POLYLINE = new ElementName("polyline", - "polyline", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGPolylineElement, - TreeBuilder.OTHER); - - public static final ElementName PICTURE = new ElementName("picture", - "picture", - // CPPONLY: NS_NewHTMLPictureElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName SOURCE = new ElementName("source", "source", - // CPPONLY: NS_NewHTMLSourceElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.PARAM_OR_SOURCE_OR_TRACK); - - public static final ElementName STRIKE = new ElementName("strike", "strike", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName STYLE = new ElementName("style", "style", - // CPPONLY: NS_NewHTMLStyleElement, - // CPPONLY: NS_NewSVGStyleElement, - TreeBuilder.STYLE | SPECIAL); - - public static final ElementName TABLE = new ElementName("table", "table", - // CPPONLY: NS_NewHTMLTableElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.TABLE | SPECIAL | FOSTER_PARENTING | SCOPING); - - public static final ElementName TITLE = new ElementName("title", "title", - // CPPONLY: NS_NewHTMLTitleElement, - // CPPONLY: NS_NewSVGTitleElement, - TreeBuilder.TITLE | SPECIAL | SCOPING_AS_SVG); - - public static final ElementName TIME = new ElementName("time", "time", - // CPPONLY: NS_NewHTMLTimeElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName TEMPLATE = new ElementName("template", - "template", - // CPPONLY: NS_NewHTMLTemplateElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.TEMPLATE | SPECIAL | SCOPING); - - public static final ElementName ALTGLYPHDEF = new ElementName("altglyphdef", - "altGlyphDef", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName GLYPHREF = new ElementName("glyphref", - "glyphRef", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName DIALOG = new ElementName("dialog", "dialog", - // CPPONLY: NS_NewHTMLDialogElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName FEFUNCG = new ElementName("fefuncg", - "feFuncG", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEFuncGElement, - TreeBuilder.OTHER); - - public static final ElementName FEDIFFUSELIGHTING = new ElementName( - "fediffuselighting", "feDiffuseLighting", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEDiffuseLightingElement, - TreeBuilder.OTHER); - - public static final ElementName FESPECULARLIGHTING = new ElementName( - "fespecularlighting", "feSpecularLighting", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFESpecularLightingElement, - TreeBuilder.OTHER); - - public static final ElementName LISTING = new ElementName("listing", - "listing", - // CPPONLY: NS_NewHTMLPreElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.PRE_OR_LISTING | SPECIAL); - - public static final ElementName STRONG = new ElementName("strong", "strong", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName ALTGLYPH = new ElementName("altglyph", - "altGlyph", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName CLIPPATH = new ElementName("clippath", - "clipPath", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGClipPathElement, - TreeBuilder.OTHER); - - public static final ElementName MGLYPH = new ElementName("mglyph", "mglyph", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MGLYPH_OR_MALIGNMARK); - - public static final ElementName MATH = new ElementName("math", "math", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MATH); - - public static final ElementName MPATH = new ElementName("mpath", "mpath", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGMPathElement, - TreeBuilder.OTHER); - - public static final ElementName PATH = new ElementName("path", "path", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGPathElement, - TreeBuilder.OTHER); - - public static final ElementName TH = new ElementName("th", "th", - // CPPONLY: NS_NewHTMLTableCellElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG); - - public static final ElementName SWITCH = new ElementName("switch", "switch", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGSwitchElement, - TreeBuilder.OTHER); - - public static final ElementName TEXTPATH = new ElementName("textpath", - "textPath", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGTextPathElement, - TreeBuilder.OTHER); - - public static final ElementName LI = new ElementName("li", "li", - // CPPONLY: NS_NewHTMLLIElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.LI | SPECIAL | OPTIONAL_END_TAG); - - public static final ElementName MI = new ElementName("mi", "mi", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); - - public static final ElementName LINK = new ElementName("link", "link", - // CPPONLY: NS_NewHTMLLinkElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL); - - public static final ElementName MARK = new ElementName("mark", "mark", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName MALIGNMARK = new ElementName("malignmark", - "malignmark", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MGLYPH_OR_MALIGNMARK); - - public static final ElementName MASK = new ElementName("mask", "mask", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGMaskElement, - TreeBuilder.OTHER); - - public static final ElementName TRACK = new ElementName("track", "track", - // CPPONLY: NS_NewHTMLTrackElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.PARAM_OR_SOURCE_OR_TRACK | SPECIAL); - - public static final ElementName DL = new ElementName("dl", "dl", - // CPPONLY: NS_NewHTMLSharedListElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.UL_OR_OL_OR_DL | SPECIAL); - - public static final ElementName HTML = new ElementName("html", "html", - // CPPONLY: NS_NewHTMLSharedElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.HTML | SPECIAL | SCOPING | OPTIONAL_END_TAG); - - public static final ElementName OL = new ElementName("ol", "ol", - // CPPONLY: NS_NewHTMLSharedListElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.UL_OR_OL_OR_DL | SPECIAL); - - public static final ElementName LABEL = new ElementName("label", "label", - // CPPONLY: NS_NewHTMLLabelElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName UL = new ElementName("ul", "ul", - // CPPONLY: NS_NewHTMLSharedListElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.UL_OR_OL_OR_DL | SPECIAL); - - public static final ElementName SMALL = new ElementName("small", "small", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName SYMBOL = new ElementName("symbol", "symbol", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGSymbolElement, - TreeBuilder.OTHER); - - public static final ElementName ALTGLYPHITEM = new ElementName( - "altglyphitem", "altGlyphItem", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName ANIMATETRANSFORM = new ElementName( - "animatetransform", "animateTransform", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGAnimateTransformElement, - TreeBuilder.OTHER); - - public static final ElementName ACRONYM = new ElementName("acronym", - "acronym", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName EM = new ElementName("em", "em", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName FORM = new ElementName("form", "form", - // CPPONLY: NS_NewHTMLFormElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.FORM | SPECIAL); - - public static final ElementName MENUITEM = new ElementName("menuitem", - "menuitem", - // CPPONLY: NS_NewHTMLMenuItemElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MENUITEM); - - public static final ElementName PARAM = new ElementName("param", "param", - // CPPONLY: NS_NewHTMLSharedElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.PARAM_OR_SOURCE_OR_TRACK | SPECIAL); - - public static final ElementName ANIMATEMOTION = new ElementName( - "animatemotion", "animateMotion", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGAnimateMotionElement, - TreeBuilder.OTHER); - - public static final ElementName BUTTON = new ElementName("button", "button", - // CPPONLY: NS_NewHTMLButtonElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.BUTTON | SPECIAL); - - public static final ElementName CAPTION = new ElementName("caption", - "caption", - // CPPONLY: NS_NewHTMLTableCaptionElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.CAPTION | SPECIAL | SCOPING); - - public static final ElementName FIGCAPTION = new ElementName("figcaption", - "figcaption", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName MN = new ElementName("mn", "mn", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); - - public static final ElementName KEYGEN = new ElementName("keygen", "keygen", - // CPPONLY: NS_NewHTMLSpanElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.KEYGEN); - - public static final ElementName MAIN = new ElementName("main", "main", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName OPTION = new ElementName("option", "option", - // CPPONLY: NS_NewHTMLOptionElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OPTION | OPTIONAL_END_TAG); - - public static final ElementName POLYGON = new ElementName("polygon", - "polygon", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGPolygonElement, - TreeBuilder.OTHER); - - public static final ElementName PATTERN = new ElementName("pattern", - "pattern", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGPatternElement, - TreeBuilder.OTHER); - - public static final ElementName SPAN = new ElementName("span", "span", - // CPPONLY: NS_NewHTMLSpanElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); - - public static final ElementName SECTION = new ElementName("section", - "section", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName TSPAN = new ElementName("tspan", "tspan", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGTSpanElement, - TreeBuilder.OTHER); - - public static final ElementName AUDIO = new ElementName("audio", "audio", - // CPPONLY: NS_NewHTMLAudioElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName MO = new ElementName("mo", "mo", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); - - public static final ElementName VIDEO = new ElementName("video", "video", - // CPPONLY: NS_NewHTMLVideoElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName COLGROUP = new ElementName("colgroup", - "colgroup", - // CPPONLY: NS_NewHTMLTableColElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.COLGROUP | SPECIAL | OPTIONAL_END_TAG); - - public static final ElementName FEDISPLACEMENTMAP = new ElementName( - "fedisplacementmap", "feDisplacementMap", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEDisplacementMapElement, - TreeBuilder.OTHER); - - public static final ElementName HGROUP = new ElementName("hgroup", "hgroup", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName RP = new ElementName("rp", "rp", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.RT_OR_RP | OPTIONAL_END_TAG); - - public static final ElementName OPTGROUP = new ElementName("optgroup", - "optgroup", - // CPPONLY: NS_NewHTMLOptGroupElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OPTGROUP | OPTIONAL_END_TAG); - - public static final ElementName SAMP = new ElementName("samp", "samp", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName STOP = new ElementName("stop", "stop", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGStopElement, - TreeBuilder.OTHER); - - public static final ElementName BR = new ElementName("br", "br", - // CPPONLY: NS_NewHTMLBRElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.BR | SPECIAL); - - public static final ElementName ABBR = new ElementName("abbr", "abbr", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName ANIMATECOLOR = new ElementName( - "animatecolor", "animateColor", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName CENTER = new ElementName("center", "center", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); - - public static final ElementName HR = new ElementName("hr", "hr", - // CPPONLY: NS_NewHTMLHRElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.HR | SPECIAL); - - public static final ElementName FEFUNCR = new ElementName("fefuncr", - "feFuncR", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEFuncRElement, - TreeBuilder.OTHER); - - public static final ElementName FECOMPONENTTRANSFER = new ElementName( - "fecomponenttransfer", "feComponentTransfer", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEComponentTransferElement, - TreeBuilder.OTHER); - - public static final ElementName FILTER = new ElementName("filter", "filter", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFilterElement, - TreeBuilder.OTHER); - - public static final ElementName FOOTER = new ElementName("footer", "footer", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName FEGAUSSIANBLUR = new ElementName( - "fegaussianblur", "feGaussianBlur", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEGaussianBlurElement, - TreeBuilder.OTHER); - - public static final ElementName HEADER = new ElementName("header", "header", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName MARKER = new ElementName("marker", "marker", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGMarkerElement, - TreeBuilder.OTHER); - - public static final ElementName METER = new ElementName("meter", "meter", - // CPPONLY: NS_NewHTMLMeterElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName NOBR = new ElementName("nobr", "nobr", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.NOBR); - - public static final ElementName TR = new ElementName("tr", "tr", - // CPPONLY: NS_NewHTMLTableRowElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.TR | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); - - public static final ElementName ADDRESS = new ElementName("address", - "address", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName CANVAS = new ElementName("canvas", "canvas", - // CPPONLY: NS_NewHTMLCanvasElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName DEFS = new ElementName("defs", "defs", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGDefsElement, - TreeBuilder.OTHER); - - public static final ElementName DETAILS = new ElementName("details", - "details", - // CPPONLY: NS_NewHTMLDetailsElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName MS = new ElementName("ms", "ms", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); - - public static final ElementName NOFRAMES = new ElementName("noframes", - "noframes", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.NOFRAMES | SPECIAL); - - public static final ElementName PROGRESS = new ElementName("progress", - "progress", - // CPPONLY: NS_NewHTMLProgressElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName DT = new ElementName("dt", "dt", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.DD_OR_DT | SPECIAL | OPTIONAL_END_TAG); - - public static final ElementName APPLET = new ElementName("applet", "applet", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MARQUEE_OR_APPLET | SPECIAL | SCOPING); - - public static final ElementName BASEFONT = new ElementName("basefont", - "basefont", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL); - - public static final ElementName CONTENT = new ElementName("content", - "content", - // CPPONLY: NS_NewHTMLContentElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName DATALIST = new ElementName("datalist", - "datalist", - // CPPONLY: NS_NewHTMLDataListElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName FOREIGNOBJECT = new ElementName( - "foreignobject", "foreignObject", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGForeignObjectElement, - TreeBuilder.FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG); - - public static final ElementName FIELDSET = new ElementName("fieldset", - "fieldset", - // CPPONLY: NS_NewHTMLFieldSetElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.FIELDSET | SPECIAL); - - public static final ElementName FRAMESET = new ElementName("frameset", - "frameset", - // CPPONLY: NS_NewHTMLFrameSetElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.FRAMESET | SPECIAL); - - public static final ElementName FEOFFSET = new ElementName("feoffset", - "feOffset", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEOffsetElement, - TreeBuilder.OTHER); - - public static final ElementName FESPOTLIGHT = new ElementName("fespotlight", - "feSpotLight", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFESpotLightElement, - TreeBuilder.OTHER); - - public static final ElementName FEPOINTLIGHT = new ElementName( - "fepointlight", "fePointLight", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEPointLightElement, - TreeBuilder.OTHER); - - public static final ElementName FEDISTANTLIGHT = new ElementName( - "fedistantlight", "feDistantLight", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEDistantLightElement, - TreeBuilder.OTHER); - - public static final ElementName FONT = new ElementName("font", "font", - // CPPONLY: NS_NewHTMLFontElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.FONT); - - public static final ElementName INPUT = new ElementName("input", "input", - // CPPONLY: NS_NewHTMLInputElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.INPUT | SPECIAL); - - public static final ElementName LINEARGRADIENT = new ElementName( - "lineargradient", "linearGradient", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGLinearGradientElement, - TreeBuilder.OTHER); - - public static final ElementName MTEXT = new ElementName("mtext", "mtext", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); - - public static final ElementName NOSCRIPT = new ElementName("noscript", - "noscript", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.NOSCRIPT | SPECIAL); - - public static final ElementName RT = new ElementName("rt", "rt", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.RT_OR_RP | OPTIONAL_END_TAG); - - public static final ElementName OBJECT = new ElementName("object", "object", - // CPPONLY: NS_NewHTMLObjectElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OBJECT | SPECIAL | SCOPING); - - public static final ElementName OUTPUT = new ElementName("output", "output", - // CPPONLY: NS_NewHTMLOutputElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OUTPUT); - - public static final ElementName PLAINTEXT = new ElementName("plaintext", - "plaintext", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.PLAINTEXT | SPECIAL); - - public static final ElementName TT = new ElementName("tt", "tt", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); - - public static final ElementName RECT = new ElementName("rect", "rect", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGRectElement, - TreeBuilder.OTHER); - - public static final ElementName RADIALGRADIENT = new ElementName( - "radialgradient", "radialGradient", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGRadialGradientElement, - TreeBuilder.OTHER); - - public static final ElementName SELECT = new ElementName("select", "select", - // CPPONLY: NS_NewHTMLSelectElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.SELECT | SPECIAL); - - public static final ElementName SCRIPT = new ElementName("script", "script", - // CPPONLY: NS_NewHTMLScriptElement, - // CPPONLY: NS_NewSVGScriptElement, - TreeBuilder.SCRIPT | SPECIAL); - - public static final ElementName TFOOT = new ElementName("tfoot", "tfoot", - // CPPONLY: NS_NewHTMLTableSectionElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING - | OPTIONAL_END_TAG); - - public static final ElementName TEXT = new ElementName("text", "text", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGTextElement, - TreeBuilder.OTHER); - - public static final ElementName MENU = new ElementName("menu", "menu", - // CPPONLY: NS_NewHTMLMenuElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); - - public static final ElementName FEDROPSHADOW = new ElementName( - "fedropshadow", "feDropShadow", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEDropShadowElement, - TreeBuilder.OTHER); - - public static final ElementName SHADOW = new ElementName("shadow", "shadow", - // CPPONLY: NS_NewHTMLShadowElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.OTHER); - - public static final ElementName VIEW = new ElementName("view", "view", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGViewElement, - TreeBuilder.OTHER); - - public static final ElementName FECOLORMATRIX = new ElementName( - "fecolormatrix", "feColorMatrix", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEColorMatrixElement, - TreeBuilder.OTHER); - - public static final ElementName FECONVOLVEMATRIX = new ElementName( - "feconvolvematrix", "feConvolveMatrix", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEConvolveMatrixElement, - TreeBuilder.OTHER); - - public static final ElementName BODY = new ElementName("body", "body", - // CPPONLY: NS_NewHTMLBodyElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.BODY | SPECIAL | OPTIONAL_END_TAG); - - public static final ElementName FEMORPHOLOGY = new ElementName( - "femorphology", "feMorphology", - // CPPONLY: NS_NewHTMLUnknownElement, - // CPPONLY: NS_NewSVGFEMorphologyElement, - TreeBuilder.OTHER); - - public static final ElementName RUBY = new ElementName("ruby", "ruby", - // CPPONLY: NS_NewHTMLElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); - - public static final ElementName SUMMARY = new ElementName("summary", - "summary", - // CPPONLY: NS_NewHTMLSummaryElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY - | SPECIAL); - - public static final ElementName TBODY = new ElementName("tbody", "tbody", - // CPPONLY: NS_NewHTMLTableSectionElement, - // CPPONLY: NS_NewSVGUnknownElement, - TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING - | OPTIONAL_END_TAG); - - private final static @NoLength ElementName[] ELEMENT_NAMES = { MN, ELLIPSE, - FRAMESET, H2, MGLYPH, NOBR, RADIALGRADIENT, RTC, EMBED, STRIKE, OL, - OPTGROUP, PROGRESS, MTEXT, VIEW, IMG, WBR, METADATA, ASIDE, - FECOMPOSITE, DIALOG, MI, EM, TSPAN, FEFUNCR, DEFS, CONTENT, - FEDISTANTLIGHT, OUTPUT, TEXT, FEMORPHOLOGY, DEL, NAV, SET, Q, H6, - RB, LEGEND, BLOCKQUOTE, FEMERGE, MARQUEE, TIME, LISTING, TH, MASK, - SYMBOL, ANIMATEMOTION, POLYGON, COLGROUP, ABBR, FEGAUSSIANBLUR, - ADDRESS, MS, APPLET, FOREIGNOBJECT, FESPOTLIGHT, INPUT, RT, TT, - SCRIPT, FEDROPSHADOW, FECONVOLVEMATRIX, SUMMARY, BDO, DIR, KBD, A, - SVG, VAR, I, U, H4, DATA, TEXTAREA, DD, FEFLOOD, TD, ANIMATE, - CIRCLE, FEMERGENODE, FRAME, IFRAME, PICTURE, TABLE, ALTGLYPHDEF, - FEDIFFUSELIGHTING, ALTGLYPH, MPATH, TEXTPATH, MARK, DL, UL, - ANIMATETRANSFORM, MENUITEM, CAPTION, MAIN, SPAN, MO, HGROUP, STOP, - CENTER, FILTER, MARKER, TR, CANVAS, DETAILS, NOFRAMES, DT, BASEFONT, - DATALIST, FIELDSET, FEOFFSET, FEPOINTLIGHT, FONT, LINEARGRADIENT, - NOSCRIPT, OBJECT, PLAINTEXT, RECT, SELECT, TFOOT, MENU, SHADOW, - FECOLORMATRIX, BODY, RUBY, TBODY, BIG, COL, DFN, DIV, INS, MAP, PRE, - B, SUB, SUP, USE, G, XMP, P, S, H1, H3, H5, AREA, FEFUNCA, META, - FEFUNCB, DESC, BGSOUND, FEBLEND, HEAD, NOEMBED, THEAD, ARTICLE, - BASE, CODE, CITE, FETURBULENCE, FEIMAGE, FETILE, FIGURE, IMAGE, - LINE, POLYLINE, SOURCE, STYLE, TITLE, TEMPLATE, GLYPHREF, FEFUNCG, - FESPECULARLIGHTING, STRONG, CLIPPATH, MATH, PATH, SWITCH, LI, LINK, - MALIGNMARK, TRACK, HTML, LABEL, SMALL, ALTGLYPHITEM, ACRONYM, FORM, - PARAM, BUTTON, FIGCAPTION, KEYGEN, OPTION, PATTERN, SECTION, AUDIO, - VIDEO, FEDISPLACEMENTMAP, RP, SAMP, BR, ANIMATECOLOR, HR, - FECOMPONENTTRANSFER, FOOTER, HEADER, METER, }; - - private final static int[] ELEMENT_HASHES = { 1902641154, 1749395095, - 2001349720, 893386754, 1803876550, 1971938532, 2007781534, 59821379, - 1732381397, 1756600614, 1870135298, 1939219752, 1990037800, - 2005324101, 2060065124, 55104723, 62450211, 1686489160, 1747048757, - 1749932347, 1782357526, 1818755074, 1881669634, 1907959605, - 1967760215, 1983533124, 1999917383, 2001392798, 2006329158, - 2008994116, 2085266636, 52485715, 57733651, 60354131, 67633153, - 960495618, 1703936002, 1736200310, 1747838298, 1749723735, - 1753362711, 1757157700, 1786534215, 1805647874, 1854245076, - 1874102998, 1898223949, 1906087319, 1932928296, 1965115924, - 1968053806, 1982173479, 1986527234, 1998724870, 2001309869, - 2001392795, 2003183333, 2005925890, 2006974466, 2008340774, - 2051837468, 2068523856, 2092255447, 51438659, 52488851, 56151587, - 59244545, 60347747, 61925907, 63438849, 69730305, 926941186, - 1681770564, 1689922072, 1730150402, 1733076167, 1738539010, - 1747306711, 1748225318, 1749673195, 1749813541, 1751386406, - 1755148615, 1757137429, 1763839627, 1783388497, 1797585096, - 1803929861, 1807599880, 1854228692, 1864368130, 1873281026, - 1881498736, 1887579800, 1899272519, 1904412884, 1907435316, - 1919418370, 1935549734, 1941221172, 1966223078, 1967795910, - 1971461414, 1973420034, 1982935782, 1983633431, 1988763672, - 1998585858, 1999397992, 2000525512, 2001349704, 2001349736, - 2001392796, 2001495140, 2004635806, 2005719336, 2006028454, - 2006896969, 2007601444, 2008125638, 2008851557, 2021937364, - 2058653206, 2068523853, 2083120164, 2091479332, 2092557349, - 51434643, 51961587, 52486755, 52490899, 55110883, 57206291, - 58773795, 59768833, 60345171, 60352339, 61395251, 62390273, - 62973651, 67108865, 68681729, 876609538, 910163970, 943718402, - 1679960596, 1682547543, 1686491348, 1699324759, 1715310660, - 1730965751, 1733054663, 1733890180, 1737099991, 1740181637, - 1747176599, 1747814436, 1748100148, 1748359220, 1749656156, - 1749715159, 1749801286, 1749905526, 1751288021, 1752979652, - 1755076808, 1756474198, 1756625221, 1757146773, 1757268168, - 1766992520, 1783210839, 1783388498, 1790207270, 1798686984, - 1803929812, 1805502724, 1806806678, 1818230786, 1853642948, - 1854228698, 1857653029, 1868312196, 1870268949, 1874053333, - 1881288348, 1881613047, 1884120164, 1889085973, 1898753862, - 1900845386, 1903302038, 1905563974, 1906135367, 1907661127, - 1914900309, 1925844629, 1934172497, 1938817026, 1941178676, - 1963982850, 1965334268, 1967128578, 1967788867, 1967795958, - 1968836118, 1971465813, }; - +public static final ElementName BIG = new ElementName("big", "big", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName BDO = new ElementName("bdo", "bdo", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName COL = new ElementName("col", "col", +// CPPONLY: NS_NewHTMLTableColElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.COL | SPECIAL); +public static final ElementName DEL = new ElementName("del", "del", +// CPPONLY: NS_NewHTMLModElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName DFN = new ElementName("dfn", "dfn", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName DIR = new ElementName("dir", "dir", +// CPPONLY: NS_NewHTMLSharedElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName DIV = new ElementName("div", "div", +// CPPONLY: NS_NewHTMLDivElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); +public static final ElementName IMG = new ElementName("img", "img", +// CPPONLY: NS_NewHTMLImageElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.IMG | SPECIAL); +public static final ElementName INS = new ElementName("ins", "ins", +// CPPONLY: NS_NewHTMLModElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName KBD = new ElementName("kbd", "kbd", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName MAP = new ElementName("map", "map", +// CPPONLY: NS_NewHTMLMapElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName NAV = new ElementName("nav", "nav", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName PRE = new ElementName("pre", "pre", +// CPPONLY: NS_NewHTMLPreElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.PRE_OR_LISTING | SPECIAL); +public static final ElementName A = new ElementName("a", "a", +// CPPONLY: NS_NewHTMLAnchorElement, +// CPPONLY: NS_NewSVGAElement, +TreeBuilder.A); +public static final ElementName B = new ElementName("b", "b", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName RTC = new ElementName("rtc", "rtc", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.RB_OR_RTC | OPTIONAL_END_TAG); +public static final ElementName SUB = new ElementName("sub", "sub", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); +public static final ElementName SVG = new ElementName("svg", "svg", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGSVGElement, +TreeBuilder.SVG); +public static final ElementName SUP = new ElementName("sup", "sup", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); +public static final ElementName SET = new ElementName("set", "set", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGSetElement, +TreeBuilder.OTHER); +public static final ElementName USE = new ElementName("use", "use", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUseElement, +TreeBuilder.OTHER); +public static final ElementName VAR = new ElementName("var", "var", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); +public static final ElementName G = new ElementName("g", "g", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGGElement, +TreeBuilder.OTHER); +public static final ElementName WBR = new ElementName("wbr", "wbr", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.AREA_OR_WBR | SPECIAL); +public static final ElementName XMP = new ElementName("xmp", "xmp", +// CPPONLY: NS_NewHTMLPreElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.XMP | SPECIAL); +public static final ElementName I = new ElementName("i", "i", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName P = new ElementName("p", "p", +// CPPONLY: NS_NewHTMLParagraphElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.P | SPECIAL | OPTIONAL_END_TAG); +public static final ElementName Q = new ElementName("q", "q", +// CPPONLY: NS_NewHTMLSharedElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName S = new ElementName("s", "s", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName U = new ElementName("u", "u", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName H1 = new ElementName("h1", "h1", +// CPPONLY: NS_NewHTMLHeadingElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); +public static final ElementName H2 = new ElementName("h2", "h2", +// CPPONLY: NS_NewHTMLHeadingElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); +public static final ElementName H3 = new ElementName("h3", "h3", +// CPPONLY: NS_NewHTMLHeadingElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); +public static final ElementName H4 = new ElementName("h4", "h4", +// CPPONLY: NS_NewHTMLHeadingElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); +public static final ElementName H5 = new ElementName("h5", "h5", +// CPPONLY: NS_NewHTMLHeadingElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); +public static final ElementName H6 = new ElementName("h6", "h6", +// CPPONLY: NS_NewHTMLHeadingElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.H1_OR_H2_OR_H3_OR_H4_OR_H5_OR_H6 | SPECIAL); +public static final ElementName AREA = new ElementName("area", "area", +// CPPONLY: NS_NewHTMLAreaElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.AREA_OR_WBR | SPECIAL); +public static final ElementName DATA = new ElementName("data", "data", +// CPPONLY: NS_NewHTMLDataElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName FEFUNCA = new ElementName("fefunca", "feFuncA", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEFuncAElement, +TreeBuilder.OTHER); +public static final ElementName METADATA = new ElementName("metadata", "metadata", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGMetadataElement, +TreeBuilder.OTHER); +public static final ElementName META = new ElementName("meta", "meta", +// CPPONLY: NS_NewHTMLMetaElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.META | SPECIAL); +public static final ElementName TEXTAREA = new ElementName("textarea", "textarea", +// CPPONLY: NS_NewHTMLTextAreaElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.TEXTAREA | SPECIAL); +public static final ElementName FEFUNCB = new ElementName("fefuncb", "feFuncB", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEFuncBElement, +TreeBuilder.OTHER); +public static final ElementName RB = new ElementName("rb", "rb", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.RB_OR_RTC | OPTIONAL_END_TAG); +public static final ElementName DESC = new ElementName("desc", "desc", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGDescElement, +TreeBuilder.FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG); +public static final ElementName DD = new ElementName("dd", "dd", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.DD_OR_DT | SPECIAL | OPTIONAL_END_TAG); +public static final ElementName BGSOUND = new ElementName("bgsound", "bgsound", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL); +public static final ElementName EMBED = new ElementName("embed", "embed", +// CPPONLY: NS_NewHTMLEmbedElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.EMBED | SPECIAL); +public static final ElementName FEBLEND = new ElementName("feblend", "feBlend", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEBlendElement, +TreeBuilder.OTHER); +public static final ElementName FEFLOOD = new ElementName("feflood", "feFlood", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEFloodElement, +TreeBuilder.OTHER); +public static final ElementName HEAD = new ElementName("head", "head", +// CPPONLY: NS_NewHTMLSharedElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.HEAD | SPECIAL | OPTIONAL_END_TAG); +public static final ElementName LEGEND = new ElementName("legend", "legend", +// CPPONLY: NS_NewHTMLLegendElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName NOEMBED = new ElementName("noembed", "noembed", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.NOEMBED | SPECIAL); +public static final ElementName TD = new ElementName("td", "td", +// CPPONLY: NS_NewHTMLTableCellElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG); +public static final ElementName THEAD = new ElementName("thead", "thead", +// CPPONLY: NS_NewHTMLTableSectionElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); +public static final ElementName ASIDE = new ElementName("aside", "aside", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName ARTICLE = new ElementName("article", "article", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName ANIMATE = new ElementName("animate", "animate", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGAnimateElement, +TreeBuilder.OTHER); +public static final ElementName BASE = new ElementName("base", "base", +// CPPONLY: NS_NewHTMLSharedElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.BASE | SPECIAL); +public static final ElementName BLOCKQUOTE = new ElementName("blockquote", "blockquote", +// CPPONLY: NS_NewHTMLSharedElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); +public static final ElementName CODE = new ElementName("code", "code", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName CIRCLE = new ElementName("circle", "circle", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGCircleElement, +TreeBuilder.OTHER); +public static final ElementName CITE = new ElementName("cite", "cite", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName ELLIPSE = new ElementName("ellipse", "ellipse", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGEllipseElement, +TreeBuilder.OTHER); +public static final ElementName FETURBULENCE = new ElementName("feturbulence", "feTurbulence", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFETurbulenceElement, +TreeBuilder.OTHER); +public static final ElementName FEMERGENODE = new ElementName("femergenode", "feMergeNode", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEMergeNodeElement, +TreeBuilder.OTHER); +public static final ElementName FEIMAGE = new ElementName("feimage", "feImage", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEImageElement, +TreeBuilder.OTHER); +public static final ElementName FEMERGE = new ElementName("femerge", "feMerge", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEMergeElement, +TreeBuilder.OTHER); +public static final ElementName FETILE = new ElementName("fetile", "feTile", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFETileElement, +TreeBuilder.OTHER); +public static final ElementName FRAME = new ElementName("frame", "frame", +// CPPONLY: NS_NewHTMLFrameElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.FRAME | SPECIAL); +public static final ElementName FIGURE = new ElementName("figure", "figure", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName FECOMPOSITE = new ElementName("fecomposite", "feComposite", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFECompositeElement, +TreeBuilder.OTHER); +public static final ElementName IMAGE = new ElementName("image", "image", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGImageElement, +TreeBuilder.IMAGE); +public static final ElementName IFRAME = new ElementName("iframe", "iframe", +// CPPONLY: NS_NewHTMLIFrameElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.IFRAME | SPECIAL); +public static final ElementName LINE = new ElementName("line", "line", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGLineElement, +TreeBuilder.OTHER); +public static final ElementName MARQUEE = new ElementName("marquee", "marquee", +// CPPONLY: NS_NewHTMLDivElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MARQUEE_OR_APPLET | SPECIAL | SCOPING); +public static final ElementName POLYLINE = new ElementName("polyline", "polyline", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGPolylineElement, +TreeBuilder.OTHER); +public static final ElementName PICTURE = new ElementName("picture", "picture", +// CPPONLY: NS_NewHTMLPictureElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName SOURCE = new ElementName("source", "source", +// CPPONLY: NS_NewHTMLSourceElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.PARAM_OR_SOURCE_OR_TRACK); +public static final ElementName STRIKE = new ElementName("strike", "strike", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName STYLE = new ElementName("style", "style", +// CPPONLY: NS_NewHTMLStyleElement, +// CPPONLY: NS_NewSVGStyleElement, +TreeBuilder.STYLE | SPECIAL); +public static final ElementName TABLE = new ElementName("table", "table", +// CPPONLY: NS_NewHTMLTableElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.TABLE | SPECIAL | FOSTER_PARENTING | SCOPING); +public static final ElementName TITLE = new ElementName("title", "title", +// CPPONLY: NS_NewHTMLTitleElement, +// CPPONLY: NS_NewSVGTitleElement, +TreeBuilder.TITLE | SPECIAL | SCOPING_AS_SVG); +public static final ElementName TIME = new ElementName("time", "time", +// CPPONLY: NS_NewHTMLTimeElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName TEMPLATE = new ElementName("template", "template", +// CPPONLY: NS_NewHTMLTemplateElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.TEMPLATE | SPECIAL | SCOPING); +public static final ElementName ALTGLYPHDEF = new ElementName("altglyphdef", "altGlyphDef", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName GLYPHREF = new ElementName("glyphref", "glyphRef", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName DIALOG = new ElementName("dialog", "dialog", +// CPPONLY: NS_NewHTMLDialogElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName FEFUNCG = new ElementName("fefuncg", "feFuncG", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEFuncGElement, +TreeBuilder.OTHER); +public static final ElementName FEDIFFUSELIGHTING = new ElementName("fediffuselighting", "feDiffuseLighting", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEDiffuseLightingElement, +TreeBuilder.OTHER); +public static final ElementName FESPECULARLIGHTING = new ElementName("fespecularlighting", "feSpecularLighting", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFESpecularLightingElement, +TreeBuilder.OTHER); +public static final ElementName LISTING = new ElementName("listing", "listing", +// CPPONLY: NS_NewHTMLPreElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.PRE_OR_LISTING | SPECIAL); +public static final ElementName STRONG = new ElementName("strong", "strong", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName ALTGLYPH = new ElementName("altglyph", "altGlyph", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName CLIPPATH = new ElementName("clippath", "clipPath", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGClipPathElement, +TreeBuilder.OTHER); +public static final ElementName MGLYPH = new ElementName("mglyph", "mglyph", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MGLYPH_OR_MALIGNMARK); +public static final ElementName MATH = new ElementName("math", "math", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MATH); +public static final ElementName MPATH = new ElementName("mpath", "mpath", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGMPathElement, +TreeBuilder.OTHER); +public static final ElementName PATH = new ElementName("path", "path", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGPathElement, +TreeBuilder.OTHER); +public static final ElementName TH = new ElementName("th", "th", +// CPPONLY: NS_NewHTMLTableCellElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.TD_OR_TH | SPECIAL | SCOPING | OPTIONAL_END_TAG); +public static final ElementName SWITCH = new ElementName("switch", "switch", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGSwitchElement, +TreeBuilder.OTHER); +public static final ElementName TEXTPATH = new ElementName("textpath", "textPath", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGTextPathElement, +TreeBuilder.OTHER); +public static final ElementName LI = new ElementName("li", "li", +// CPPONLY: NS_NewHTMLLIElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.LI | SPECIAL | OPTIONAL_END_TAG); +public static final ElementName MI = new ElementName("mi", "mi", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); +public static final ElementName LINK = new ElementName("link", "link", +// CPPONLY: NS_NewHTMLLinkElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL); +public static final ElementName MARK = new ElementName("mark", "mark", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName MALIGNMARK = new ElementName("malignmark", "malignmark", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MGLYPH_OR_MALIGNMARK); +public static final ElementName MASK = new ElementName("mask", "mask", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGMaskElement, +TreeBuilder.OTHER); +public static final ElementName TRACK = new ElementName("track", "track", +// CPPONLY: NS_NewHTMLTrackElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.PARAM_OR_SOURCE_OR_TRACK | SPECIAL); +public static final ElementName DL = new ElementName("dl", "dl", +// CPPONLY: NS_NewHTMLSharedListElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.UL_OR_OL_OR_DL | SPECIAL); +public static final ElementName HTML = new ElementName("html", "html", +// CPPONLY: NS_NewHTMLSharedElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.HTML | SPECIAL | SCOPING | OPTIONAL_END_TAG); +public static final ElementName OL = new ElementName("ol", "ol", +// CPPONLY: NS_NewHTMLSharedListElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.UL_OR_OL_OR_DL | SPECIAL); +public static final ElementName LABEL = new ElementName("label", "label", +// CPPONLY: NS_NewHTMLLabelElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName UL = new ElementName("ul", "ul", +// CPPONLY: NS_NewHTMLSharedListElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.UL_OR_OL_OR_DL | SPECIAL); +public static final ElementName SMALL = new ElementName("small", "small", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName SYMBOL = new ElementName("symbol", "symbol", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGSymbolElement, +TreeBuilder.OTHER); +public static final ElementName ALTGLYPHITEM = new ElementName("altglyphitem", "altGlyphItem", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName ANIMATETRANSFORM = new ElementName("animatetransform", "animateTransform", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGAnimateTransformElement, +TreeBuilder.OTHER); +public static final ElementName ACRONYM = new ElementName("acronym", "acronym", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName EM = new ElementName("em", "em", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName FORM = new ElementName("form", "form", +// CPPONLY: NS_NewHTMLFormElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.FORM | SPECIAL); +public static final ElementName MENUITEM = new ElementName("menuitem", "menuitem", +// CPPONLY: NS_NewHTMLMenuItemElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MENUITEM); +public static final ElementName PARAM = new ElementName("param", "param", +// CPPONLY: NS_NewHTMLSharedElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.PARAM_OR_SOURCE_OR_TRACK | SPECIAL); +public static final ElementName ANIMATEMOTION = new ElementName("animatemotion", "animateMotion", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGAnimateMotionElement, +TreeBuilder.OTHER); +public static final ElementName BUTTON = new ElementName("button", "button", +// CPPONLY: NS_NewHTMLButtonElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.BUTTON | SPECIAL); +public static final ElementName CAPTION = new ElementName("caption", "caption", +// CPPONLY: NS_NewHTMLTableCaptionElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.CAPTION | SPECIAL | SCOPING); +public static final ElementName FIGCAPTION = new ElementName("figcaption", "figcaption", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName MN = new ElementName("mn", "mn", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); +public static final ElementName KEYGEN = new ElementName("keygen", "keygen", +// CPPONLY: NS_NewHTMLSpanElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.KEYGEN); +public static final ElementName MAIN = new ElementName("main", "main", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName OPTION = new ElementName("option", "option", +// CPPONLY: NS_NewHTMLOptionElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OPTION | OPTIONAL_END_TAG); +public static final ElementName POLYGON = new ElementName("polygon", "polygon", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGPolygonElement, +TreeBuilder.OTHER); +public static final ElementName PATTERN = new ElementName("pattern", "pattern", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGPatternElement, +TreeBuilder.OTHER); +public static final ElementName SPAN = new ElementName("span", "span", +// CPPONLY: NS_NewHTMLSpanElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); +public static final ElementName SECTION = new ElementName("section", "section", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName TSPAN = new ElementName("tspan", "tspan", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGTSpanElement, +TreeBuilder.OTHER); +public static final ElementName AUDIO = new ElementName("audio", "audio", +// CPPONLY: NS_NewHTMLAudioElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName MO = new ElementName("mo", "mo", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); +public static final ElementName VIDEO = new ElementName("video", "video", +// CPPONLY: NS_NewHTMLVideoElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName COLGROUP = new ElementName("colgroup", "colgroup", +// CPPONLY: NS_NewHTMLTableColElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.COLGROUP | SPECIAL | OPTIONAL_END_TAG); +public static final ElementName FEDISPLACEMENTMAP = new ElementName("fedisplacementmap", "feDisplacementMap", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEDisplacementMapElement, +TreeBuilder.OTHER); +public static final ElementName HGROUP = new ElementName("hgroup", "hgroup", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName RP = new ElementName("rp", "rp", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.RT_OR_RP | OPTIONAL_END_TAG); +public static final ElementName OPTGROUP = new ElementName("optgroup", "optgroup", +// CPPONLY: NS_NewHTMLOptGroupElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OPTGROUP | OPTIONAL_END_TAG); +public static final ElementName SAMP = new ElementName("samp", "samp", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName STOP = new ElementName("stop", "stop", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGStopElement, +TreeBuilder.OTHER); +public static final ElementName BR = new ElementName("br", "br", +// CPPONLY: NS_NewHTMLBRElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.BR | SPECIAL); +public static final ElementName ABBR = new ElementName("abbr", "abbr", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName ANIMATECOLOR = new ElementName("animatecolor", "animateColor", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName CENTER = new ElementName("center", "center", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); +public static final ElementName HR = new ElementName("hr", "hr", +// CPPONLY: NS_NewHTMLHRElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.HR | SPECIAL); +public static final ElementName FEFUNCR = new ElementName("fefuncr", "feFuncR", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEFuncRElement, +TreeBuilder.OTHER); +public static final ElementName FECOMPONENTTRANSFER = new ElementName("fecomponenttransfer", "feComponentTransfer", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEComponentTransferElement, +TreeBuilder.OTHER); +public static final ElementName FILTER = new ElementName("filter", "filter", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFilterElement, +TreeBuilder.OTHER); +public static final ElementName FOOTER = new ElementName("footer", "footer", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName FEGAUSSIANBLUR = new ElementName("fegaussianblur", "feGaussianBlur", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEGaussianBlurElement, +TreeBuilder.OTHER); +public static final ElementName HEADER = new ElementName("header", "header", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName MARKER = new ElementName("marker", "marker", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGMarkerElement, +TreeBuilder.OTHER); +public static final ElementName METER = new ElementName("meter", "meter", +// CPPONLY: NS_NewHTMLMeterElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName NOBR = new ElementName("nobr", "nobr", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.NOBR); +public static final ElementName TR = new ElementName("tr", "tr", +// CPPONLY: NS_NewHTMLTableRowElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.TR | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); +public static final ElementName ADDRESS = new ElementName("address", "address", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName CANVAS = new ElementName("canvas", "canvas", +// CPPONLY: NS_NewHTMLCanvasElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName DEFS = new ElementName("defs", "defs", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGDefsElement, +TreeBuilder.OTHER); +public static final ElementName DETAILS = new ElementName("details", "details", +// CPPONLY: NS_NewHTMLDetailsElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName MS = new ElementName("ms", "ms", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); +public static final ElementName NOFRAMES = new ElementName("noframes", "noframes", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.NOFRAMES | SPECIAL); +public static final ElementName PROGRESS = new ElementName("progress", "progress", +// CPPONLY: NS_NewHTMLProgressElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName DT = new ElementName("dt", "dt", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.DD_OR_DT | SPECIAL | OPTIONAL_END_TAG); +public static final ElementName APPLET = new ElementName("applet", "applet", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MARQUEE_OR_APPLET | SPECIAL | SCOPING); +public static final ElementName BASEFONT = new ElementName("basefont", "basefont", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.LINK_OR_BASEFONT_OR_BGSOUND | SPECIAL); +public static final ElementName CONTENT = new ElementName("content", "content", +// CPPONLY: NS_NewHTMLContentElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName DATALIST = new ElementName("datalist", "datalist", +// CPPONLY: NS_NewHTMLDataListElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OTHER); +public static final ElementName FOREIGNOBJECT = new ElementName("foreignobject", "foreignObject", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGForeignObjectElement, +TreeBuilder.FOREIGNOBJECT_OR_DESC | SCOPING_AS_SVG); +public static final ElementName FIELDSET = new ElementName("fieldset", "fieldset", +// CPPONLY: NS_NewHTMLFieldSetElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.FIELDSET | SPECIAL); +public static final ElementName FRAMESET = new ElementName("frameset", "frameset", +// CPPONLY: NS_NewHTMLFrameSetElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.FRAMESET | SPECIAL); +public static final ElementName FEOFFSET = new ElementName("feoffset", "feOffset", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEOffsetElement, +TreeBuilder.OTHER); +public static final ElementName FESPOTLIGHT = new ElementName("fespotlight", "feSpotLight", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFESpotLightElement, +TreeBuilder.OTHER); +public static final ElementName FEPOINTLIGHT = new ElementName("fepointlight", "fePointLight", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEPointLightElement, +TreeBuilder.OTHER); +public static final ElementName FEDISTANTLIGHT = new ElementName("fedistantlight", "feDistantLight", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEDistantLightElement, +TreeBuilder.OTHER); +public static final ElementName FONT = new ElementName("font", "font", +// CPPONLY: NS_NewHTMLFontElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.FONT); +public static final ElementName INPUT = new ElementName("input", "input", +// CPPONLY: NS_NewHTMLInputElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.INPUT | SPECIAL); +public static final ElementName LINEARGRADIENT = new ElementName("lineargradient", "linearGradient", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGLinearGradientElement, +TreeBuilder.OTHER); +public static final ElementName MTEXT = new ElementName("mtext", "mtext", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.MI_MO_MN_MS_MTEXT | SCOPING_AS_MATHML); +public static final ElementName NOSCRIPT = new ElementName("noscript", "noscript", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.NOSCRIPT | SPECIAL); +public static final ElementName RT = new ElementName("rt", "rt", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.RT_OR_RP | OPTIONAL_END_TAG); +public static final ElementName OBJECT = new ElementName("object", "object", +// CPPONLY: NS_NewHTMLObjectElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OBJECT | SPECIAL | SCOPING); +public static final ElementName OUTPUT = new ElementName("output", "output", +// CPPONLY: NS_NewHTMLOutputElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.OUTPUT); +public static final ElementName PLAINTEXT = new ElementName("plaintext", "plaintext", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.PLAINTEXT | SPECIAL); +public static final ElementName TT = new ElementName("tt", "tt", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.B_OR_BIG_OR_CODE_OR_EM_OR_I_OR_S_OR_SMALL_OR_STRIKE_OR_STRONG_OR_TT_OR_U); +public static final ElementName RECT = new ElementName("rect", "rect", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGRectElement, +TreeBuilder.OTHER); +public static final ElementName RADIALGRADIENT = new ElementName("radialgradient", "radialGradient", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGRadialGradientElement, +TreeBuilder.OTHER); +public static final ElementName SELECT = new ElementName("select", "select", +// CPPONLY: NS_NewHTMLSelectElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.SELECT | SPECIAL); +public static final ElementName SCRIPT = new ElementName("script", "script", +// CPPONLY: NS_NewHTMLScriptElement, +// CPPONLY: NS_NewSVGScriptElement, +TreeBuilder.SCRIPT | SPECIAL); +public static final ElementName TFOOT = new ElementName("tfoot", "tfoot", +// CPPONLY: NS_NewHTMLTableSectionElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); +public static final ElementName TEXT = new ElementName("text", "text", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGTextElement, +TreeBuilder.OTHER); +public static final ElementName MENU = new ElementName("menu", "menu", +// CPPONLY: NS_NewHTMLMenuElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.DIV_OR_BLOCKQUOTE_OR_CENTER_OR_MENU | SPECIAL); +public static final ElementName FEDROPSHADOW = new ElementName("fedropshadow", "feDropShadow", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEDropShadowElement, +TreeBuilder.OTHER); +public static final ElementName VIEW = new ElementName("view", "view", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGViewElement, +TreeBuilder.OTHER); +public static final ElementName FECOLORMATRIX = new ElementName("fecolormatrix", "feColorMatrix", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEColorMatrixElement, +TreeBuilder.OTHER); +public static final ElementName FECONVOLVEMATRIX = new ElementName("feconvolvematrix", "feConvolveMatrix", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEConvolveMatrixElement, +TreeBuilder.OTHER); +public static final ElementName BODY = new ElementName("body", "body", +// CPPONLY: NS_NewHTMLBodyElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.BODY | SPECIAL | OPTIONAL_END_TAG); +public static final ElementName FEMORPHOLOGY = new ElementName("femorphology", "feMorphology", +// CPPONLY: NS_NewHTMLUnknownElement, +// CPPONLY: NS_NewSVGFEMorphologyElement, +TreeBuilder.OTHER); +public static final ElementName RUBY = new ElementName("ruby", "ruby", +// CPPONLY: NS_NewHTMLElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.RUBY_OR_SPAN_OR_SUB_OR_SUP_OR_VAR); +public static final ElementName SUMMARY = new ElementName("summary", "summary", +// CPPONLY: NS_NewHTMLSummaryElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.ADDRESS_OR_ARTICLE_OR_ASIDE_OR_DETAILS_OR_DIALOG_OR_DIR_OR_FIGCAPTION_OR_FIGURE_OR_FOOTER_OR_HEADER_OR_HGROUP_OR_MAIN_OR_NAV_OR_SECTION_OR_SUMMARY | SPECIAL); +public static final ElementName TBODY = new ElementName("tbody", "tbody", +// CPPONLY: NS_NewHTMLTableSectionElement, +// CPPONLY: NS_NewSVGUnknownElement, +TreeBuilder.TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); +private final static @NoLength ElementName[] ELEMENT_NAMES = { +MN, +ELLIPSE, +FIELDSET, +H2, +MGLYPH, +METER, +RECT, +RTC, +EMBED, +STRIKE, +OL, +OPTGROUP, +NOFRAMES, +LINEARGRADIENT, +VIEW, +IMG, +WBR, +METADATA, +ASIDE, +FECOMPOSITE, +DIALOG, +MI, +EM, +TSPAN, +FEFUNCR, +CANVAS, +BASEFONT, +FEPOINTLIGHT, +OBJECT, +TFOOT, +FEMORPHOLOGY, +DEL, +NAV, +SET, +Q, +H6, +RB, +LEGEND, +BLOCKQUOTE, +FEMERGE, +MARQUEE, +TIME, +LISTING, +TH, +MASK, +SYMBOL, +ANIMATEMOTION, +POLYGON, +COLGROUP, +ABBR, +FEGAUSSIANBLUR, +TR, +DETAILS, +DT, +DATALIST, +FEOFFSET, +FONT, +NOSCRIPT, +PLAINTEXT, +SELECT, +MENU, +FECONVOLVEMATRIX, +SUMMARY, +BDO, +DIR, +KBD, +A, +SVG, +VAR, +I, +U, +H4, +DATA, +TEXTAREA, +DD, +FEFLOOD, +TD, +ANIMATE, +CIRCLE, +FEMERGENODE, +FRAME, +IFRAME, +PICTURE, +TABLE, +ALTGLYPHDEF, +FEDIFFUSELIGHTING, +ALTGLYPH, +MPATH, +TEXTPATH, +MARK, +DL, +UL, +ANIMATETRANSFORM, +MENUITEM, +CAPTION, +MAIN, +SPAN, +MO, +HGROUP, +STOP, +CENTER, +FILTER, +MARKER, +NOBR, +ADDRESS, +DEFS, +MS, +PROGRESS, +APPLET, +CONTENT, +FOREIGNOBJECT, +FRAMESET, +FESPOTLIGHT, +FEDISTANTLIGHT, +INPUT, +MTEXT, +RT, +OUTPUT, +TT, +RADIALGRADIENT, +SCRIPT, +TEXT, +FEDROPSHADOW, +FECOLORMATRIX, +BODY, +RUBY, +TBODY, +BIG, +COL, +DFN, +DIV, +INS, +MAP, +PRE, +B, +SUB, +SUP, +USE, +G, +XMP, +P, +S, +H1, +H3, +H5, +AREA, +FEFUNCA, +META, +FEFUNCB, +DESC, +BGSOUND, +FEBLEND, +HEAD, +NOEMBED, +THEAD, +ARTICLE, +BASE, +CODE, +CITE, +FETURBULENCE, +FEIMAGE, +FETILE, +FIGURE, +IMAGE, +LINE, +POLYLINE, +SOURCE, +STYLE, +TITLE, +TEMPLATE, +GLYPHREF, +FEFUNCG, +FESPECULARLIGHTING, +STRONG, +CLIPPATH, +MATH, +PATH, +SWITCH, +LI, +LINK, +MALIGNMARK, +TRACK, +HTML, +LABEL, +SMALL, +ALTGLYPHITEM, +ACRONYM, +FORM, +PARAM, +BUTTON, +FIGCAPTION, +KEYGEN, +OPTION, +PATTERN, +SECTION, +AUDIO, +VIDEO, +FEDISPLACEMENTMAP, +RP, +SAMP, +BR, +ANIMATECOLOR, +HR, +FECOMPONENTTRANSFER, +FOOTER, +HEADER, +}; +private final static int[] ELEMENT_HASHES = { +1902641154, +1749395095, +2001349704, +893386754, +1803876550, +1971465813, +2007601444, +59821379, +1732381397, +1756600614, +1870135298, +1939219752, +1988763672, +2004635806, +2060065124, +55104723, +62450211, +1686489160, +1747048757, +1749932347, +1782357526, +1818755074, +1881669634, +1907959605, +1967760215, +1982935782, +1999397992, +2001392796, +2006028454, +2008851557, +2085266636, +52485715, +57733651, +60354131, +67633153, +960495618, +1703936002, +1736200310, +1747838298, +1749723735, +1753362711, +1757157700, +1786534215, +1805647874, +1854245076, +1874102998, +1898223949, +1906087319, +1932928296, +1965115924, +1968053806, +1973420034, +1983633431, +1998585858, +2000525512, +2001349736, +2001495140, +2005719336, +2006896969, +2008125638, +2021937364, +2068523856, +2092255447, +51438659, +52488851, +56151587, +59244545, +60347747, +61925907, +63438849, +69730305, +926941186, +1681770564, +1689922072, +1730150402, +1733076167, +1738539010, +1747306711, +1748225318, +1749673195, +1749813541, +1751386406, +1755148615, +1757137429, +1763839627, +1783388497, +1797585096, +1803929861, +1807599880, +1854228692, +1864368130, +1873281026, +1881498736, +1887579800, +1899272519, +1904412884, +1907435316, +1919418370, +1935549734, +1941221172, +1966223078, +1967795910, +1971461414, +1971938532, +1982173479, +1983533124, +1986527234, +1990037800, +1998724870, +1999917383, +2001309869, +2001349720, +2001392795, +2001392798, +2003183333, +2005324101, +2005925890, +2006329158, +2006974466, +2007781534, +2008340774, +2008994116, +2051837468, +2068523853, +2083120164, +2091479332, +2092557349, +51434643, +51961587, +52486755, +52490899, +55110883, +57206291, +58773795, +59768833, +60345171, +60352339, +61395251, +62390273, +62973651, +67108865, +68681729, +876609538, +910163970, +943718402, +1679960596, +1682547543, +1686491348, +1699324759, +1715310660, +1730965751, +1733054663, +1733890180, +1737099991, +1740181637, +1747176599, +1747814436, +1748100148, +1748359220, +1749656156, +1749715159, +1749801286, +1749905526, +1751288021, +1752979652, +1755076808, +1756474198, +1756625221, +1757146773, +1757268168, +1766992520, +1783210839, +1783388498, +1790207270, +1798686984, +1803929812, +1805502724, +1806806678, +1818230786, +1853642948, +1854228698, +1857653029, +1868312196, +1870268949, +1874053333, +1881288348, +1881613047, +1884120164, +1889085973, +1898753862, +1900845386, +1903302038, +1905563974, +1906135367, +1907661127, +1914900309, +1925844629, +1934172497, +1938817026, +1941178676, +1963982850, +1965334268, +1967128578, +1967788867, +1967795958, +1968836118, +}; } diff --git a/parser/html/nsHtml5ElementName.cpp b/parser/html/nsHtml5ElementName.cpp index de3b1cd431ba..f8a44b97887b 100644 --- a/parser/html/nsHtml5ElementName.cpp +++ b/parser/html/nsHtml5ElementName.cpp @@ -284,7 +284,6 @@ nsHtml5ElementName* nsHtml5ElementName::ELT_TFOOT = nullptr; nsHtml5ElementName* nsHtml5ElementName::ELT_TEXT = nullptr; nsHtml5ElementName* nsHtml5ElementName::ELT_MENU = nullptr; nsHtml5ElementName* nsHtml5ElementName::ELT_FEDROPSHADOW = nullptr; -nsHtml5ElementName* nsHtml5ElementName::ELT_SHADOW = nullptr; nsHtml5ElementName* nsHtml5ElementName::ELT_VIEW = nullptr; nsHtml5ElementName* nsHtml5ElementName::ELT_FECOLORMATRIX = nullptr; nsHtml5ElementName* nsHtml5ElementName::ELT_FECONVOLVEMATRIX = nullptr; @@ -295,27 +294,27 @@ nsHtml5ElementName* nsHtml5ElementName::ELT_SUMMARY = nullptr; nsHtml5ElementName* nsHtml5ElementName::ELT_TBODY = nullptr; nsHtml5ElementName** nsHtml5ElementName::ELEMENT_NAMES = 0; static int32_t const ELEMENT_HASHES_DATA[] = { - 1902641154, 1749395095, 2001349720, 893386754, 1803876550, 1971938532, - 2007781534, 59821379, 1732381397, 1756600614, 1870135298, 1939219752, - 1990037800, 2005324101, 2060065124, 55104723, 62450211, 1686489160, + 1902641154, 1749395095, 2001349704, 893386754, 1803876550, 1971465813, + 2007601444, 59821379, 1732381397, 1756600614, 1870135298, 1939219752, + 1988763672, 2004635806, 2060065124, 55104723, 62450211, 1686489160, 1747048757, 1749932347, 1782357526, 1818755074, 1881669634, 1907959605, - 1967760215, 1983533124, 1999917383, 2001392798, 2006329158, 2008994116, + 1967760215, 1982935782, 1999397992, 2001392796, 2006028454, 2008851557, 2085266636, 52485715, 57733651, 60354131, 67633153, 960495618, 1703936002, 1736200310, 1747838298, 1749723735, 1753362711, 1757157700, 1786534215, 1805647874, 1854245076, 1874102998, 1898223949, 1906087319, - 1932928296, 1965115924, 1968053806, 1982173479, 1986527234, 1998724870, - 2001309869, 2001392795, 2003183333, 2005925890, 2006974466, 2008340774, - 2051837468, 2068523856, 2092255447, 51438659, 52488851, 56151587, + 1932928296, 1965115924, 1968053806, 1973420034, 1983633431, 1998585858, + 2000525512, 2001349736, 2001495140, 2005719336, 2006896969, 2008125638, + 2021937364, 2068523856, 2092255447, 51438659, 52488851, 56151587, 59244545, 60347747, 61925907, 63438849, 69730305, 926941186, 1681770564, 1689922072, 1730150402, 1733076167, 1738539010, 1747306711, 1748225318, 1749673195, 1749813541, 1751386406, 1755148615, 1757137429, 1763839627, 1783388497, 1797585096, 1803929861, 1807599880, 1854228692, 1864368130, 1873281026, 1881498736, 1887579800, 1899272519, 1904412884, 1907435316, 1919418370, 1935549734, 1941221172, 1966223078, 1967795910, - 1971461414, 1973420034, 1982935782, 1983633431, 1988763672, 1998585858, - 1999397992, 2000525512, 2001349704, 2001349736, 2001392796, 2001495140, - 2004635806, 2005719336, 2006028454, 2006896969, 2007601444, 2008125638, - 2008851557, 2021937364, 2058653206, 2068523853, 2083120164, 2091479332, + 1971461414, 1971938532, 1982173479, 1983533124, 1986527234, 1990037800, + 1998724870, 1999917383, 2001309869, 2001349720, 2001392795, 2001392798, + 2003183333, 2005324101, 2005925890, 2006329158, 2006974466, 2007781534, + 2008340774, 2008994116, 2051837468, 2068523853, 2083120164, 2091479332, 2092557349, 51434643, 51961587, 52486755, 52490899, 55110883, 57206291, 58773795, 59768833, 60345171, 60352339, 61395251, 62390273, 62973651, 67108865, 68681729, 876609538, 910163970, @@ -329,7 +328,7 @@ static int32_t const ELEMENT_HASHES_DATA[] = { 1881613047, 1884120164, 1889085973, 1898753862, 1900845386, 1903302038, 1905563974, 1906135367, 1907661127, 1914900309, 1925844629, 1934172497, 1938817026, 1941178676, 1963982850, 1965334268, 1967128578, 1967788867, - 1967795958, 1968836118, 1971465813 + 1967795958, 1968836118 }; staticJArray nsHtml5ElementName::ELEMENT_HASHES = { ELEMENT_HASHES_DATA, MOZ_ARRAY_LENGTH(ELEMENT_HASHES_DATA) }; void @@ -1458,11 +1457,6 @@ nsHtml5ElementName::initializeStatics() NS_NewHTMLUnknownElement, NS_NewSVGFEDropShadowElement, nsHtml5TreeBuilder::OTHER); - ELT_SHADOW = new nsHtml5ElementName(nsGkAtoms::shadow, - nsGkAtoms::shadow, - NS_NewHTMLShadowElement, - NS_NewSVGUnknownElement, - nsHtml5TreeBuilder::OTHER); ELT_VIEW = new nsHtml5ElementName(nsGkAtoms::view, nsGkAtoms::view, NS_NewHTMLUnknownElement, @@ -1511,21 +1505,21 @@ nsHtml5ElementName::initializeStatics() NS_NewSVGUnknownElement, nsHtml5TreeBuilder::TBODY_OR_THEAD_OR_TFOOT | SPECIAL | FOSTER_PARENTING | OPTIONAL_END_TAG); - ELEMENT_NAMES = new nsHtml5ElementName*[207]; + ELEMENT_NAMES = new nsHtml5ElementName*[206]; ELEMENT_NAMES[0] = ELT_MN; ELEMENT_NAMES[1] = ELT_ELLIPSE; - ELEMENT_NAMES[2] = ELT_FRAMESET; + ELEMENT_NAMES[2] = ELT_FIELDSET; ELEMENT_NAMES[3] = ELT_H2; ELEMENT_NAMES[4] = ELT_MGLYPH; - ELEMENT_NAMES[5] = ELT_NOBR; - ELEMENT_NAMES[6] = ELT_RADIALGRADIENT; + ELEMENT_NAMES[5] = ELT_METER; + ELEMENT_NAMES[6] = ELT_RECT; ELEMENT_NAMES[7] = ELT_RTC; ELEMENT_NAMES[8] = ELT_EMBED; ELEMENT_NAMES[9] = ELT_STRIKE; ELEMENT_NAMES[10] = ELT_OL; ELEMENT_NAMES[11] = ELT_OPTGROUP; - ELEMENT_NAMES[12] = ELT_PROGRESS; - ELEMENT_NAMES[13] = ELT_MTEXT; + ELEMENT_NAMES[12] = ELT_NOFRAMES; + ELEMENT_NAMES[13] = ELT_LINEARGRADIENT; ELEMENT_NAMES[14] = ELT_VIEW; ELEMENT_NAMES[15] = ELT_IMG; ELEMENT_NAMES[16] = ELT_WBR; @@ -1537,11 +1531,11 @@ nsHtml5ElementName::initializeStatics() ELEMENT_NAMES[22] = ELT_EM; ELEMENT_NAMES[23] = ELT_TSPAN; ELEMENT_NAMES[24] = ELT_FEFUNCR; - ELEMENT_NAMES[25] = ELT_DEFS; - ELEMENT_NAMES[26] = ELT_CONTENT; - ELEMENT_NAMES[27] = ELT_FEDISTANTLIGHT; - ELEMENT_NAMES[28] = ELT_OUTPUT; - ELEMENT_NAMES[29] = ELT_TEXT; + ELEMENT_NAMES[25] = ELT_CANVAS; + ELEMENT_NAMES[26] = ELT_BASEFONT; + ELEMENT_NAMES[27] = ELT_FEPOINTLIGHT; + ELEMENT_NAMES[28] = ELT_OBJECT; + ELEMENT_NAMES[29] = ELT_TFOOT; ELEMENT_NAMES[30] = ELT_FEMORPHOLOGY; ELEMENT_NAMES[31] = ELT_DEL; ELEMENT_NAMES[32] = ELT_NAV; @@ -1563,16 +1557,16 @@ nsHtml5ElementName::initializeStatics() ELEMENT_NAMES[48] = ELT_COLGROUP; ELEMENT_NAMES[49] = ELT_ABBR; ELEMENT_NAMES[50] = ELT_FEGAUSSIANBLUR; - ELEMENT_NAMES[51] = ELT_ADDRESS; - ELEMENT_NAMES[52] = ELT_MS; - ELEMENT_NAMES[53] = ELT_APPLET; - ELEMENT_NAMES[54] = ELT_FOREIGNOBJECT; - ELEMENT_NAMES[55] = ELT_FESPOTLIGHT; - ELEMENT_NAMES[56] = ELT_INPUT; - ELEMENT_NAMES[57] = ELT_RT; - ELEMENT_NAMES[58] = ELT_TT; - ELEMENT_NAMES[59] = ELT_SCRIPT; - ELEMENT_NAMES[60] = ELT_FEDROPSHADOW; + ELEMENT_NAMES[51] = ELT_TR; + ELEMENT_NAMES[52] = ELT_DETAILS; + ELEMENT_NAMES[53] = ELT_DT; + ELEMENT_NAMES[54] = ELT_DATALIST; + ELEMENT_NAMES[55] = ELT_FEOFFSET; + ELEMENT_NAMES[56] = ELT_FONT; + ELEMENT_NAMES[57] = ELT_NOSCRIPT; + ELEMENT_NAMES[58] = ELT_PLAINTEXT; + ELEMENT_NAMES[59] = ELT_SELECT; + ELEMENT_NAMES[60] = ELT_MENU; ELEMENT_NAMES[61] = ELT_FECONVOLVEMATRIX; ELEMENT_NAMES[62] = ELT_SUMMARY; ELEMENT_NAMES[63] = ELT_BDO; @@ -1615,26 +1609,26 @@ nsHtml5ElementName::initializeStatics() ELEMENT_NAMES[100] = ELT_CENTER; ELEMENT_NAMES[101] = ELT_FILTER; ELEMENT_NAMES[102] = ELT_MARKER; - ELEMENT_NAMES[103] = ELT_TR; - ELEMENT_NAMES[104] = ELT_CANVAS; - ELEMENT_NAMES[105] = ELT_DETAILS; - ELEMENT_NAMES[106] = ELT_NOFRAMES; - ELEMENT_NAMES[107] = ELT_DT; - ELEMENT_NAMES[108] = ELT_BASEFONT; - ELEMENT_NAMES[109] = ELT_DATALIST; - ELEMENT_NAMES[110] = ELT_FIELDSET; - ELEMENT_NAMES[111] = ELT_FEOFFSET; - ELEMENT_NAMES[112] = ELT_FEPOINTLIGHT; - ELEMENT_NAMES[113] = ELT_FONT; - ELEMENT_NAMES[114] = ELT_LINEARGRADIENT; - ELEMENT_NAMES[115] = ELT_NOSCRIPT; - ELEMENT_NAMES[116] = ELT_OBJECT; - ELEMENT_NAMES[117] = ELT_PLAINTEXT; - ELEMENT_NAMES[118] = ELT_RECT; - ELEMENT_NAMES[119] = ELT_SELECT; - ELEMENT_NAMES[120] = ELT_TFOOT; - ELEMENT_NAMES[121] = ELT_MENU; - ELEMENT_NAMES[122] = ELT_SHADOW; + ELEMENT_NAMES[103] = ELT_NOBR; + ELEMENT_NAMES[104] = ELT_ADDRESS; + ELEMENT_NAMES[105] = ELT_DEFS; + ELEMENT_NAMES[106] = ELT_MS; + ELEMENT_NAMES[107] = ELT_PROGRESS; + ELEMENT_NAMES[108] = ELT_APPLET; + ELEMENT_NAMES[109] = ELT_CONTENT; + ELEMENT_NAMES[110] = ELT_FOREIGNOBJECT; + ELEMENT_NAMES[111] = ELT_FRAMESET; + ELEMENT_NAMES[112] = ELT_FESPOTLIGHT; + ELEMENT_NAMES[113] = ELT_FEDISTANTLIGHT; + ELEMENT_NAMES[114] = ELT_INPUT; + ELEMENT_NAMES[115] = ELT_MTEXT; + ELEMENT_NAMES[116] = ELT_RT; + ELEMENT_NAMES[117] = ELT_OUTPUT; + ELEMENT_NAMES[118] = ELT_TT; + ELEMENT_NAMES[119] = ELT_RADIALGRADIENT; + ELEMENT_NAMES[120] = ELT_SCRIPT; + ELEMENT_NAMES[121] = ELT_TEXT; + ELEMENT_NAMES[122] = ELT_FEDROPSHADOW; ELEMENT_NAMES[123] = ELT_FECOLORMATRIX; ELEMENT_NAMES[124] = ELT_BODY; ELEMENT_NAMES[125] = ELT_RUBY; @@ -1718,7 +1712,6 @@ nsHtml5ElementName::initializeStatics() ELEMENT_NAMES[203] = ELT_FECOMPONENTTRANSFER; ELEMENT_NAMES[204] = ELT_FOOTER; ELEMENT_NAMES[205] = ELT_HEADER; - ELEMENT_NAMES[206] = ELT_METER; } void @@ -1923,7 +1916,6 @@ nsHtml5ElementName::releaseStatics() delete ELT_TEXT; delete ELT_MENU; delete ELT_FEDROPSHADOW; - delete ELT_SHADOW; delete ELT_VIEW; delete ELT_FECOLORMATRIX; delete ELT_FECONVOLVEMATRIX; diff --git a/parser/html/nsHtml5ElementName.h b/parser/html/nsHtml5ElementName.h index c852d1445156..854c9958b7f9 100644 --- a/parser/html/nsHtml5ElementName.h +++ b/parser/html/nsHtml5ElementName.h @@ -105,48 +105,48 @@ public: inline bool isInterned() { return !(flags & nsHtml5ElementName::NOT_INTERNED); - } + } - inline static int32_t levelOrderBinarySearch(jArray data, - int32_t key) - { - int32_t n = data.length; - int32_t i = 0; - while (i < n) { - int32_t val = data[i]; - if (val < key) { - i = 2 * i + 2; - } else if (val > key) { - i = 2 * i + 1; - } else { - return i; - } - } - return -1; - } - - inline static nsHtml5ElementName* elementNameByBuffer( - char16_t* buf, - int32_t offset, - int32_t length, - nsHtml5AtomTable* interner) - { - uint32_t hash = nsHtml5ElementName::bufToHash(buf, length); - jArray hashes; - hashes = nsHtml5ElementName::ELEMENT_HASHES; - int32_t index = levelOrderBinarySearch(hashes, hash); - if (index < 0) { - return nullptr; + inline static int32_t levelOrderBinarySearch(jArray data, + int32_t key) + { + int32_t n = data.length; + int32_t i = 0; + while (i < n) { + int32_t val = data[i]; + if (val < key) { + i = 2 * i + 2; + } else if (val > key) { + i = 2 * i + 1; } else { - nsHtml5ElementName* elementName = - nsHtml5ElementName::ELEMENT_NAMES[index]; - nsIAtom* name = elementName->name; - if (!nsHtml5Portability::localEqualsBuffer(name, buf, offset, length)) { - return nullptr; - } - return elementName; + return i; } } + return -1; + } + + inline static nsHtml5ElementName* elementNameByBuffer( + char16_t* buf, + int32_t offset, + int32_t length, + nsHtml5AtomTable* interner) + { + uint32_t hash = nsHtml5ElementName::bufToHash(buf, length); + jArray hashes; + hashes = nsHtml5ElementName::ELEMENT_HASHES; + int32_t index = levelOrderBinarySearch(hashes, hash); + if (index < 0) { + return nullptr; + } else { + nsHtml5ElementName* elementName = + nsHtml5ElementName::ELEMENT_NAMES[index]; + nsIAtom* name = elementName->name; + if (!nsHtml5Portability::localEqualsBuffer(name, buf, offset, length)) { + return nullptr; + } + return elementName; + } + } private: inline static uint32_t bufToHash(char16_t* buf, int32_t length) @@ -401,7 +401,6 @@ public: static nsHtml5ElementName* ELT_TEXT; static nsHtml5ElementName* ELT_MENU; static nsHtml5ElementName* ELT_FEDROPSHADOW; - static nsHtml5ElementName* ELT_SHADOW; static nsHtml5ElementName* ELT_VIEW; static nsHtml5ElementName* ELT_FECOLORMATRIX; static nsHtml5ElementName* ELT_FECONVOLVEMATRIX; diff --git a/parser/html/nsHtml5StackNode.h b/parser/html/nsHtml5StackNode.h index 530f739975a3..057b3d721286 100644 --- a/parser/html/nsHtml5StackNode.h +++ b/parser/html/nsHtml5StackNode.h @@ -70,7 +70,6 @@ class nsHtml5StackNode private: int32_t refcount; mozilla::dom::HTMLContentCreatorFunction htmlCreator; - public: inline int32_t getFlags() { diff --git a/parser/html/nsHtml5TreeOpExecutor.cpp b/parser/html/nsHtml5TreeOpExecutor.cpp index e923ca0fa79e..3455c0d91e97 100644 --- a/parser/html/nsHtml5TreeOpExecutor.cpp +++ b/parser/html/nsHtml5TreeOpExecutor.cpp @@ -280,7 +280,6 @@ nsHtml5TreeOpExecutor::ContinueInterruptedParsingAsync() gBackgroundFlushList->insertBack(this); } if (gBackgroundFlushRunner) { - NS_WARNING("We've already scheduled a task for background list flush."); return; } // Now we set up a repetitive idle scheduler for flushing background list. diff --git a/parser/htmlparser/nsElementTable.cpp b/parser/htmlparser/nsElementTable.cpp index 60e4e9600ce3..8542bcf88f9c 100644 --- a/parser/htmlparser/nsElementTable.cpp +++ b/parser/htmlparser/nsElementTable.cpp @@ -143,7 +143,6 @@ static const HTMLElement gHTMLElements[] = { ELEM(script, ____, true) ELEM(section, true, true) ELEM(select, ____, true) - ELEM(shadow, ____, true) ELEM(small, ____, true) ELEM(source, ____, ____) ELEM(span, ____, true) diff --git a/parser/htmlparser/nsHTMLTagList.h b/parser/htmlparser/nsHTMLTagList.h index ef863806a12b..1bb53aea9b11 100644 --- a/parser/htmlparser/nsHTMLTagList.h +++ b/parser/htmlparser/nsHTMLTagList.h @@ -154,7 +154,6 @@ HTML_HTMLELEMENT_TAG(samp) HTML_TAG(script, Script, Script) HTML_HTMLELEMENT_TAG(section) HTML_TAG(select, Select, Select) -HTML_TAG(shadow, Shadow, Shadow) HTML_HTMLELEMENT_TAG(small) HTML_TAG(source, Source, Source) HTML_TAG(span, Span, Span) diff --git a/taskcluster/ci/test/tests.yml b/taskcluster/ci/test/tests.yml index 25163722c44e..4f2e4237dae8 100644 --- a/taskcluster/ci/test/tests.yml +++ b/taskcluster/ci/test/tests.yml @@ -562,10 +562,6 @@ mochitest-browser-chrome: linux32/debug: 5400 linux32-stylo-disabled/debug: 5400 default: 3600 - worker-type: - by-test-platform: - windows10-64.*: buildbot-bridge/buildbot-bridge - default: null mozharness: mochitest-flavor: browser script: desktop_unittest.py diff --git a/testing/web-platform/meta/custom-elements/Document-createElement.html.ini b/testing/web-platform/meta/custom-elements/Document-createElement.html.ini deleted file mode 100644 index a4c35310d78c..000000000000 --- a/testing/web-platform/meta/custom-elements/Document-createElement.html.ini +++ /dev/null @@ -1,26 +0,0 @@ -[Document-createElement.html] - type: testharness - [document.createElement must report a TypeError when the result of Construct is not a DOM node] - expected: FAIL - - [document.createElement must report a TypeError when the result of Construct is a TextNode] - expected: FAIL - - [document.createElement must report a NotSupportedError when attribute is added by setAttribute during construction] - expected: FAIL - - [document.createElement must report a NotSupportedError when attribute is added by attributes.setNamedItem during construction] - expected: FAIL - - [document.createElement must report a NotSupportedError when a Text child is added during construction] - expected: FAIL - - [document.createElement must report a NotSupportedError when a Comment child is added during construction] - expected: FAIL - - [document.createElement must report a NotSupportedError when an element child is added during construction] - expected: FAIL - - [document.createElement must report a NotSupportedError when the element gets inserted into another element during construction] - expected: FAIL - diff --git a/testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini b/testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini index 4e414117ff28..a2ac62a2e628 100644 --- a/testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini +++ b/testing/web-platform/meta/custom-elements/attribute-changed-callback.html.ini @@ -1,17 +1,5 @@ [attribute-changed-callback.html] type: testharness - [setAttribute and removeAttribute must enqueue and invoke attributeChangedCallback] - expected: FAIL - - [setAttributeNS and removeAttributeNS must enqueue and invoke attributeChangedCallback] - expected: FAIL - - [setAttributeNode and removeAttributeNode must enqueue and invoke attributeChangedCallback for an HTML attribute] - expected: FAIL - - [setAttributeNode and removeAttributeNS must enqueue and invoke attributeChangedCallback for an SVG attribute] - expected: FAIL - [attributedChangedCallback must be enqueued for style attribute change by mutating inline style declaration] expected: FAIL diff --git a/testing/web-platform/meta/custom-elements/reactions/Attr.html.ini b/testing/web-platform/meta/custom-elements/reactions/Attr.html.ini deleted file mode 100644 index 5a3ddc4ec855..000000000000 --- a/testing/web-platform/meta/custom-elements/reactions/Attr.html.ini +++ /dev/null @@ -1,8 +0,0 @@ -[Attr.html] - type: testharness - [value on Attr must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [value on Attr must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - diff --git a/testing/web-platform/meta/custom-elements/reactions/CSSStyleDeclaration.html.ini b/testing/web-platform/meta/custom-elements/reactions/CSSStyleDeclaration.html.ini index 25a52820a2e0..fe112c73a0f5 100644 --- a/testing/web-platform/meta/custom-elements/reactions/CSSStyleDeclaration.html.ini +++ b/testing/web-platform/meta/custom-elements/reactions/CSSStyleDeclaration.html.ini @@ -3,33 +3,18 @@ [cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] expected: FAIL - [cssText on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - [cssText on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] expected: FAIL - [cssText on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL - [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] expected: FAIL - [setProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] expected: FAIL - [setProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL - [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important and the style attribute is observed] expected: FAIL - [setProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it makes a property important but the style attribute is not observed] - expected: FAIL - [setPropertyValue on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] expected: FAIL @@ -51,60 +36,31 @@ [removeProperty on CSSStyleDeclaration must enqueue an attributeChanged reaction when it removes a property from the observed style attribute] expected: FAIL - [removeProperty on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it removes a property from the style attribute but the style attribute is not observed] - expected: FAIL - [cssFloat on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] expected: FAIL - [cssFloat on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - [A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] expected: FAIL - [A camel case attribute (borderWidth) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - [A camel case attribute (borderWidth) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] expected: FAIL - [A camel case attribute (borderWidth) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL - [A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] expected: FAIL - [A dashed property (border-width) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - [A dashed property (border-width) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] expected: FAIL - [A dashed property (border-width) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL - [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] expected: FAIL - [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] expected: FAIL - [A webkit prefixed camel case attribute (webkitFilter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL - [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it adds the observed style attribute] expected: FAIL - [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it adds the style attribute but the style attribute is not observed] - expected: FAIL - [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must enqueue an attributeChanged reaction when it mutates the observed style attribute] expected: FAIL - [A webkit prefixed dashed property (-webkit-filter) on CSSStyleDeclaration must not enqueue an attributeChanged reaction when it mutates the style attribute but the style attribute is not observed] - expected: FAIL diff --git a/testing/web-platform/meta/custom-elements/reactions/DOMStringMap.html.ini b/testing/web-platform/meta/custom-elements/reactions/DOMStringMap.html.ini index 9cd64315e1b7..2c00f5b4c35b 100644 --- a/testing/web-platform/meta/custom-elements/reactions/DOMStringMap.html.ini +++ b/testing/web-platform/meta/custom-elements/reactions/DOMStringMap.html.ini @@ -1,26 +1,4 @@ [DOMStringMap.html] type: testharness - [setter on DOMStringMap must enqueue an attributeChanged reaction when adding an observed data attribute] - expected: FAIL - - [setter on DOMStringMap must not enqueue an attributeChanged reaction when adding an unobserved data attribute] - expected: FAIL - - [setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute] - expected: FAIL - [setter on DOMStringMap must enqueue an attributeChanged reaction when mutating the value of an observed data attribute to the same value] expected: FAIL - - [setter on DOMStringMap must not enqueue an attributeChanged reaction when mutating the value of an unobserved data attribute] - expected: FAIL - - [deleter on DOMStringMap must enqueue an attributeChanged reaction when removing an observed data attribute] - expected: FAIL - - [deleter on DOMStringMap must not enqueue an attributeChanged reaction when removing an unobserved data attribute] - expected: FAIL - - [deleter on DOMStringMap must not enqueue an attributeChanged reaction when it does not remove a data attribute] - expected: FAIL - diff --git a/testing/web-platform/meta/custom-elements/reactions/DOMTokenList.html.ini b/testing/web-platform/meta/custom-elements/reactions/DOMTokenList.html.ini index b2baecdb8ebd..15f3730f67e8 100644 --- a/testing/web-platform/meta/custom-elements/reactions/DOMTokenList.html.ini +++ b/testing/web-platform/meta/custom-elements/reactions/DOMTokenList.html.ini @@ -1,59 +1,8 @@ [DOMTokenList.html] type: testharness - [add on DOMTokenList must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [add on DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [add on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an existing attribute] - expected: FAIL - - [add on DOMTokenList must not enqueue an attributeChanged reaction when adding a value to an unobserved attribute] - expected: FAIL - - [add on DOMTokenList must enqueue exactly one attributeChanged reaction when adding multiple values to an attribute] - expected: FAIL - - [remove on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute] - expected: FAIL - - [remove on DOMTokenList must enqueue exactly one attributeChanged reaction when removing multiple values to an attribute] - expected: FAIL - [remove on DOMTokenList must not enqueue an attributeChanged reaction when removing a non-existent value from an attribute] expected: FAIL - [remove on DOMTokenList must not enqueue an attributeChanged reaction when removing a value from an unobserved attribute] - expected: FAIL - - [toggle on DOMTokenList must enqueue an attributeChanged reaction when adding a value to an attribute] - expected: FAIL - - [toggle on DOMTokenList must enqueue an attributeChanged reaction when removing a value from an attribute] - expected: FAIL - - [replace on DOMTokenList must enqueue an attributeChanged reaction when replacing a value in an attribute] - expected: FAIL - - [replace on DOMTokenList must not enqueue an attributeChanged reaction when the token to replace does not exist in the attribute] - expected: FAIL - - [replace on DOMTokenList must not enqueue an attributeChanged reaction when replacing a value in an unobserved attribute] - expected: FAIL - - [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when adding an observed attribute] - expected: FAIL - - [the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when mutating the value of an observed attribute] - expected: FAIL - - [the stringifier of DOMTokenList must not enqueue an attributeChanged reaction when mutating the value of an unobserved attribute] - expected: FAIL - [the stringifier of DOMTokenList must enqueue an attributeChanged reaction when the setter is called with the original value of the attribute] expected: FAIL diff --git a/testing/web-platform/meta/custom-elements/reactions/Document.html.ini b/testing/web-platform/meta/custom-elements/reactions/Document.html.ini index 9e7665cad0a6..a9454947f4a3 100644 --- a/testing/web-platform/meta/custom-elements/reactions/Document.html.ini +++ b/testing/web-platform/meta/custom-elements/reactions/Document.html.ini @@ -6,9 +6,6 @@ [adoptNode on Document must enqueue an adopted reaction when importing a custom element] expected: FAIL - [importNode on Document must not construct a new custom element when importing a custom element into a window-less document] - expected: FAIL - [importNode on Document must construct a new custom element when importing a custom element from a template] expected: FAIL diff --git a/testing/web-platform/meta/custom-elements/reactions/Element.html.ini b/testing/web-platform/meta/custom-elements/reactions/Element.html.ini index 6138c3163e79..8ec5dab0aeb9 100644 --- a/testing/web-platform/meta/custom-elements/reactions/Element.html.ini +++ b/testing/web-platform/meta/custom-elements/reactions/Element.html.ini @@ -1,107 +1,20 @@ [Element.html] type: testharness - [id on Element must enqueue an attributeChanged reaction when adding id content attribute] - expected: FAIL - - [id on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [className on Element must enqueue an attributeChanged reaction when adding class content attribute] - expected: FAIL - - [className on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - [slot on Element must enqueue an attributeChanged reaction when adding slot content attribute] expected: FAIL [slot on Element must enqueue an attributeChanged reaction when replacing an existing attribute] expected: FAIL - [setAttribute on Element must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [setAttribute on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setAttribute on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [setAttributeNS on Element must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [setAttributeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setAttributeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - [removeAttribute on Element must not enqueue an attributeChanged reaction when removing an attribute that does not exist] expected: FAIL - [removeAttribute on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [removeAttribute on Element must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [removeAttribute on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - [removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an attribute that does not exist] expected: FAIL - [removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [removeAttributeNS on Element must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [removeAttributeNS on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - - [setAttributeNode on Element must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [setAttributeNode on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setAttributeNode on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [setAttributeNodeNS on Element must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setAttributeNodeNS on Element must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - [removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an attribute that does not exist] expected: FAIL - [removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [removeAttributeNode on Element must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [removeAttributeNode on Element must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - [undefined must enqueue a connected reaction] expected: FAIL diff --git a/testing/web-platform/meta/custom-elements/reactions/HTMLElement.html.ini b/testing/web-platform/meta/custom-elements/reactions/HTMLElement.html.ini index 5fd50683d4cc..ef386c2e3edb 100644 --- a/testing/web-platform/meta/custom-elements/reactions/HTMLElement.html.ini +++ b/testing/web-platform/meta/custom-elements/reactions/HTMLElement.html.ini @@ -1,53 +1,11 @@ [HTMLElement.html] type: testharness - [title on HTMLElement must enqueue an attributeChanged reaction when adding title content attribute] - expected: FAIL - - [title on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [lang on HTMLElement must enqueue an attributeChanged reaction when adding lang content attribute] - expected: FAIL - - [lang on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - [translate on HTMLElement must enqueue an attributeChanged reaction when adding translate content attribute] expected: FAIL [translate on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] expected: FAIL - [dir on HTMLElement must enqueue an attributeChanged reaction when adding dir content attribute] - expected: FAIL - - [dir on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [hidden on HTMLElement must enqueue an attributeChanged reaction when adding hidden content attribute] - expected: FAIL - - [hidden on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [tabIndex on HTMLElement must enqueue an attributeChanged reaction when adding tabindex content attribute] - expected: FAIL - - [tabIndex on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [accessKey on HTMLElement must enqueue an attributeChanged reaction when adding accesskey content attribute] - expected: FAIL - - [accessKey on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [draggable on HTMLElement must enqueue an attributeChanged reaction when adding draggable content attribute] - expected: FAIL - - [draggable on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - [dropzone on HTMLElement must enqueue an attributeChanged reaction when adding dropzone content attribute] expected: FAIL @@ -60,12 +18,6 @@ [contextMenu on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] expected: FAIL - [spellcheck on HTMLElement must enqueue an attributeChanged reaction when adding spellcheck content attribute] - expected: FAIL - - [spellcheck on HTMLElement must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - [innerText on HTMLElement must enqueue a disconnected reaction] expected: FAIL diff --git a/testing/web-platform/meta/custom-elements/reactions/NamedNodeMap.html.ini b/testing/web-platform/meta/custom-elements/reactions/NamedNodeMap.html.ini deleted file mode 100644 index 0b11439cf3c8..000000000000 --- a/testing/web-platform/meta/custom-elements/reactions/NamedNodeMap.html.ini +++ /dev/null @@ -1,50 +0,0 @@ -[NamedNodeMap.html] - type: testharness - [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [setNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when adding an attribute] - expected: FAIL - - [setNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when adding an unobserved attribute] - expected: FAIL - - [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [setNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [removeNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when removing an attribute that does not exist] - expected: FAIL - - [removeNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [removeNamedItem on NamedNodeMap must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [removeNamedItem on NamedNodeMap must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - - [removeNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when removing an attribute that does not exist] - expected: FAIL - - [removeNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when removing an unobserved attribute] - expected: FAIL - - [removeNamedItemNS on NamedNodeMap must enqueue an attributeChanged reaction when removing an existing attribute] - expected: FAIL - - [removeNamedItemNS on NamedNodeMap must not enqueue an attributeChanged reaction when removing an existing unobserved attribute] - expected: FAIL - diff --git a/testing/web-platform/meta/custom-elements/reactions/Node.html.ini b/testing/web-platform/meta/custom-elements/reactions/Node.html.ini index 87acc9aa6135..a24a5537d565 100644 --- a/testing/web-platform/meta/custom-elements/reactions/Node.html.ini +++ b/testing/web-platform/meta/custom-elements/reactions/Node.html.ini @@ -1,17 +1,5 @@ [Node.html] type: testharness - [nodeValue on Node must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [nodeValue on Node must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - - [textContent on Node must enqueue an attributeChanged reaction when replacing an existing attribute] - expected: FAIL - - [textContent on Node must not enqueue an attributeChanged reaction when replacing an existing unobserved attribute] - expected: FAIL - [cloneNode on Node must enqueue an attributeChanged reaction when cloning an element with an observed attribute] expected: FAIL diff --git a/toolkit/components/telemetry/pingsender/pingsender_unix_common.cpp b/toolkit/components/telemetry/pingsender/pingsender_unix_common.cpp index b1cea81f6288..ae20f4114193 100644 --- a/toolkit/components/telemetry/pingsender/pingsender_unix_common.cpp +++ b/toolkit/components/telemetry/pingsender/pingsender_unix_common.cpp @@ -80,29 +80,45 @@ CurlWrapper::~CurlWrapper() bool CurlWrapper::Init() { - // libcurl might show up under different names, try them all until we find it + const char* libcurlPaths[] = { + "/usr/lib", +#ifdef XP_LINUX + "/usr/lib32", + "/usr/lib64", + "/usr/lib/i386-linux-gnu", // Debian 32-bit x86 + "/usr/lib/x86_64-linux-gnu", // Debian 64-bit x86 +#endif // XP_LINUX + }; + const char* libcurlNames[] = { +#ifdef XP_LINUX "libcurl.so", "libcurl.so.4", // Debian gives libcurl a different name when it is built against GnuTLS + "libcurl-gnutls.so", "libcurl-gnutls.so.4", - // Older libcurl if we can't find anything better + // Older versions in case we find nothing better "libcurl.so.3", -#ifndef HAVE_64BIT_BUILD - // 32-bit versions on 64-bit hosts - "/usr/lib32/libcurl.so", - "/usr/lib32/libcurl.so.4", - "/usr/lib32/libcurl-gnutls.so.4", - "/usr/lib32/libcurl.so.3", -#endif + "libcurl-gnutls.so.3", // See above for Debian +#elif defined(XP_MACOSX) // macOS "libcurl.dylib", "libcurl.4.dylib", - "libcurl.3.dylib" + "libcurl.3.dylib", +#endif }; - for (const char* libname : libcurlNames) { - mLib = dlopen(libname, RTLD_NOW); + // libcurl might show up under different names, try them all until we find it + + for (const char* libpath : libcurlPaths) { + for (const char* libname : libcurlNames) { + string fullpath = string(libpath) + "/" + libname; + mLib = dlopen(fullpath.c_str(), RTLD_NOW); + + if (mLib) { + break; + } + } if (mLib) { break;