NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

commit 188c18a35ce2a100ab03969ba7d25db3510d8702
parent 12fb88d7283b81fb5a63259eece29ded45d0a6e5
Author: NovaBryan <29001820+NovaBryan@users.noreply.github.com>
Date:   Fri,  9 Oct 2026 13:04:57 +0000

Auto-dump EVE code: 24.01.3599281 (20261009_3599281_code)

Diffstat:
MREADME.md | 1+
Mimagecaching/client/repository/downloader.py | 2+-
Mimagecaching/client/repository/repository.py | 8++++----
Mimagecaching/demo/image_cache_demo_window.py | 2+-
Mmultiprocessing/pool.pyc | 0
Mrequests/packages/chardet/jpcntx.py | 6983-------------------------------------------------------------------------------
Mstackless_tracing/attributes.py | 1+
Mstackless_tracing/tasklet_tracer.py | 8+++++++-
8 files changed, 15 insertions(+), 6990 deletions(-)

diff --git a/README.md b/README.md @@ -8,6 +8,7 @@ A timeline of all version captures and synchronizations is documented here: | Update Date | Target Version Tag | Version | Notes | | :--- | :--- | :--- | :--- | +| **2026-10-09** | `eve-24_01_3599281` | 24.01.3599281 | Automated unpack and sync | | **2026-10-08** | `eve-24_01_3593370` | 24.01.3593370 | Automated unpack and sync | | **2026-10-07** | `eve-24_01_3586130` | 24.01.3586130 | Automated unpack and sync | | **2026-10-06** | `eve-24_01_3579973` | 24.01.3579973 | Automated unpack and sync | diff --git a/imagecaching/client/repository/downloader.py b/imagecaching/client/repository/downloader.py @@ -2,9 +2,9 @@ import logging import blue import requests -from httplib import OK, NOT_MODIFIED from imagecaching.client.compat import to_text from imagecaching.client.const import LOGGER_NAME, extension_for_content_type +from six.moves.http_client import OK, NOT_MODIFIED logger = logging.getLogger(LOGGER_NAME) MAX_ATTEMPTS = 4 REQUEST_TIMEOUT_SEC = 10 diff --git a/imagecaching/client/repository/repository.py b/imagecaching/client/repository/repository.py @@ -4,7 +4,6 @@ import os import re import sys import blue -from httplib import NOT_MODIFIED from imagecaching.client.api.error import ImageCacheError from imagecaching.client.api.signal import on_image_cached, on_image_deleted from imagecaching.client.const import DEFAULT_BASE_PATH, IMAGE_EXTENSIONS, LOGGER_NAME, OUTCOME_NOT_MODIFIED, OUTCOME_FAILED, OUTCOME_DOWNLOADED, OUTCOME_SERVED_STALE @@ -14,6 +13,7 @@ from imagecaching.client.model.definitions.image.identifier import ImageIdentifi from imagecaching.client.repository.downloader import ImageDownloader from imagecaching.client.repository.flatbuffer_index import FolderIndex from locks.singleFlight import single_flight +from six.moves.http_client import NOT_MODIFIED logger = logging.getLogger(LOGGER_NAME) _MOUNT_PREFIX = re.compile('^[A-Za-z0-9_]+:/') @@ -127,7 +127,7 @@ class ImageCacheRepository(object): except OSError: if not os.path.isdir(folder_path): raise - sys.exc_clear() + logger.warning('Failed to create folder %r', folder_path) resfile = blue.classes.CreateInstance('blue.ResFile') opened = resfile.Open(cache_path, 0) @@ -149,7 +149,7 @@ class ImageCacheRepository(object): try: os.remove(_resolve_path_for_writing(cache_path)) except OSError: - sys.exc_clear() + logger.warning(u'Could not remove cache file for writing: %s' % cache_path) @staticmethod def _invalidate_res_manager(cache_path): @@ -158,4 +158,4 @@ class ImageCacheRepository(object): if res: res.Reload() except SystemError: - sys.exc_clear() + logger.warning(u'Could not invalidate cache file for writing: %s' % cache_path) diff --git a/imagecaching/demo/image_cache_demo_window.py b/imagecaching/demo/image_cache_demo_window.py @@ -4,7 +4,6 @@ import blue import carbonui import eveui import uthread2 -from httplib import responses from carbonui import fontconst, uiconst, Align from carbonui.control.dragResizeCont import DragResizeCont from carbonui.control.singlelineedits.singleLineEditText import SingleLineEditText @@ -17,6 +16,7 @@ from eve.client.script.ui.control.eveEditPlainText import EditPlainText from eve.client.script.ui.control.eveLabel import EveLabelMedium from imagecaching.client.api.repository import get_repository from imagecaching.client.const import INDEX_FILENAME, LOGGER_NAME, OUTCOME_SERVED_STALE, OUTCOME_NOT_MODIFIED, image_cache_path +from six.moves.http_client import responses logger = logging.getLogger(LOGGER_NAME) MARGIN = 8 PREVIEW_SIZE = 512 diff --git a/multiprocessing/pool.pyc b/multiprocessing/pool.pyc Binary files differ. diff --git a/requests/packages/chardet/jpcntx.py b/requests/packages/chardet/jpcntx.py @@ -1,6983 +0,0 @@ -#Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\requests\packages\chardet\jpcntx.py -from .compat import wrap_ord -NUM_OF_CATEGORY = 6 -DONT_KNOW = -1 -ENOUGH_REL_THRESHOLD = 100 -MAX_REL_THRESHOLD = 1000 -MINIMUM_DATA_THRESHOLD = 4 -jp2CharContext = ((0, - 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, - 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, - 1, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1), - (2, - 4, - 0, - 4, - 0, - 3, - 0, - 4, - 0, - 3, - 4, - 4, - 4, - 2, - 4, - 3, - 3, - 4, - 3, - 2, - 3, - 3, - 4, - 2, - 3, - 3, - 3, - 2, - 4, - 1, - 4, - 3, - 3, - 1, - 5, - 4, - 3, - 4, - 3, - 4, - 3, - 5, - 3, - 0, - 3, - 5, - 4, - 2, - 0, - 3, - 1, - 0, - 3, - 3, - 0, - 3, - 3, - 0, - 1, - 1, - 0, - 4, - 3, - 0, - 3, - 3, - 0, - 4, - 0, - 2, - 0, - 3, - 5, - 5, - 5, - 5, - 4, - 0, - 4, - 1, - 0, - 3, - 4), - (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, - 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, - 2), - (0, - 4, - 0, - 5, - 0, - 5, - 0, - 4, - 0, - 4, - 5, - 4, - 4, - 3, - 5, - 3, - 5, - 1, - 5, - 3, - 4, - 3, - 4, - 4, - 3, - 4, - 3, - 3, - 4, - 3, - 5, - 4, - 4, - 3, - 5, - 5, - 3, - 5, - 5, - 5, - 3, - 5, - 5, - 3, - 4, - 5, - 5, - 3, - 1, - 3, - 2, - 0, - 3, - 4, - 0, - 4, - 2, - 0, - 4, - 2, - 1, - 5, - 3, - 2, - 3, - 5, - 0, - 4, - 0, - 2, - 0, - 5, - 4, - 4, - 5, - 4, - 5, - 0, - 4, - 0, - 0, - 4, - 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, - 3, - 0, - 4, - 0, - 3, - 0, - 3, - 0, - 4, - 5, - 4, - 3, - 3, - 3, - 3, - 4, - 3, - 5, - 4, - 4, - 3, - 5, - 4, - 4, - 3, - 4, - 3, - 4, - 4, - 4, - 4, - 5, - 3, - 4, - 4, - 3, - 4, - 5, - 5, - 4, - 5, - 5, - 1, - 4, - 5, - 4, - 3, - 0, - 3, - 3, - 1, - 3, - 3, - 0, - 4, - 4, - 0, - 3, - 3, - 1, - 5, - 3, - 3, - 3, - 5, - 0, - 4, - 0, - 3, - 0, - 4, - 4, - 3, - 4, - 3, - 3, - 0, - 4, - 1, - 1, - 3, - 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, - 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, - 4, - 0, - 3, - 0, - 3, - 0, - 4, - 0, - 3, - 4, - 4, - 3, - 2, - 2, - 1, - 2, - 1, - 3, - 1, - 3, - 3, - 3, - 3, - 3, - 4, - 3, - 1, - 3, - 3, - 5, - 3, - 3, - 0, - 4, - 3, - 0, - 5, - 4, - 3, - 3, - 5, - 4, - 4, - 3, - 4, - 4, - 5, - 0, - 1, - 2, - 0, - 1, - 2, - 0, - 2, - 2, - 0, - 1, - 0, - 0, - 5, - 2, - 2, - 1, - 4, - 0, - 3, - 0, - 1, - 0, - 4, - 4, - 3, - 5, - 4, - 3, - 0, - 2, - 1, - 0, - 4, - 3), - (0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 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, - 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, - 5, - 0, - 4, - 0, - 2, - 1, - 4, - 4, - 2, - 4, - 1, - 4, - 2, - 4, - 2, - 4, - 3, - 3, - 3, - 4, - 3, - 3, - 3, - 3, - 1, - 4, - 2, - 3, - 3, - 3, - 1, - 4, - 4, - 1, - 1, - 1, - 4, - 3, - 3, - 2, - 0, - 2, - 4, - 3, - 2, - 0, - 3, - 3, - 0, - 3, - 1, - 1, - 0, - 0, - 0, - 3, - 3, - 0, - 4, - 2, - 2, - 3, - 4, - 0, - 4, - 0, - 3, - 0, - 4, - 4, - 5, - 3, - 4, - 4, - 0, - 3, - 0, - 0, - 1, - 4), - (1, - 4, - 0, - 4, - 0, - 4, - 0, - 4, - 0, - 3, - 5, - 4, - 4, - 3, - 4, - 3, - 5, - 4, - 3, - 3, - 4, - 3, - 5, - 4, - 4, - 4, - 4, - 3, - 4, - 2, - 4, - 3, - 3, - 1, - 5, - 4, - 3, - 2, - 4, - 5, - 4, - 5, - 5, - 4, - 4, - 5, - 4, - 4, - 0, - 3, - 2, - 2, - 3, - 3, - 0, - 4, - 3, - 1, - 3, - 2, - 1, - 4, - 3, - 3, - 4, - 5, - 0, - 3, - 0, - 2, - 0, - 4, - 5, - 5, - 4, - 5, - 4, - 0, - 4, - 0, - 0, - 5, - 4), - (0, - 5, - 0, - 5, - 0, - 4, - 0, - 3, - 0, - 4, - 4, - 3, - 4, - 3, - 3, - 3, - 4, - 0, - 4, - 4, - 4, - 3, - 4, - 3, - 4, - 3, - 3, - 1, - 4, - 2, - 4, - 3, - 4, - 0, - 5, - 4, - 1, - 4, - 5, - 4, - 4, - 5, - 3, - 2, - 4, - 3, - 4, - 3, - 2, - 4, - 1, - 3, - 3, - 3, - 2, - 3, - 2, - 0, - 4, - 3, - 3, - 4, - 3, - 3, - 3, - 4, - 0, - 4, - 0, - 3, - 0, - 4, - 5, - 4, - 4, - 4, - 3, - 0, - 4, - 1, - 0, - 1, - 3), - (0, - 3, - 1, - 4, - 0, - 3, - 0, - 2, - 0, - 3, - 4, - 4, - 3, - 1, - 4, - 2, - 3, - 3, - 4, - 3, - 4, - 3, - 4, - 3, - 4, - 4, - 3, - 2, - 3, - 1, - 5, - 4, - 4, - 1, - 4, - 4, - 3, - 5, - 4, - 4, - 3, - 5, - 5, - 4, - 3, - 4, - 4, - 3, - 1, - 2, - 3, - 1, - 2, - 2, - 0, - 3, - 2, - 0, - 3, - 1, - 0, - 5, - 3, - 3, - 3, - 4, - 3, - 3, - 3, - 3, - 4, - 4, - 4, - 4, - 5, - 4, - 2, - 0, - 3, - 3, - 2, - 4, - 3), - (0, - 2, - 0, - 3, - 0, - 1, - 0, - 1, - 0, - 0, - 3, - 2, - 0, - 0, - 2, - 0, - 1, - 0, - 2, - 1, - 3, - 3, - 3, - 1, - 2, - 3, - 1, - 0, - 1, - 0, - 4, - 2, - 1, - 1, - 3, - 3, - 0, - 4, - 3, - 3, - 1, - 4, - 3, - 3, - 0, - 3, - 3, - 2, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 2, - 0, - 0, - 0, - 0, - 0, - 4, - 1, - 0, - 2, - 3, - 2, - 2, - 2, - 1, - 3, - 3, - 3, - 4, - 4, - 3, - 2, - 0, - 3, - 1, - 0, - 3, - 3), - (0, - 4, - 0, - 4, - 0, - 3, - 0, - 3, - 0, - 4, - 4, - 4, - 3, - 3, - 3, - 3, - 3, - 3, - 4, - 3, - 4, - 2, - 4, - 3, - 4, - 3, - 3, - 2, - 4, - 3, - 4, - 5, - 4, - 1, - 4, - 5, - 3, - 5, - 4, - 5, - 3, - 5, - 4, - 0, - 3, - 5, - 5, - 3, - 1, - 3, - 3, - 2, - 2, - 3, - 0, - 3, - 4, - 1, - 3, - 3, - 2, - 4, - 3, - 3, - 3, - 4, - 0, - 4, - 0, - 3, - 0, - 4, - 5, - 4, - 4, - 5, - 3, - 0, - 4, - 1, - 0, - 3, - 4), - (0, - 2, - 0, - 3, - 0, - 3, - 0, - 0, - 0, - 2, - 2, - 2, - 1, - 0, - 1, - 0, - 0, - 0, - 3, - 0, - 3, - 0, - 3, - 0, - 1, - 3, - 1, - 0, - 3, - 1, - 3, - 3, - 3, - 1, - 3, - 3, - 3, - 0, - 1, - 3, - 1, - 3, - 4, - 0, - 0, - 3, - 1, - 1, - 0, - 3, - 2, - 0, - 0, - 0, - 0, - 1, - 3, - 0, - 1, - 0, - 0, - 3, - 3, - 2, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 3, - 4, - 3, - 4, - 3, - 3, - 0, - 3, - 0, - 0, - 2, - 3), - (2, - 3, - 0, - 3, - 0, - 2, - 0, - 1, - 0, - 3, - 3, - 4, - 3, - 1, - 3, - 1, - 1, - 1, - 3, - 1, - 4, - 3, - 4, - 3, - 3, - 3, - 0, - 0, - 3, - 1, - 5, - 4, - 3, - 1, - 4, - 3, - 2, - 5, - 5, - 4, - 4, - 4, - 4, - 3, - 3, - 4, - 4, - 4, - 0, - 2, - 1, - 1, - 3, - 2, - 0, - 1, - 2, - 0, - 0, - 1, - 0, - 4, - 1, - 3, - 3, - 3, - 0, - 3, - 0, - 1, - 0, - 4, - 4, - 4, - 5, - 5, - 3, - 0, - 2, - 0, - 0, - 4, - 4), - (0, - 2, - 0, - 1, - 0, - 3, - 1, - 3, - 0, - 2, - 3, - 3, - 3, - 0, - 3, - 1, - 0, - 0, - 3, - 0, - 3, - 2, - 3, - 1, - 3, - 2, - 1, - 1, - 0, - 0, - 4, - 2, - 1, - 0, - 2, - 3, - 1, - 4, - 3, - 2, - 0, - 4, - 4, - 3, - 1, - 3, - 1, - 3, - 0, - 1, - 0, - 0, - 1, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 4, - 1, - 1, - 1, - 2, - 0, - 3, - 0, - 0, - 0, - 3, - 4, - 2, - 4, - 3, - 2, - 0, - 1, - 0, - 0, - 3, - 3), - (0, - 1, - 0, - 4, - 0, - 5, - 0, - 4, - 0, - 2, - 4, - 4, - 2, - 3, - 3, - 2, - 3, - 3, - 5, - 3, - 3, - 3, - 4, - 3, - 4, - 2, - 3, - 0, - 4, - 3, - 3, - 3, - 4, - 1, - 4, - 3, - 2, - 1, - 5, - 5, - 3, - 4, - 5, - 1, - 3, - 5, - 4, - 2, - 0, - 3, - 3, - 0, - 1, - 3, - 0, - 4, - 2, - 0, - 1, - 3, - 1, - 4, - 3, - 3, - 3, - 3, - 0, - 3, - 0, - 1, - 0, - 3, - 4, - 4, - 4, - 5, - 5, - 0, - 3, - 0, - 1, - 4, - 5), - (0, - 2, - 0, - 3, - 0, - 3, - 0, - 0, - 0, - 2, - 3, - 1, - 3, - 0, - 4, - 0, - 1, - 1, - 3, - 0, - 3, - 4, - 3, - 2, - 3, - 1, - 0, - 3, - 3, - 2, - 3, - 1, - 3, - 0, - 2, - 3, - 0, - 2, - 1, - 4, - 1, - 2, - 2, - 0, - 0, - 3, - 3, - 0, - 0, - 2, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 2, - 2, - 0, - 3, - 2, - 1, - 3, - 3, - 0, - 2, - 0, - 2, - 0, - 0, - 3, - 3, - 1, - 2, - 4, - 0, - 3, - 0, - 2, - 2, - 3), - (2, - 4, - 0, - 5, - 0, - 4, - 0, - 4, - 0, - 2, - 4, - 4, - 4, - 3, - 4, - 3, - 3, - 3, - 1, - 2, - 4, - 3, - 4, - 3, - 4, - 4, - 5, - 0, - 3, - 3, - 3, - 3, - 2, - 0, - 4, - 3, - 1, - 4, - 3, - 4, - 1, - 4, - 4, - 3, - 3, - 4, - 4, - 3, - 1, - 2, - 3, - 0, - 4, - 2, - 0, - 4, - 1, - 0, - 3, - 3, - 0, - 4, - 3, - 3, - 3, - 4, - 0, - 4, - 0, - 2, - 0, - 3, - 5, - 3, - 4, - 5, - 2, - 0, - 3, - 0, - 0, - 4, - 5), - (0, - 3, - 0, - 4, - 0, - 1, - 0, - 1, - 0, - 1, - 3, - 2, - 2, - 1, - 3, - 0, - 3, - 0, - 2, - 0, - 2, - 0, - 3, - 0, - 2, - 0, - 0, - 0, - 1, - 0, - 1, - 1, - 0, - 0, - 3, - 1, - 0, - 0, - 0, - 4, - 0, - 3, - 1, - 0, - 2, - 1, - 3, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 4, - 2, - 2, - 3, - 1, - 0, - 3, - 0, - 0, - 0, - 1, - 4, - 4, - 4, - 3, - 0, - 0, - 4, - 0, - 0, - 1, - 4), - (1, - 4, - 1, - 5, - 0, - 3, - 0, - 3, - 0, - 4, - 5, - 4, - 4, - 3, - 5, - 3, - 3, - 4, - 4, - 3, - 4, - 1, - 3, - 3, - 3, - 3, - 2, - 1, - 4, - 1, - 5, - 4, - 3, - 1, - 4, - 4, - 3, - 5, - 4, - 4, - 3, - 5, - 4, - 3, - 3, - 4, - 4, - 4, - 0, - 3, - 3, - 1, - 2, - 3, - 0, - 3, - 1, - 0, - 3, - 3, - 0, - 5, - 4, - 4, - 4, - 4, - 4, - 4, - 3, - 3, - 5, - 4, - 4, - 3, - 3, - 5, - 4, - 0, - 3, - 2, - 0, - 4, - 4), - (0, - 2, - 0, - 3, - 0, - 1, - 0, - 0, - 0, - 1, - 3, - 3, - 3, - 2, - 4, - 1, - 3, - 0, - 3, - 1, - 3, - 0, - 2, - 2, - 1, - 1, - 0, - 0, - 2, - 0, - 4, - 3, - 1, - 0, - 4, - 3, - 0, - 4, - 4, - 4, - 1, - 4, - 3, - 1, - 1, - 3, - 3, - 1, - 0, - 2, - 0, - 0, - 1, - 3, - 0, - 0, - 0, - 0, - 2, - 0, - 0, - 4, - 3, - 2, - 4, - 3, - 5, - 4, - 3, - 3, - 3, - 4, - 3, - 3, - 4, - 3, - 3, - 0, - 2, - 1, - 0, - 3, - 3), - (0, - 2, - 0, - 4, - 0, - 3, - 0, - 2, - 0, - 2, - 5, - 5, - 3, - 4, - 4, - 4, - 4, - 1, - 4, - 3, - 3, - 0, - 4, - 3, - 4, - 3, - 1, - 3, - 3, - 2, - 4, - 3, - 0, - 3, - 4, - 3, - 0, - 3, - 4, - 4, - 2, - 4, - 4, - 0, - 4, - 5, - 3, - 3, - 2, - 2, - 1, - 1, - 1, - 2, - 0, - 1, - 5, - 0, - 3, - 3, - 2, - 4, - 3, - 3, - 3, - 4, - 0, - 3, - 0, - 2, - 0, - 4, - 4, - 3, - 5, - 5, - 0, - 0, - 3, - 0, - 2, - 3, - 3), - (0, - 3, - 0, - 4, - 0, - 3, - 0, - 1, - 0, - 3, - 4, - 3, - 3, - 1, - 3, - 3, - 3, - 0, - 3, - 1, - 3, - 0, - 4, - 3, - 3, - 1, - 1, - 0, - 3, - 0, - 3, - 3, - 0, - 0, - 4, - 4, - 0, - 1, - 5, - 4, - 3, - 3, - 5, - 0, - 3, - 3, - 4, - 3, - 0, - 2, - 0, - 1, - 1, - 1, - 0, - 1, - 3, - 0, - 1, - 2, - 1, - 3, - 3, - 2, - 3, - 3, - 0, - 3, - 0, - 1, - 0, - 1, - 3, - 3, - 4, - 4, - 1, - 0, - 1, - 2, - 2, - 1, - 3), - (0, - 1, - 0, - 4, - 0, - 4, - 0, - 3, - 0, - 1, - 3, - 3, - 3, - 2, - 3, - 1, - 1, - 0, - 3, - 0, - 3, - 3, - 4, - 3, - 2, - 4, - 2, - 0, - 1, - 0, - 4, - 3, - 2, - 0, - 4, - 3, - 0, - 5, - 3, - 3, - 2, - 4, - 4, - 4, - 3, - 3, - 3, - 4, - 0, - 1, - 3, - 0, - 0, - 1, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 4, - 2, - 3, - 3, - 3, - 0, - 3, - 0, - 0, - 0, - 4, - 4, - 4, - 5, - 3, - 2, - 0, - 3, - 3, - 0, - 3, - 5), - (0, - 2, - 0, - 3, - 0, - 0, - 0, - 3, - 0, - 1, - 3, - 0, - 2, - 0, - 0, - 0, - 1, - 0, - 3, - 1, - 1, - 3, - 3, - 0, - 0, - 3, - 0, - 0, - 3, - 0, - 2, - 3, - 1, - 0, - 3, - 1, - 0, - 3, - 3, - 2, - 0, - 4, - 2, - 2, - 0, - 2, - 0, - 0, - 0, - 4, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 2, - 1, - 2, - 0, - 1, - 0, - 1, - 0, - 0, - 0, - 1, - 3, - 1, - 2, - 0, - 0, - 0, - 1, - 0, - 0, - 1, - 4), - (0, - 3, - 0, - 3, - 0, - 5, - 0, - 1, - 0, - 2, - 4, - 3, - 1, - 3, - 3, - 2, - 1, - 1, - 5, - 2, - 1, - 0, - 5, - 1, - 2, - 0, - 0, - 0, - 3, - 3, - 2, - 2, - 3, - 2, - 4, - 3, - 0, - 0, - 3, - 3, - 1, - 3, - 3, - 0, - 2, - 5, - 3, - 4, - 0, - 3, - 3, - 0, - 1, - 2, - 0, - 2, - 2, - 0, - 3, - 2, - 0, - 2, - 2, - 3, - 3, - 3, - 0, - 2, - 0, - 1, - 0, - 3, - 4, - 4, - 2, - 5, - 4, - 0, - 3, - 0, - 0, - 3, - 5), - (0, - 3, - 0, - 3, - 0, - 3, - 0, - 1, - 0, - 3, - 3, - 3, - 3, - 0, - 3, - 0, - 2, - 0, - 2, - 1, - 1, - 0, - 2, - 0, - 1, - 0, - 0, - 0, - 2, - 1, - 0, - 0, - 1, - 0, - 3, - 2, - 0, - 0, - 3, - 3, - 1, - 2, - 3, - 1, - 0, - 3, - 3, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 2, - 0, - 0, - 0, - 0, - 0, - 2, - 3, - 1, - 2, - 3, - 0, - 3, - 0, - 1, - 0, - 3, - 2, - 1, - 0, - 4, - 3, - 0, - 1, - 1, - 0, - 3, - 3), - (0, - 4, - 0, - 5, - 0, - 3, - 0, - 3, - 0, - 4, - 5, - 5, - 4, - 3, - 5, - 3, - 4, - 3, - 5, - 3, - 3, - 2, - 5, - 3, - 4, - 4, - 4, - 3, - 4, - 3, - 4, - 5, - 5, - 3, - 4, - 4, - 3, - 4, - 4, - 5, - 4, - 4, - 4, - 3, - 4, - 5, - 5, - 4, - 2, - 3, - 4, - 2, - 3, - 4, - 0, - 3, - 3, - 1, - 4, - 3, - 2, - 4, - 3, - 3, - 5, - 5, - 0, - 3, - 0, - 3, - 0, - 5, - 5, - 5, - 5, - 4, - 4, - 0, - 4, - 0, - 1, - 4, - 4), - (0, - 4, - 0, - 4, - 0, - 3, - 0, - 3, - 0, - 3, - 5, - 4, - 4, - 2, - 3, - 2, - 5, - 1, - 3, - 2, - 5, - 1, - 4, - 2, - 3, - 2, - 3, - 3, - 4, - 3, - 3, - 3, - 3, - 2, - 5, - 4, - 1, - 3, - 3, - 5, - 3, - 4, - 4, - 0, - 4, - 4, - 3, - 1, - 1, - 3, - 1, - 0, - 2, - 3, - 0, - 2, - 3, - 0, - 3, - 0, - 0, - 4, - 3, - 1, - 3, - 4, - 0, - 3, - 0, - 2, - 0, - 4, - 4, - 4, - 3, - 4, - 5, - 0, - 4, - 0, - 0, - 3, - 4), - (0, - 3, - 0, - 3, - 0, - 3, - 1, - 2, - 0, - 3, - 4, - 4, - 3, - 3, - 3, - 0, - 2, - 2, - 4, - 3, - 3, - 1, - 3, - 3, - 3, - 1, - 1, - 0, - 3, - 1, - 4, - 3, - 2, - 3, - 4, - 4, - 2, - 4, - 4, - 4, - 3, - 4, - 4, - 3, - 2, - 4, - 4, - 3, - 1, - 3, - 3, - 1, - 3, - 3, - 0, - 4, - 1, - 0, - 2, - 2, - 1, - 4, - 3, - 2, - 3, - 3, - 5, - 4, - 3, - 3, - 5, - 4, - 4, - 3, - 3, - 0, - 4, - 0, - 3, - 2, - 2, - 4, - 4), - (0, - 2, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 1, - 2, - 1, - 3, - 0, - 0, - 0, - 0, - 0, - 2, - 0, - 1, - 2, - 1, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 3, - 0, - 0, - 1, - 0, - 1, - 1, - 3, - 1, - 0, - 0, - 0, - 1, - 1, - 0, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 2, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 2, - 2, - 0, - 3, - 4, - 0, - 0, - 0, - 1, - 1, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 1, - 1), - (0, - 1, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 4, - 0, - 4, - 1, - 4, - 0, - 3, - 0, - 4, - 0, - 3, - 0, - 4, - 0, - 3, - 0, - 3, - 0, - 4, - 1, - 5, - 1, - 4, - 0, - 0, - 3, - 0, - 5, - 0, - 5, - 2, - 0, - 1, - 0, - 0, - 0, - 2, - 1, - 4, - 0, - 1, - 3, - 0, - 0, - 3, - 0, - 0, - 3, - 1, - 1, - 4, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0), - (1, - 4, - 0, - 5, - 0, - 3, - 0, - 2, - 0, - 3, - 5, - 4, - 4, - 3, - 4, - 3, - 5, - 3, - 4, - 3, - 3, - 0, - 4, - 3, - 3, - 3, - 3, - 3, - 3, - 2, - 4, - 4, - 3, - 1, - 3, - 4, - 4, - 5, - 4, - 4, - 3, - 4, - 4, - 1, - 3, - 5, - 4, - 3, - 3, - 3, - 1, - 2, - 2, - 3, - 3, - 1, - 3, - 1, - 3, - 3, - 3, - 5, - 3, - 3, - 4, - 5, - 0, - 3, - 0, - 3, - 0, - 3, - 4, - 3, - 4, - 4, - 3, - 0, - 3, - 0, - 2, - 4, - 3), - (0, - 1, - 0, - 4, - 0, - 0, - 0, - 0, - 0, - 1, - 4, - 0, - 4, - 1, - 4, - 2, - 4, - 0, - 3, - 0, - 1, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 2, - 0, - 3, - 1, - 1, - 1, - 0, - 3, - 0, - 0, - 0, - 1, - 2, - 1, - 0, - 0, - 1, - 1, - 1, - 1, - 0, - 1, - 0, - 0, - 0, - 1, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 3, - 2, - 0, - 2, - 2, - 0, - 1, - 0, - 0, - 0, - 2, - 3, - 2, - 3, - 3, - 0, - 0, - 0, - 0, - 2, - 1, - 0), - (0, - 5, - 1, - 5, - 0, - 3, - 0, - 3, - 0, - 5, - 4, - 4, - 5, - 1, - 5, - 3, - 3, - 0, - 4, - 3, - 4, - 3, - 5, - 3, - 4, - 3, - 3, - 2, - 4, - 3, - 4, - 3, - 3, - 0, - 3, - 3, - 1, - 4, - 4, - 3, - 4, - 4, - 4, - 3, - 4, - 5, - 5, - 3, - 2, - 3, - 1, - 1, - 3, - 3, - 1, - 3, - 1, - 1, - 3, - 3, - 2, - 4, - 5, - 3, - 3, - 5, - 0, - 4, - 0, - 3, - 0, - 4, - 4, - 3, - 5, - 3, - 3, - 0, - 3, - 4, - 0, - 4, - 3), - (0, - 5, - 0, - 5, - 0, - 3, - 0, - 2, - 0, - 4, - 4, - 3, - 5, - 2, - 4, - 3, - 3, - 3, - 4, - 4, - 4, - 3, - 5, - 3, - 5, - 3, - 3, - 1, - 4, - 0, - 4, - 3, - 3, - 0, - 3, - 3, - 0, - 4, - 4, - 4, - 4, - 5, - 4, - 3, - 3, - 5, - 5, - 3, - 2, - 3, - 1, - 2, - 3, - 2, - 0, - 1, - 0, - 0, - 3, - 2, - 2, - 4, - 4, - 3, - 1, - 5, - 0, - 4, - 0, - 3, - 0, - 4, - 3, - 1, - 3, - 2, - 1, - 0, - 3, - 3, - 0, - 3, - 3), - (0, - 4, - 0, - 5, - 0, - 5, - 0, - 4, - 0, - 4, - 5, - 5, - 5, - 3, - 4, - 3, - 3, - 2, - 5, - 4, - 4, - 3, - 5, - 3, - 5, - 3, - 4, - 0, - 4, - 3, - 4, - 4, - 3, - 2, - 4, - 4, - 3, - 4, - 5, - 4, - 4, - 5, - 5, - 0, - 3, - 5, - 5, - 4, - 1, - 3, - 3, - 2, - 3, - 3, - 1, - 3, - 1, - 0, - 4, - 3, - 1, - 4, - 4, - 3, - 4, - 5, - 0, - 4, - 0, - 2, - 0, - 4, - 3, - 4, - 4, - 3, - 3, - 0, - 4, - 0, - 0, - 5, - 5), - (0, - 4, - 0, - 4, - 0, - 5, - 0, - 1, - 1, - 3, - 3, - 4, - 4, - 3, - 4, - 1, - 3, - 0, - 5, - 1, - 3, - 0, - 3, - 1, - 3, - 1, - 1, - 0, - 3, - 0, - 3, - 3, - 4, - 0, - 4, - 3, - 0, - 4, - 4, - 4, - 3, - 4, - 4, - 0, - 3, - 5, - 4, - 1, - 0, - 3, - 0, - 0, - 2, - 3, - 0, - 3, - 1, - 0, - 3, - 1, - 0, - 3, - 2, - 1, - 3, - 5, - 0, - 3, - 0, - 1, - 0, - 3, - 2, - 3, - 3, - 4, - 4, - 0, - 2, - 2, - 0, - 4, - 4), - (2, - 4, - 0, - 5, - 0, - 4, - 0, - 3, - 0, - 4, - 5, - 5, - 4, - 3, - 5, - 3, - 5, - 3, - 5, - 3, - 5, - 2, - 5, - 3, - 4, - 3, - 3, - 4, - 3, - 4, - 5, - 3, - 2, - 1, - 5, - 4, - 3, - 2, - 3, - 4, - 5, - 3, - 4, - 1, - 2, - 5, - 4, - 3, - 0, - 3, - 3, - 0, - 3, - 2, - 0, - 2, - 3, - 0, - 4, - 1, - 0, - 3, - 4, - 3, - 3, - 5, - 0, - 3, - 0, - 1, - 0, - 4, - 5, - 5, - 5, - 4, - 3, - 0, - 4, - 2, - 0, - 3, - 5), - (0, - 5, - 0, - 4, - 0, - 4, - 0, - 2, - 0, - 5, - 4, - 3, - 4, - 3, - 4, - 3, - 3, - 3, - 4, - 3, - 4, - 2, - 5, - 3, - 5, - 3, - 4, - 1, - 4, - 3, - 4, - 4, - 4, - 0, - 3, - 5, - 0, - 4, - 4, - 4, - 4, - 5, - 3, - 1, - 3, - 4, - 5, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 0, - 2, - 2, - 0, - 3, - 3, - 2, - 4, - 3, - 3, - 3, - 5, - 3, - 4, - 1, - 3, - 3, - 5, - 3, - 2, - 0, - 0, - 0, - 0, - 4, - 3, - 1, - 3, - 3), - (0, - 1, - 0, - 3, - 0, - 3, - 0, - 1, - 0, - 1, - 3, - 3, - 3, - 2, - 3, - 3, - 3, - 0, - 3, - 0, - 0, - 0, - 3, - 1, - 3, - 0, - 0, - 0, - 2, - 2, - 2, - 3, - 0, - 0, - 3, - 2, - 0, - 1, - 2, - 4, - 1, - 3, - 3, - 0, - 0, - 3, - 3, - 3, - 0, - 1, - 0, - 0, - 2, - 1, - 0, - 0, - 3, - 0, - 3, - 1, - 0, - 3, - 0, - 0, - 1, - 3, - 0, - 2, - 0, - 1, - 0, - 3, - 3, - 1, - 3, - 3, - 0, - 0, - 1, - 1, - 0, - 3, - 3), - (0, - 2, - 0, - 3, - 0, - 2, - 1, - 4, - 0, - 2, - 2, - 3, - 1, - 1, - 3, - 1, - 1, - 0, - 2, - 0, - 3, - 1, - 2, - 3, - 1, - 3, - 0, - 0, - 1, - 0, - 4, - 3, - 2, - 3, - 3, - 3, - 1, - 4, - 2, - 3, - 3, - 3, - 3, - 1, - 0, - 3, - 1, - 4, - 0, - 1, - 1, - 0, - 1, - 2, - 0, - 1, - 1, - 0, - 1, - 1, - 0, - 3, - 1, - 3, - 2, - 2, - 0, - 1, - 0, - 0, - 0, - 2, - 3, - 3, - 3, - 1, - 0, - 0, - 0, - 0, - 0, - 2, - 3), - (0, - 5, - 0, - 4, - 0, - 5, - 0, - 2, - 0, - 4, - 5, - 5, - 3, - 3, - 4, - 3, - 3, - 1, - 5, - 4, - 4, - 2, - 4, - 4, - 4, - 3, - 4, - 2, - 4, - 3, - 5, - 5, - 4, - 3, - 3, - 4, - 3, - 3, - 5, - 5, - 4, - 5, - 5, - 1, - 3, - 4, - 5, - 3, - 1, - 4, - 3, - 1, - 3, - 3, - 0, - 3, - 3, - 1, - 4, - 3, - 1, - 4, - 5, - 3, - 3, - 5, - 0, - 4, - 0, - 3, - 0, - 5, - 3, - 3, - 1, - 4, - 3, - 0, - 4, - 0, - 1, - 5, - 3), - (0, - 5, - 0, - 5, - 0, - 4, - 0, - 2, - 0, - 4, - 4, - 3, - 4, - 3, - 3, - 3, - 3, - 3, - 5, - 4, - 4, - 4, - 4, - 4, - 4, - 5, - 3, - 3, - 5, - 2, - 4, - 4, - 4, - 3, - 4, - 4, - 3, - 3, - 4, - 4, - 5, - 5, - 3, - 3, - 4, - 3, - 4, - 3, - 3, - 4, - 3, - 3, - 3, - 3, - 1, - 2, - 2, - 1, - 4, - 3, - 3, - 5, - 4, - 4, - 3, - 4, - 0, - 4, - 0, - 3, - 0, - 4, - 4, - 4, - 4, - 4, - 1, - 0, - 4, - 2, - 0, - 2, - 4), - (0, - 4, - 0, - 4, - 0, - 3, - 0, - 1, - 0, - 3, - 5, - 2, - 3, - 0, - 3, - 0, - 2, - 1, - 4, - 2, - 3, - 3, - 4, - 1, - 4, - 3, - 3, - 2, - 4, - 1, - 3, - 3, - 3, - 0, - 3, - 3, - 0, - 0, - 3, - 3, - 3, - 5, - 3, - 3, - 3, - 3, - 3, - 2, - 0, - 2, - 0, - 0, - 2, - 0, - 0, - 2, - 0, - 0, - 1, - 0, - 0, - 3, - 1, - 2, - 2, - 3, - 0, - 3, - 0, - 2, - 0, - 4, - 4, - 3, - 3, - 4, - 1, - 0, - 3, - 0, - 0, - 2, - 4), - (0, - 0, - 0, - 4, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 0, - 2, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 2, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 3, - 1, - 3, - 0, - 3, - 2, - 0, - 0, - 0, - 1, - 0, - 3, - 2, - 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, - 3, - 4, - 0, - 2, - 0, - 0, - 0, - 0, - 0, - 0, - 2), - (0, - 2, - 1, - 3, - 0, - 2, - 0, - 2, - 0, - 3, - 3, - 3, - 3, - 1, - 3, - 1, - 3, - 3, - 3, - 3, - 3, - 3, - 4, - 2, - 2, - 1, - 2, - 1, - 4, - 0, - 4, - 3, - 1, - 3, - 3, - 3, - 2, - 4, - 3, - 5, - 4, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 0, - 1, - 3, - 0, - 2, - 0, - 0, - 1, - 0, - 0, - 1, - 0, - 0, - 4, - 2, - 0, - 2, - 3, - 0, - 3, - 3, - 0, - 3, - 3, - 4, - 2, - 3, - 1, - 4, - 0, - 1, - 2, - 0, - 2, - 3), - (0, - 3, - 0, - 3, - 0, - 1, - 0, - 3, - 0, - 2, - 3, - 3, - 3, - 0, - 3, - 1, - 2, - 0, - 3, - 3, - 2, - 3, - 3, - 2, - 3, - 2, - 3, - 1, - 3, - 0, - 4, - 3, - 2, - 0, - 3, - 3, - 1, - 4, - 3, - 3, - 2, - 3, - 4, - 3, - 1, - 3, - 3, - 1, - 1, - 0, - 1, - 1, - 0, - 1, - 0, - 1, - 0, - 1, - 0, - 0, - 0, - 4, - 1, - 1, - 0, - 3, - 0, - 3, - 1, - 0, - 2, - 3, - 3, - 3, - 3, - 3, - 1, - 0, - 0, - 2, - 0, - 3, - 3), - (0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 0, - 2, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 0, - 3, - 0, - 3, - 1, - 0, - 1, - 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, - 3, - 0, - 2, - 0, - 2, - 3, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3), - (0, - 2, - 0, - 3, - 1, - 3, - 0, - 3, - 0, - 2, - 3, - 3, - 3, - 1, - 3, - 1, - 3, - 1, - 3, - 1, - 3, - 3, - 3, - 1, - 3, - 0, - 2, - 3, - 1, - 1, - 4, - 3, - 3, - 2, - 3, - 3, - 1, - 2, - 2, - 4, - 1, - 3, - 3, - 0, - 1, - 4, - 2, - 3, - 0, - 1, - 3, - 0, - 3, - 0, - 0, - 1, - 3, - 0, - 2, - 0, - 0, - 3, - 3, - 2, - 1, - 3, - 0, - 3, - 0, - 2, - 0, - 3, - 4, - 4, - 4, - 3, - 1, - 0, - 3, - 0, - 0, - 3, - 3), - (0, - 2, - 0, - 1, - 0, - 2, - 0, - 0, - 0, - 1, - 3, - 2, - 2, - 1, - 3, - 0, - 1, - 1, - 3, - 0, - 3, - 2, - 3, - 1, - 2, - 0, - 2, - 0, - 1, - 1, - 3, - 3, - 3, - 0, - 3, - 3, - 1, - 1, - 2, - 3, - 2, - 3, - 3, - 1, - 2, - 3, - 2, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 0, - 1, - 0, - 0, - 2, - 1, - 2, - 1, - 3, - 0, - 3, - 0, - 0, - 0, - 3, - 4, - 4, - 4, - 3, - 2, - 0, - 2, - 0, - 0, - 2, - 4), - (0, - 0, - 0, - 1, - 0, - 1, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 2, - 2, - 0, - 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, - 1, - 0, - 0, - 0, - 0, - 1, - 3, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3), - (0, - 3, - 0, - 3, - 0, - 2, - 0, - 3, - 0, - 3, - 3, - 3, - 2, - 3, - 2, - 2, - 2, - 0, - 3, - 1, - 3, - 3, - 3, - 2, - 3, - 3, - 0, - 0, - 3, - 0, - 3, - 2, - 2, - 0, - 2, - 3, - 1, - 4, - 3, - 4, - 3, - 3, - 2, - 3, - 1, - 5, - 4, - 4, - 0, - 3, - 1, - 2, - 1, - 3, - 0, - 3, - 1, - 1, - 2, - 0, - 2, - 3, - 1, - 3, - 1, - 3, - 0, - 3, - 0, - 1, - 0, - 3, - 3, - 4, - 4, - 2, - 1, - 0, - 2, - 1, - 0, - 2, - 4), - (0, - 1, - 0, - 3, - 0, - 1, - 0, - 2, - 0, - 1, - 4, - 2, - 5, - 1, - 4, - 0, - 2, - 0, - 2, - 1, - 3, - 1, - 4, - 0, - 2, - 1, - 0, - 0, - 2, - 1, - 4, - 1, - 1, - 0, - 3, - 3, - 0, - 5, - 1, - 3, - 2, - 3, - 3, - 1, - 0, - 3, - 2, - 3, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 4, - 0, - 1, - 0, - 3, - 0, - 2, - 0, - 1, - 0, - 3, - 3, - 3, - 4, - 3, - 3, - 0, - 0, - 0, - 0, - 2, - 3), - (0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 2, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 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, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 2, - 1, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 3), - (0, - 1, - 0, - 3, - 0, - 4, - 0, - 3, - 0, - 2, - 4, - 3, - 1, - 0, - 3, - 2, - 2, - 1, - 3, - 1, - 2, - 2, - 3, - 1, - 1, - 1, - 2, - 1, - 3, - 0, - 1, - 2, - 0, - 1, - 3, - 2, - 1, - 3, - 0, - 5, - 5, - 1, - 0, - 0, - 1, - 3, - 2, - 1, - 0, - 3, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 3, - 4, - 0, - 1, - 1, - 1, - 3, - 2, - 0, - 2, - 0, - 1, - 0, - 2, - 3, - 3, - 1, - 2, - 3, - 0, - 1, - 0, - 1, - 0, - 4), - (0, - 0, - 0, - 1, - 0, - 3, - 0, - 3, - 0, - 2, - 2, - 1, - 0, - 0, - 4, - 0, - 3, - 0, - 3, - 1, - 3, - 0, - 3, - 0, - 3, - 0, - 1, - 0, - 3, - 0, - 3, - 1, - 3, - 0, - 3, - 3, - 0, - 0, - 1, - 2, - 1, - 1, - 1, - 0, - 1, - 2, - 0, - 0, - 0, - 1, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 2, - 2, - 1, - 2, - 0, - 0, - 2, - 0, - 0, - 0, - 0, - 2, - 3, - 3, - 3, - 3, - 0, - 0, - 0, - 0, - 1, - 4), - (0, - 0, - 0, - 3, - 0, - 3, - 0, - 0, - 0, - 0, - 3, - 1, - 1, - 0, - 3, - 0, - 1, - 0, - 2, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 3, - 0, - 2, - 0, - 2, - 3, - 0, - 0, - 2, - 2, - 3, - 1, - 2, - 0, - 0, - 1, - 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, - 3, - 0, - 0, - 2, - 0, - 0, - 0, - 0, - 2, - 3), - (2, - 4, - 0, - 5, - 0, - 5, - 0, - 4, - 0, - 3, - 4, - 3, - 3, - 3, - 4, - 3, - 3, - 3, - 4, - 3, - 4, - 4, - 5, - 4, - 5, - 5, - 5, - 2, - 3, - 0, - 5, - 5, - 4, - 1, - 5, - 4, - 3, - 1, - 5, - 4, - 3, - 4, - 4, - 3, - 3, - 4, - 3, - 3, - 0, - 3, - 2, - 0, - 2, - 3, - 0, - 3, - 0, - 0, - 3, - 3, - 0, - 5, - 3, - 2, - 3, - 3, - 0, - 3, - 0, - 3, - 0, - 3, - 4, - 5, - 4, - 5, - 3, - 0, - 4, - 3, - 0, - 3, - 4), - (0, - 3, - 0, - 3, - 0, - 3, - 0, - 3, - 0, - 3, - 3, - 4, - 3, - 2, - 3, - 2, - 3, - 0, - 4, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 3, - 0, - 3, - 2, - 4, - 3, - 3, - 1, - 3, - 4, - 3, - 4, - 4, - 4, - 3, - 4, - 4, - 3, - 2, - 4, - 4, - 1, - 0, - 2, - 0, - 0, - 1, - 1, - 0, - 2, - 0, - 0, - 3, - 1, - 0, - 5, - 3, - 2, - 1, - 3, - 0, - 3, - 0, - 1, - 2, - 4, - 3, - 2, - 4, - 3, - 3, - 0, - 3, - 2, - 0, - 4, - 4), - (0, - 3, - 0, - 3, - 0, - 1, - 0, - 0, - 0, - 1, - 4, - 3, - 3, - 2, - 3, - 1, - 3, - 1, - 4, - 2, - 3, - 2, - 4, - 2, - 3, - 4, - 3, - 0, - 2, - 2, - 3, - 3, - 3, - 0, - 3, - 3, - 3, - 0, - 3, - 4, - 1, - 3, - 3, - 0, - 3, - 4, - 3, - 3, - 0, - 1, - 1, - 0, - 1, - 0, - 0, - 0, - 4, - 0, - 3, - 0, - 0, - 3, - 1, - 2, - 1, - 3, - 0, - 4, - 0, - 1, - 0, - 4, - 3, - 3, - 4, - 3, - 3, - 0, - 2, - 0, - 0, - 3, - 3), - (0, - 3, - 0, - 4, - 0, - 1, - 0, - 3, - 0, - 3, - 4, - 3, - 3, - 0, - 3, - 3, - 3, - 1, - 3, - 1, - 3, - 3, - 4, - 3, - 3, - 3, - 0, - 0, - 3, - 1, - 5, - 3, - 3, - 1, - 3, - 3, - 2, - 5, - 4, - 3, - 3, - 4, - 5, - 3, - 2, - 5, - 3, - 4, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 2, - 0, - 0, - 1, - 1, - 0, - 4, - 2, - 2, - 1, - 3, - 0, - 3, - 0, - 2, - 0, - 4, - 4, - 3, - 5, - 3, - 2, - 0, - 1, - 1, - 0, - 3, - 4), - (0, - 5, - 0, - 4, - 0, - 5, - 0, - 2, - 0, - 4, - 4, - 3, - 3, - 2, - 3, - 3, - 3, - 1, - 4, - 3, - 4, - 1, - 5, - 3, - 4, - 3, - 4, - 0, - 4, - 2, - 4, - 3, - 4, - 1, - 5, - 4, - 0, - 4, - 4, - 4, - 4, - 5, - 4, - 1, - 3, - 5, - 4, - 2, - 1, - 4, - 1, - 1, - 3, - 2, - 0, - 3, - 1, - 0, - 3, - 2, - 1, - 4, - 3, - 3, - 3, - 4, - 0, - 4, - 0, - 3, - 0, - 4, - 4, - 4, - 3, - 3, - 3, - 0, - 4, - 2, - 0, - 3, - 4), - (1, - 4, - 0, - 4, - 0, - 3, - 0, - 1, - 0, - 3, - 3, - 3, - 1, - 1, - 3, - 3, - 2, - 2, - 3, - 3, - 1, - 0, - 3, - 2, - 2, - 1, - 2, - 0, - 3, - 1, - 2, - 1, - 2, - 0, - 3, - 2, - 0, - 2, - 2, - 3, - 3, - 4, - 3, - 0, - 3, - 3, - 1, - 2, - 0, - 1, - 1, - 3, - 1, - 2, - 0, - 0, - 3, - 0, - 1, - 1, - 0, - 3, - 2, - 2, - 3, - 3, - 0, - 3, - 0, - 0, - 0, - 2, - 3, - 3, - 4, - 3, - 3, - 0, - 1, - 0, - 0, - 1, - 4), - (0, - 4, - 0, - 4, - 0, - 4, - 0, - 0, - 0, - 3, - 4, - 4, - 3, - 1, - 4, - 2, - 3, - 2, - 3, - 3, - 3, - 1, - 4, - 3, - 4, - 0, - 3, - 0, - 4, - 2, - 3, - 3, - 2, - 2, - 5, - 4, - 2, - 1, - 3, - 4, - 3, - 4, - 3, - 1, - 3, - 3, - 4, - 2, - 0, - 2, - 1, - 0, - 3, - 3, - 0, - 0, - 2, - 0, - 3, - 1, - 0, - 4, - 4, - 3, - 4, - 3, - 0, - 4, - 0, - 1, - 0, - 2, - 4, - 4, - 4, - 4, - 4, - 0, - 3, - 2, - 0, - 3, - 3), - (0, - 0, - 0, - 1, - 0, - 4, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 3, - 2, - 0, - 0, - 1, - 0, - 0, - 0, - 1, - 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, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 2), - (0, - 2, - 0, - 3, - 0, - 4, - 0, - 4, - 0, - 1, - 3, - 3, - 3, - 0, - 4, - 0, - 2, - 1, - 2, - 1, - 1, - 1, - 2, - 0, - 3, - 1, - 1, - 0, - 1, - 0, - 3, - 1, - 0, - 0, - 3, - 3, - 2, - 0, - 1, - 1, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 2, - 0, - 2, - 2, - 0, - 3, - 1, - 0, - 0, - 1, - 0, - 1, - 1, - 0, - 1, - 2, - 0, - 3, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 3, - 3, - 4, - 3, - 1, - 0, - 1, - 0, - 3, - 0, - 2), - (0, - 0, - 0, - 3, - 0, - 5, - 0, - 0, - 0, - 0, - 1, - 0, - 2, - 0, - 3, - 1, - 0, - 1, - 3, - 0, - 0, - 0, - 2, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 1, - 1, - 0, - 0, - 4, - 0, - 0, - 0, - 2, - 3, - 0, - 1, - 4, - 1, - 0, - 2, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 2, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 3), - (0, - 2, - 0, - 5, - 0, - 5, - 0, - 1, - 0, - 2, - 4, - 3, - 3, - 2, - 5, - 1, - 3, - 2, - 3, - 3, - 3, - 0, - 4, - 1, - 2, - 0, - 3, - 0, - 4, - 0, - 2, - 2, - 1, - 1, - 5, - 3, - 0, - 0, - 1, - 4, - 2, - 3, - 2, - 0, - 3, - 3, - 3, - 2, - 0, - 2, - 4, - 1, - 1, - 2, - 0, - 1, - 1, - 0, - 3, - 1, - 0, - 1, - 3, - 1, - 2, - 3, - 0, - 2, - 0, - 0, - 0, - 1, - 3, - 5, - 4, - 4, - 4, - 0, - 3, - 0, - 0, - 1, - 3), - (0, - 4, - 0, - 5, - 0, - 4, - 0, - 4, - 0, - 4, - 5, - 4, - 3, - 3, - 4, - 3, - 3, - 3, - 4, - 3, - 4, - 4, - 5, - 3, - 4, - 5, - 4, - 2, - 4, - 2, - 3, - 4, - 3, - 1, - 4, - 4, - 1, - 3, - 5, - 4, - 4, - 5, - 5, - 4, - 4, - 5, - 5, - 5, - 2, - 3, - 3, - 1, - 4, - 3, - 1, - 3, - 3, - 0, - 3, - 3, - 1, - 4, - 3, - 4, - 4, - 4, - 0, - 3, - 0, - 4, - 0, - 3, - 3, - 4, - 4, - 5, - 0, - 0, - 4, - 3, - 0, - 4, - 5), - (0, - 4, - 0, - 4, - 0, - 3, - 0, - 3, - 0, - 3, - 4, - 4, - 4, - 3, - 3, - 2, - 4, - 3, - 4, - 3, - 4, - 3, - 5, - 3, - 4, - 3, - 2, - 1, - 4, - 2, - 4, - 4, - 3, - 1, - 3, - 4, - 2, - 4, - 5, - 5, - 3, - 4, - 5, - 4, - 1, - 5, - 4, - 3, - 0, - 3, - 2, - 2, - 3, - 2, - 1, - 3, - 1, - 0, - 3, - 3, - 3, - 5, - 3, - 3, - 3, - 5, - 4, - 4, - 2, - 3, - 3, - 4, - 3, - 3, - 3, - 2, - 1, - 0, - 3, - 2, - 1, - 4, - 3), - (0, - 4, - 0, - 5, - 0, - 4, - 0, - 3, - 0, - 3, - 5, - 5, - 3, - 2, - 4, - 3, - 4, - 0, - 5, - 4, - 4, - 1, - 4, - 4, - 4, - 3, - 3, - 3, - 4, - 3, - 5, - 5, - 2, - 3, - 3, - 4, - 1, - 2, - 5, - 5, - 3, - 5, - 5, - 2, - 3, - 5, - 5, - 4, - 0, - 3, - 2, - 0, - 3, - 3, - 1, - 1, - 5, - 1, - 4, - 1, - 0, - 4, - 3, - 2, - 3, - 5, - 0, - 4, - 0, - 3, - 0, - 5, - 4, - 3, - 4, - 3, - 0, - 0, - 4, - 1, - 0, - 4, - 4), - (1, - 3, - 0, - 4, - 0, - 2, - 0, - 2, - 0, - 2, - 5, - 5, - 3, - 3, - 3, - 3, - 3, - 0, - 4, - 2, - 3, - 4, - 4, - 4, - 3, - 4, - 0, - 0, - 3, - 4, - 5, - 4, - 3, - 3, - 3, - 3, - 2, - 5, - 5, - 4, - 5, - 5, - 5, - 4, - 3, - 5, - 5, - 5, - 1, - 3, - 1, - 0, - 1, - 0, - 0, - 3, - 2, - 0, - 4, - 2, - 0, - 5, - 2, - 3, - 2, - 4, - 1, - 3, - 0, - 3, - 0, - 4, - 5, - 4, - 5, - 4, - 3, - 0, - 4, - 2, - 0, - 5, - 4), - (0, - 3, - 0, - 4, - 0, - 5, - 0, - 3, - 0, - 3, - 4, - 4, - 3, - 2, - 3, - 2, - 3, - 3, - 3, - 3, - 3, - 2, - 4, - 3, - 3, - 2, - 2, - 0, - 3, - 3, - 3, - 3, - 3, - 1, - 3, - 3, - 3, - 0, - 4, - 4, - 3, - 4, - 4, - 1, - 1, - 4, - 4, - 2, - 0, - 3, - 1, - 0, - 1, - 1, - 0, - 4, - 1, - 0, - 2, - 3, - 1, - 3, - 3, - 1, - 3, - 4, - 0, - 3, - 0, - 1, - 0, - 3, - 1, - 3, - 0, - 0, - 1, - 0, - 2, - 0, - 0, - 4, - 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, - 3, - 0, - 3, - 0, - 2, - 0, - 3, - 0, - 1, - 5, - 4, - 3, - 3, - 3, - 1, - 4, - 2, - 1, - 2, - 3, - 4, - 4, - 2, - 4, - 4, - 5, - 0, - 3, - 1, - 4, - 3, - 4, - 0, - 4, - 3, - 3, - 3, - 2, - 3, - 2, - 5, - 3, - 4, - 3, - 2, - 2, - 3, - 0, - 0, - 3, - 0, - 2, - 1, - 0, - 1, - 2, - 0, - 0, - 0, - 0, - 2, - 1, - 1, - 3, - 1, - 0, - 2, - 0, - 4, - 0, - 3, - 4, - 4, - 4, - 5, - 2, - 0, - 2, - 0, - 0, - 1, - 3), - (0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 0, - 0, - 1, - 1, - 0, - 0, - 0, - 4, - 2, - 1, - 1, - 0, - 1, - 0, - 3, - 2, - 0, - 0, - 3, - 1, - 1, - 1, - 2, - 2, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 3, - 0, - 1, - 0, - 0, - 0, - 2, - 0, - 0, - 0, - 1, - 4, - 0, - 4, - 2, - 1, - 0, - 0, - 0, - 0, - 0, - 1), - (0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 1, - 0, - 0, - 0, - 0, - 3, - 1, - 0, - 0, - 0, - 2, - 0, - 2, - 1, - 0, - 0, - 1, - 2, - 1, - 0, - 1, - 1, - 0, - 0, - 3, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 3, - 1, - 0, - 0, - 0, - 0, - 0, - 1, - 0, - 0, - 2, - 1, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 2), - (0, - 4, - 0, - 4, - 0, - 4, - 0, - 3, - 0, - 4, - 4, - 3, - 4, - 2, - 4, - 3, - 2, - 0, - 4, - 4, - 4, - 3, - 5, - 3, - 5, - 3, - 3, - 2, - 4, - 2, - 4, - 3, - 4, - 3, - 1, - 4, - 0, - 2, - 3, - 4, - 4, - 4, - 3, - 3, - 3, - 4, - 4, - 4, - 3, - 4, - 1, - 3, - 4, - 3, - 2, - 1, - 2, - 1, - 3, - 3, - 3, - 4, - 4, - 3, - 3, - 5, - 0, - 4, - 0, - 3, - 0, - 4, - 3, - 3, - 3, - 2, - 1, - 0, - 3, - 0, - 0, - 3, - 3), - (0, - 4, - 0, - 3, - 0, - 3, - 0, - 3, - 0, - 3, - 5, - 5, - 3, - 3, - 3, - 3, - 4, - 3, - 4, - 3, - 3, - 3, - 4, - 4, - 4, - 3, - 3, - 3, - 3, - 4, - 3, - 5, - 3, - 3, - 1, - 3, - 2, - 4, - 5, - 5, - 5, - 5, - 4, - 3, - 4, - 5, - 5, - 3, - 2, - 2, - 3, - 3, - 3, - 3, - 2, - 3, - 3, - 1, - 2, - 3, - 2, - 4, - 3, - 3, - 3, - 4, - 0, - 4, - 0, - 2, - 0, - 4, - 3, - 2, - 2, - 1, - 2, - 0, - 3, - 0, - 0, - 4, - 1)) - -class JapaneseContextAnalysis(): - - def __init__(self): - self.reset() - - def reset(self): - self._mTotalRel = 0 - self._mRelSample = [0] * NUM_OF_CATEGORY - self._mNeedToSkipCharNum = 0 - self._mLastCharOrder = -1 - self._mDone = False - - def feed(self, aBuf, aLen): - if self._mDone: - return - i = self._mNeedToSkipCharNum - while i < aLen: - order, charLen = self.get_order(aBuf[i:i + 2]) - i += charLen - if i > aLen: - self._mNeedToSkipCharNum = i - aLen - self._mLastCharOrder = -1 - else: - if order != -1 and self._mLastCharOrder != -1: - self._mTotalRel += 1 - if self._mTotalRel > MAX_REL_THRESHOLD: - self._mDone = True - break - self._mRelSample[jp2CharContext[self._mLastCharOrder][order]] += 1 - self._mLastCharOrder = order - - def got_enough_data(self): - return self._mTotalRel > ENOUGH_REL_THRESHOLD - - def get_confidence(self): - if self._mTotalRel > MINIMUM_DATA_THRESHOLD: - return (self._mTotalRel - self._mRelSample[0]) / self._mTotalRel - else: - return DONT_KNOW - - def get_order(self, aBuf): - return (-1, 1) - - -class SJISContextAnalysis(JapaneseContextAnalysis): - - def __init__(self): - self.charset_name = 'SHIFT_JIS' - - def get_charset_name(self): - return self.charset_name - - def get_order(self, aBuf): - if not aBuf: - return (-1, 1) - first_char = wrap_ord(aBuf[0]) - if 129 <= first_char <= 159 or 224 <= first_char <= 252: - charLen = 2 - if first_char == 135 or 250 <= first_char <= 252: - self.charset_name = 'CP932' - else: - charLen = 1 - if len(aBuf) > 1: - second_char = wrap_ord(aBuf[1]) - if first_char == 202 and 159 <= second_char <= 241: - return (second_char - 159, charLen) - return (-1, charLen) - - -class EUCJPContextAnalysis(JapaneseContextAnalysis): - - def get_order(self, aBuf): - if not aBuf: - return (-1, 1) - first_char = wrap_ord(aBuf[0]) - if first_char == 142 or 161 <= first_char <= 254: - charLen = 2 - elif first_char == 143: - charLen = 3 - else: - charLen = 1 - if len(aBuf) > 1: - second_char = wrap_ord(aBuf[1]) - if first_char == 164 and 161 <= second_char <= 243: - return (second_char - 161, charLen) - return (-1, charLen) diff --git a/stackless_tracing/attributes.py b/stackless_tracing/attributes.py @@ -14,6 +14,7 @@ BLUE_TIME = 'eve.wallclock_time' SAMPLE_RATE = 'Sample Rate' TIME_DILATION = 'eve.time_dilation' TASKLET = 'eve.tasklet_id' +NET_COMPONENT = 'net.component' STATUS_CODE = 'status_code' STATUS_MESSAGE = 'status_message' ERROR = 'error' diff --git a/stackless_tracing/tasklet_tracer.py b/stackless_tracing/tasklet_tracer.py @@ -1,10 +1,11 @@ #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\packages\stackless_tracing\tasklet_tracer.py from __future__ import absolute_import -from .attributes import SPAN_NAME, SERVICE_NAME, SPAN_KIND, TASKLET_CONTEXT, TASKLET_PARENT_CALLSITE +from .attributes import SPAN_NAME, SERVICE_NAME, SPAN_KIND, TASKLET_CONTEXT, TASKLET_PARENT_CALLSITE, NET_COMPONENT import stackless_tracing import monolithconfig NO_TRACE_METHOD_NAMES = [None, 'inner', 'MollycoddledUthread'] NO_TRACE_MODULE_NAMES = [None, 'uthread'] +GATEWAY_MODULE_NAMES = ['externalQueueMgr'] class TaskletTracer(object): @@ -26,6 +27,8 @@ class TaskletTracer(object): self.span.add_context({SPAN_KIND: 'internal', TASKLET_CONTEXT: tasklet_context, TASKLET_PARENT_CALLSITE: parent_callsite}) + if self._is_gateway(): + self.span.add_context({NET_COMPONENT: 'proxy'}) return self def __exit__(self, exc_type, exc_val, exc_tb): @@ -39,3 +42,6 @@ class TaskletTracer(object): if self.module_name in NO_TRACE_MODULE_NAMES: return False return True + + def _is_gateway(self): + return self.module_name in GATEWAY_MODULE_NAMES