lesscode-py 0.3.67__tar.gz → 0.3.68__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/PKG-INFO +3 -2
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/README.md +2 -1
- lesscode-py-0.3.68/lesscode/task/job_info.py +32 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/version.py +1 -1
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/web_server.py +14 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode_py.egg-info/PKG-INFO +3 -2
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode_py.egg-info/SOURCES.txt +1 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/base_connection_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/base_sql_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/condition_wrapper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/connection_info.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/db_function.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/ds_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/elasticsearch/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/elasticsearch/elasticsearch_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/elasticsearch/elasticsearch_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/es/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/es/es_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/es/es_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/es/es_request.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/init_connection_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mongodb/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mongodb/mongodb_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mongodb/mongodb_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mysql/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mysql/mysql_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mysql/mysql_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mysql_sqlalchemy/SqlAlchemy.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mysql_sqlalchemy/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mysql_sqlalchemy/mysql_sqlalchemy_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/nebula/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/nebula/nebula_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/nebula/nebula_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/neo4j/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/neo4j/neo4j_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/neo4j/neo4j_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/page.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/postgresql/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/postgresql/postgresql_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/postgresql/postgresql_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/redis/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/redis/redis_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/redis/redis_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/redis_cluster/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/redis_cluster/redis_cluster_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/redis_cluster/redis_cluster_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/relational_db_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/sqlalchemy/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/sqlalchemy/sqlalchemy_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/sqlalchemy/sqlalchemy_pool.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/extend_handlers/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/extend_handlers/doc/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/extend_handlers/doc/swagger_interface_doc_handler.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/extend_handlers/not_found_handler.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/mq/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/mq/kafka/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/mq/kafka/kafka_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/mq/rabbitmq/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/mq/rabbitmq/rabbitmq_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/sentry/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/sentry/sentry_monitor.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/task/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/task/task_helper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/CacheUtil.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/EsUtil.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/MongodbUtil.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/ThreadUtil.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/business.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/chart/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/chart/common2chart.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/chart/es2chart.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/chart/mongo2chart.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/chart/mysql2chart.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/chart/neo4j2chart.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/common.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/doc/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/doc/interface_doc_handler.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/aes.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/base64.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/des.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/hmac.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/md5.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/rsa.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/sha1.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/sha256.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/encryption_algorithm/smx.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/es_log/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/es_log/record_log.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/json.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/oss/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/oss/ks3_oss.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/request.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/thread_task.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/upms_util.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/utils/wrapper.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/__init__.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/base_handler.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/base_server_send_event_handler.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/base_websocket_handler.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/business_exception.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/native_handler.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/response_result.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/router_mapping.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/web/status_code.py +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode_py.egg-info/dependency_links.txt +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode_py.egg-info/top_level.txt +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/setup.cfg +0 -0
- {lesscode-py-0.3.67 → lesscode-py-0.3.68}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lesscode-py
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.68
|
|
4
4
|
Summary: lesscode-python 是基于tornado的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
|
|
5
5
|
Home-page: https://gitee.com/yongchao9/lesscode-python
|
|
6
6
|
Author: Chao.yy
|
|
@@ -149,7 +149,7 @@ Description-Content-Type: text/markdown
|
|
|
149
149
|
"data": "lesscode-python",
|
|
150
150
|
"timestamp": "2021-11-18 16:20:07.823522"
|
|
151
151
|
}
|
|
152
|
-
|
|
152
|
+
7. 定义常用业务处理状态码,支持信息自定义
|
|
153
153
|
|
|
154
154
|
StatusCode 统一请求返回状态码
|
|
155
155
|
1. A表示错误来源于用户,比如参数错误,用户安装版本过低,用户支付超时等问题;
|
|
@@ -191,6 +191,7 @@ Description-Content-Type: text/markdown
|
|
|
191
191
|
RPC_INVOKE_ERROR = ("C0001", "调用第三方服务出错")
|
|
192
192
|
SERVER_ERROR = ("C0002", "服务器内部错误")
|
|
193
193
|
UNKNOWN_ERROR = ("C0003", "未知异常")
|
|
194
|
+
|
|
194
195
|
#### 参与贡献
|
|
195
196
|
|
|
196
197
|
1. Fork 本仓库
|
|
@@ -136,7 +136,7 @@
|
|
|
136
136
|
"data": "lesscode-python",
|
|
137
137
|
"timestamp": "2021-11-18 16:20:07.823522"
|
|
138
138
|
}
|
|
139
|
-
|
|
139
|
+
7. 定义常用业务处理状态码,支持信息自定义
|
|
140
140
|
|
|
141
141
|
StatusCode 统一请求返回状态码
|
|
142
142
|
1. A表示错误来源于用户,比如参数错误,用户安装版本过低,用户支付超时等问题;
|
|
@@ -178,6 +178,7 @@
|
|
|
178
178
|
RPC_INVOKE_ERROR = ("C0001", "调用第三方服务出错")
|
|
179
179
|
SERVER_ERROR = ("C0002", "服务器内部错误")
|
|
180
180
|
UNKNOWN_ERROR = ("C0003", "未知异常")
|
|
181
|
+
|
|
181
182
|
#### 参与贡献
|
|
182
183
|
|
|
183
184
|
1. Fork 本仓库
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import uuid
|
|
2
|
+
from datetime import datetime, tzinfo
|
|
3
|
+
from typing import Union
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class JobInfo:
|
|
7
|
+
def __init__(self, func, name: str = None, year: Union[int, str] = None, month: Union[int, str] = None,
|
|
8
|
+
day: Union[int, str] = None,
|
|
9
|
+
week: Union[int, str] = None, day_of_week: Union[int, str] = None,
|
|
10
|
+
hour: Union[int, str] = None, minute: Union[int, str] = None, second: Union[int, str] = None,
|
|
11
|
+
start_date: Union[datetime, str] = None, end_date: Union[datetime, str] = None,
|
|
12
|
+
timezone: Union[tzinfo, str] = None, func_args: Union[list, tuple] = None, func_kwargs: dict = None,
|
|
13
|
+
*args, **kwargs):
|
|
14
|
+
uid = uuid.uuid4().hex
|
|
15
|
+
self.id = uid
|
|
16
|
+
self.name = name or uid
|
|
17
|
+
self.func = func
|
|
18
|
+
self.year = year
|
|
19
|
+
self.month = month
|
|
20
|
+
self.day = day
|
|
21
|
+
self.week = week
|
|
22
|
+
self.day_of_week = day_of_week
|
|
23
|
+
self.hour = hour
|
|
24
|
+
self.minute = minute
|
|
25
|
+
self.second = second
|
|
26
|
+
self.start_date = start_date
|
|
27
|
+
self.end_date = end_date
|
|
28
|
+
self.timezone = timezone
|
|
29
|
+
self.func_args = func_args
|
|
30
|
+
self.func_kwargs = func_kwargs
|
|
31
|
+
self.args = args
|
|
32
|
+
self.kwargs = kwargs
|
|
@@ -17,6 +17,7 @@ from tornado.options import options, define
|
|
|
17
17
|
from lesscode.db.init_connection_pool import InitConnectionPool
|
|
18
18
|
from lesscode.extend_handlers.not_found_handler import NotFoundHandler
|
|
19
19
|
from lesscode.sentry.sentry_monitor import sentry_monitor
|
|
20
|
+
from lesscode.task.job_info import JobInfo
|
|
20
21
|
from lesscode.web.router_mapping import RouterMapping
|
|
21
22
|
|
|
22
23
|
define("application_name", default=f"{os.path.split(os.path.abspath(os.path.dirname(sys.argv[0])))[-1]}", type=str,
|
|
@@ -58,6 +59,7 @@ define("sentry_config", default={"enable": False}, type=dict, help="sentry配置
|
|
|
58
59
|
define("login_verification_func", default=None, type=object, help="登录验证函数")
|
|
59
60
|
define("cors", default=None, type=dict, help="跨域策略")
|
|
60
61
|
define("url_log_enable", default=False, type=bool, help="项目url打印")
|
|
62
|
+
define("cronjob_config", default={}, type=dict, help="定时任务配置")
|
|
61
63
|
# 日志初始化配置,配置文件中可修改设置
|
|
62
64
|
options.logging = "DEBUG"
|
|
63
65
|
options.log_rotate_mode = "time"
|
|
@@ -219,6 +221,18 @@ class WebServer:
|
|
|
219
221
|
task_kwargs = task.get("kwargs", {})
|
|
220
222
|
if task_func:
|
|
221
223
|
options.scheduler.add_job(func=task_func, **task_kwargs)
|
|
224
|
+
if options.cronjob_config:
|
|
225
|
+
cronjob_config = options.cronjob_config
|
|
226
|
+
if cronjob_config.get("enable"):
|
|
227
|
+
job_list = cronjob_config.get("job_list")
|
|
228
|
+
if job_list:
|
|
229
|
+
for job in job_list:
|
|
230
|
+
if isinstance(job, JobInfo):
|
|
231
|
+
options.scheduler.add_job(func=job.func, trigger='cron', year=job.year, month=job.month,
|
|
232
|
+
day=job.day, week=job.week, day_of_week=job.day_of_week,
|
|
233
|
+
hour=job.hour, minute=job.minute, second=job.second,
|
|
234
|
+
start_date=job.start_date, end_date=job.end_date,
|
|
235
|
+
args=job.func_args, kwargs=job.kwargs, *job.args, **job.kwargs)
|
|
222
236
|
|
|
223
237
|
def service_register(self):
|
|
224
238
|
try:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lesscode-py
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.68
|
|
4
4
|
Summary: lesscode-python 是基于tornado的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
|
|
5
5
|
Home-page: https://gitee.com/yongchao9/lesscode-python
|
|
6
6
|
Author: Chao.yy
|
|
@@ -149,7 +149,7 @@ Description-Content-Type: text/markdown
|
|
|
149
149
|
"data": "lesscode-python",
|
|
150
150
|
"timestamp": "2021-11-18 16:20:07.823522"
|
|
151
151
|
}
|
|
152
|
-
|
|
152
|
+
7. 定义常用业务处理状态码,支持信息自定义
|
|
153
153
|
|
|
154
154
|
StatusCode 统一请求返回状态码
|
|
155
155
|
1. A表示错误来源于用户,比如参数错误,用户安装版本过低,用户支付超时等问题;
|
|
@@ -191,6 +191,7 @@ Description-Content-Type: text/markdown
|
|
|
191
191
|
RPC_INVOKE_ERROR = ("C0001", "调用第三方服务出错")
|
|
192
192
|
SERVER_ERROR = ("C0002", "服务器内部错误")
|
|
193
193
|
UNKNOWN_ERROR = ("C0003", "未知异常")
|
|
194
|
+
|
|
194
195
|
#### 参与贡献
|
|
195
196
|
|
|
196
197
|
1. Fork 本仓库
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{lesscode-py-0.3.67 → lesscode-py-0.3.68}/lesscode/db/mysql_sqlalchemy/mysql_sqlalchemy_pool.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|