@purpleschool/gptbot 0.5.28 → 0.5.30
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.
- package/api/controllers/amqp/index.ts +2 -0
- package/api/controllers/amqp/telegram-connect.ts +3 -0
- package/api/controllers/amqp/telegram-profile.ts +3 -0
- package/api/controllers/http/index.ts +24 -0
- package/api/controllers/http/telegram-connect.ts +5 -0
- package/api/controllers/http/telegram-profile.ts +5 -0
- package/api/controllers/index.ts +2 -22
- package/api/index.ts +1 -1
- package/build/api/controllers/amqp/index.js +18 -0
- package/build/api/controllers/amqp/telegram-connect.js +6 -0
- package/build/api/controllers/amqp/telegram-profile.js +6 -0
- package/build/api/controllers/http/index.js +40 -0
- package/build/api/controllers/http/telegram-connect.js +7 -0
- package/build/api/controllers/http/telegram-profile.js +7 -0
- package/build/api/controllers/index.js +2 -22
- package/build/api/index.js +1 -1
- package/build/commands/index.js +1 -0
- package/build/commands/task/get-potential-tasks-rewards.command.js +1 -0
- package/build/commands/telegram-profile/auth-with-telegram-web-app.command.js +17 -0
- package/build/commands/telegram-profile/check-my-telegram-profile-connected.command.js +12 -0
- package/build/commands/telegram-profile/check-telegram-profile-exists.command.js +16 -0
- package/build/commands/telegram-profile/connect-telegram-profile-with-verification-code.command.js +15 -0
- package/build/commands/telegram-profile/create-new-user-from-telegram-bot.command.js +12 -0
- package/build/commands/telegram-profile/create-telegram-profile-connection-link.command.js +14 -0
- package/build/commands/telegram-profile/index.js +22 -0
- package/build/commands/user/get-me.command.js +18 -0
- package/build/commands/user/index.js +1 -0
- package/build/constants/errors/errors.js +81 -6
- package/build/constants/index.js +1 -0
- package/build/constants/telegram/index.js +18 -0
- package/build/constants/telegram/telegram-auth-log/enums/index.js +17 -0
- package/build/constants/telegram/telegram-auth-log/enums/telegram-auth-log-type.enum.js +8 -0
- package/build/constants/telegram/telegram-auth-log/index.js +17 -0
- package/build/constants/telegram/telegram-connect/enums/index.js +17 -0
- package/build/constants/telegram/telegram-connect/enums/telegram-connect-status.enum.js +9 -0
- package/build/constants/telegram/telegram-connect/index.js +17 -0
- package/build/constants/user/enums/user-status.js +1 -0
- package/build/models/index.js +1 -0
- package/build/models/telegram-user-data.schema.js +12 -0
- package/build/models/user-task.schema.js +1 -0
- package/commands/index.ts +1 -0
- package/commands/task/get-potential-tasks-rewards.command.ts +1 -0
- package/commands/telegram-profile/auth-with-telegram-web-app.command.ts +18 -0
- package/commands/telegram-profile/check-my-telegram-profile-connected.command.ts +11 -0
- package/commands/telegram-profile/check-telegram-profile-exists.command.ts +18 -0
- package/commands/telegram-profile/connect-telegram-profile-with-verification-code.command.ts +16 -0
- package/commands/telegram-profile/create-new-user-from-telegram-bot.command.ts +13 -0
- package/commands/telegram-profile/create-telegram-profile-connection-link.command.ts +14 -0
- package/commands/telegram-profile/index.ts +6 -0
- package/commands/user/get-me.command.ts +20 -0
- package/commands/user/index.ts +1 -0
- package/constants/errors/errors.ts +81 -6
- package/constants/index.ts +1 -0
- package/constants/telegram/index.ts +2 -0
- package/constants/telegram/telegram-auth-log/enums/index.ts +1 -0
- package/constants/telegram/telegram-auth-log/enums/telegram-auth-log-type.enum.ts +4 -0
- package/constants/telegram/telegram-auth-log/index.ts +1 -0
- package/constants/telegram/telegram-connect/enums/index.ts +1 -0
- package/constants/telegram/telegram-connect/enums/telegram-connect-status.enum.ts +5 -0
- package/constants/telegram/telegram-connect/index.ts +1 -0
- package/constants/user/enums/user-status.ts +1 -0
- package/models/index.ts +1 -0
- package/models/telegram-user-data.schema.ts +12 -0
- package/models/user-task.schema.ts +2 -1
- package/package.json +1 -1
- /package/api/controllers/{ai-model.ts → http/ai-model.ts} +0 -0
- /package/api/controllers/{auth.ts → http/auth.ts} +0 -0
- /package/api/controllers/{blog.ts → http/blog.ts} +0 -0
- /package/api/controllers/{category.ts → http/category.ts} +0 -0
- /package/api/controllers/{chat-private.ts → http/chat-private.ts} +0 -0
- /package/api/controllers/{chat-public.ts → http/chat-public.ts} +0 -0
- /package/api/controllers/{cloud-payments.ts → http/cloud-payments.ts} +0 -0
- /package/api/controllers/{course.ts → http/course.ts} +0 -0
- /package/api/controllers/{feedback.ts → http/feedback.ts} +0 -0
- /package/api/controllers/{files.ts → http/files.ts} +0 -0
- /package/api/controllers/{message.ts → http/message.ts} +0 -0
- /package/api/controllers/{page.ts → http/page.ts} +0 -0
- /package/api/controllers/{payment.ts → http/payment.ts} +0 -0
- /package/api/controllers/{product.ts → http/product.ts} +0 -0
- /package/api/controllers/{question.ts → http/question.ts} +0 -0
- /package/api/controllers/{referral.ts → http/referral.ts} +0 -0
- /package/api/controllers/{subscription.ts → http/subscription.ts} +0 -0
- /package/api/controllers/{task.ts → http/task.ts} +0 -0
- /package/api/controllers/{unregistered-user.ts → http/unregistered-user.ts} +0 -0
- /package/api/controllers/{user-to-task-private.ts → http/user-to-task-private.ts} +0 -0
- /package/api/controllers/{user-to-task-public.ts → http/user-to-task-public.ts} +0 -0
- /package/api/controllers/{user.ts → http/user.ts} +0 -0
- /package/build/api/controllers/{ai-model.js → http/ai-model.js} +0 -0
- /package/build/api/controllers/{auth.js → http/auth.js} +0 -0
- /package/build/api/controllers/{blog.js → http/blog.js} +0 -0
- /package/build/api/controllers/{category.js → http/category.js} +0 -0
- /package/build/api/controllers/{chat-private.js → http/chat-private.js} +0 -0
- /package/build/api/controllers/{chat-public.js → http/chat-public.js} +0 -0
- /package/build/api/controllers/{cloud-payments.js → http/cloud-payments.js} +0 -0
- /package/build/api/controllers/{course.js → http/course.js} +0 -0
- /package/build/api/controllers/{feedback.js → http/feedback.js} +0 -0
- /package/build/api/controllers/{files.js → http/files.js} +0 -0
- /package/build/api/controllers/{message.js → http/message.js} +0 -0
- /package/build/api/controllers/{page.js → http/page.js} +0 -0
- /package/build/api/controllers/{payment.js → http/payment.js} +0 -0
- /package/build/api/controllers/{product.js → http/product.js} +0 -0
- /package/build/api/controllers/{question.js → http/question.js} +0 -0
- /package/build/api/controllers/{referral.js → http/referral.js} +0 -0
- /package/build/api/controllers/{subscription.js → http/subscription.js} +0 -0
- /package/build/api/controllers/{task.js → http/task.js} +0 -0
- /package/build/api/controllers/{unregistered-user.js → http/unregistered-user.js} +0 -0
- /package/build/api/controllers/{user-to-task-private.js → http/user-to-task-private.js} +0 -0
- /package/build/api/controllers/{user-to-task-public.js → http/user-to-task-public.js} +0 -0
- /package/build/api/controllers/{user.js → http/user.js} +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TelegramUserDataSchema = void 0;
|
|
4
|
+
const zod_1 = require("zod");
|
|
5
|
+
exports.TelegramUserDataSchema = zod_1.z.object({
|
|
6
|
+
telegramId: zod_1.z.coerce.number(),
|
|
7
|
+
username: zod_1.z.string().optional().nullable(),
|
|
8
|
+
firstName: zod_1.z.string(),
|
|
9
|
+
lastName: zod_1.z.string().optional().nullable(),
|
|
10
|
+
languageCode: zod_1.z.string(),
|
|
11
|
+
isPremium: zod_1.z.boolean().optional(),
|
|
12
|
+
});
|
|
@@ -9,6 +9,7 @@ exports.UserTaskSchema = zod_1.z.object({
|
|
|
9
9
|
reward: zod_1.z.number(),
|
|
10
10
|
icon: zod_1.z.string(),
|
|
11
11
|
type: zod_1.z.nativeEnum(constants_1.TASK_TYPE),
|
|
12
|
+
status: zod_1.z.nativeEnum(constants_1.USER_TO_TASK_STATUS),
|
|
12
13
|
content: zod_1.z.string().nullable().optional(),
|
|
13
14
|
description: zod_1.z.string().nullable(),
|
|
14
15
|
});
|
package/commands/index.ts
CHANGED
|
@@ -13,6 +13,7 @@ export * from './question';
|
|
|
13
13
|
export * from './referral';
|
|
14
14
|
export * from './subscription';
|
|
15
15
|
export * from './task';
|
|
16
|
+
export * from './telegram-profile';
|
|
16
17
|
export * from './unregistered-user';
|
|
17
18
|
export * from './user';
|
|
18
19
|
export * from './user-to-subscription';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
export namespace AuthWithTelegramWebAppCommand {
|
|
4
|
+
export const RequestBodySchema = z.object({
|
|
5
|
+
initData: z.string(),
|
|
6
|
+
platform: z.string().nullable(),
|
|
7
|
+
partnerId: z.string().optional(),
|
|
8
|
+
});
|
|
9
|
+
|
|
10
|
+
export type Request = z.infer<typeof RequestBodySchema>;
|
|
11
|
+
|
|
12
|
+
export const ResponseSchema = z.object({
|
|
13
|
+
data: z.object({
|
|
14
|
+
accessToken: z.string(),
|
|
15
|
+
}),
|
|
16
|
+
});
|
|
17
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
export namespace CheckTelegramProfileExistsCommand {
|
|
4
|
+
export const RequestBodySchema = z.object({
|
|
5
|
+
initData: z.string(),
|
|
6
|
+
platform: z.string().nullable(),
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type RequestBody = z.infer<typeof RequestBodySchema>;
|
|
10
|
+
|
|
11
|
+
export const ResponseSchema = z.object({
|
|
12
|
+
data: z.object({
|
|
13
|
+
exists: z.boolean(),
|
|
14
|
+
}),
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { TelegramUserDataSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace ConnectTelegramProfileWithVerificationCodeCommand {
|
|
5
|
+
export const RequestSchema = TelegramUserDataSchema.extend({
|
|
6
|
+
code: z.string(),
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
10
|
+
|
|
11
|
+
export const ResponseSchema = z.object({
|
|
12
|
+
isSuccess: z.boolean(),
|
|
13
|
+
message: z.string().optional(),
|
|
14
|
+
});
|
|
15
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { TelegramUserDataSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace CreateNewUserFromTelegramBotCommand {
|
|
5
|
+
export const RequestSchema = TelegramUserDataSchema.extend({
|
|
6
|
+
partnerId: z.string().uuid().optional(),
|
|
7
|
+
});
|
|
8
|
+
|
|
9
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
10
|
+
|
|
11
|
+
export const ResponseSchema = z.void();
|
|
12
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { TelegramUserDataSchema } from '../../models';
|
|
3
|
+
|
|
4
|
+
export namespace CreateTelegramConnectionLinkCommand {
|
|
5
|
+
export const RequestSchema = TelegramUserDataSchema.extend({
|
|
6
|
+
code: z.string(),
|
|
7
|
+
});
|
|
8
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
9
|
+
|
|
10
|
+
export const ResponseSchema = z.object({
|
|
11
|
+
link: z.string(),
|
|
12
|
+
});
|
|
13
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from './auth-with-telegram-web-app.command';
|
|
2
|
+
export * from './check-my-telegram-profile-connected.command';
|
|
3
|
+
export * from './check-telegram-profile-exists.command';
|
|
4
|
+
export * from './connect-telegram-profile-with-verification-code.command';
|
|
5
|
+
export * from './create-telegram-profile-connection-link.command';
|
|
6
|
+
export * from './create-new-user-from-telegram-bot.command';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ROLE, USER_STATUS } from '../../constants';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
export namespace GetMeCommand {
|
|
5
|
+
export const RequestSchema = z.object({});
|
|
6
|
+
|
|
7
|
+
export type Request = z.infer<typeof RequestSchema>;
|
|
8
|
+
|
|
9
|
+
export const ResponseSchema = z.object({
|
|
10
|
+
data: z.object({
|
|
11
|
+
uuid: z.string().uuid(),
|
|
12
|
+
email: z.string().email(),
|
|
13
|
+
status: z.nativeEnum(USER_STATUS),
|
|
14
|
+
role: z.nativeEnum(ROLE),
|
|
15
|
+
telegramId: z.number().nullable(),
|
|
16
|
+
}),
|
|
17
|
+
});
|
|
18
|
+
|
|
19
|
+
export type Response = z.infer<typeof ResponseSchema>;
|
|
20
|
+
}
|
package/commands/user/index.ts
CHANGED
|
@@ -691,33 +691,108 @@ export const ERRORS = {
|
|
|
691
691
|
httpCode: 400,
|
|
692
692
|
},
|
|
693
693
|
TASK_CREATE_ERROR: {
|
|
694
|
-
code: '
|
|
694
|
+
code: 'A153',
|
|
695
695
|
message: 'Произовшла ошибка при создании задания',
|
|
696
696
|
httpCode: 500,
|
|
697
697
|
},
|
|
698
698
|
TASK_UPDATE_ERROR: {
|
|
699
|
-
code: '
|
|
699
|
+
code: 'A154',
|
|
700
700
|
message: 'Произовшла ошибка при обновлении задания',
|
|
701
701
|
httpCode: 500,
|
|
702
702
|
},
|
|
703
703
|
TASK_DELETE_ERROR: {
|
|
704
|
-
code: '
|
|
704
|
+
code: 'A155',
|
|
705
705
|
message: 'Произовшла ошибка при удалении задания',
|
|
706
706
|
httpCode: 500,
|
|
707
707
|
},
|
|
708
708
|
TASK_GET_POTENTIAL_REWARDS_ERROR: {
|
|
709
|
-
code: '
|
|
709
|
+
code: 'A156',
|
|
710
710
|
message: 'Произовшла ошибка при списка наград за выполение доступных заданий',
|
|
711
711
|
httpCode: 500,
|
|
712
712
|
},
|
|
713
713
|
USER_BALANCE_CALCULATION_ERROR: {
|
|
714
|
-
code: '
|
|
714
|
+
code: 'A157',
|
|
715
715
|
message: 'Произовшла ошибка при расчете баланса пользователя',
|
|
716
716
|
httpCode: 500,
|
|
717
717
|
},
|
|
718
718
|
TASK_REQUIRES_VERIFICATION: {
|
|
719
|
-
code: '
|
|
719
|
+
code: 'A158',
|
|
720
720
|
message: 'Для доступа к задачам необходимо подтвердить электронную почту',
|
|
721
721
|
httpCode: 401,
|
|
722
722
|
},
|
|
723
|
+
TELEGRAM_AUTH_ERROR: {
|
|
724
|
+
code: 'A159',
|
|
725
|
+
message: 'Не удалось авторизоваться через Telegram',
|
|
726
|
+
httpCode: 500,
|
|
727
|
+
},
|
|
728
|
+
TELEGRAM_PROFILE_NOT_FOUND: {
|
|
729
|
+
code: 'A160',
|
|
730
|
+
message: 'Telegram профиль не найден',
|
|
731
|
+
httpCode: 404,
|
|
732
|
+
},
|
|
733
|
+
TELEGRAM_PROFILE_FIND_ERROR: {
|
|
734
|
+
code: 'A170',
|
|
735
|
+
message: 'Ошибка при поиске Telegram профиля',
|
|
736
|
+
httpCode: 500,
|
|
737
|
+
},
|
|
738
|
+
TELEGRAM_PROFILE_CHECK_ERROR: {
|
|
739
|
+
code: 'A171',
|
|
740
|
+
message: 'Произошла ошибка при проверке существования Telegram профиля',
|
|
741
|
+
httpCode: 500,
|
|
742
|
+
},
|
|
743
|
+
TELEGRAM_PROFILE_VALIDATION_FAILED: {
|
|
744
|
+
code: 'A172',
|
|
745
|
+
message: 'Данные не прошли валидацию',
|
|
746
|
+
httpCode: 400,
|
|
747
|
+
},
|
|
748
|
+
TELEGRAM_PROFILE_CREATE_ERROR: {
|
|
749
|
+
code: 'A173',
|
|
750
|
+
message: 'Произошла ошибка при создании Telegram профиля',
|
|
751
|
+
httpCode: 500,
|
|
752
|
+
},
|
|
753
|
+
TELEGRAM_PROFILE_CHECK_CONNECTED_ERROR: {
|
|
754
|
+
code: 'A174',
|
|
755
|
+
message: 'Произошла ошибка при проверке привязки Telegram профиля',
|
|
756
|
+
httpCode: 500,
|
|
757
|
+
},
|
|
758
|
+
TELEGRAM_CONNECT_CREATE_ERROR: {
|
|
759
|
+
code: 'A175',
|
|
760
|
+
message: 'Произошла ошибка при формировании ссылки для привязки Telegram профиля',
|
|
761
|
+
httpCode: 500,
|
|
762
|
+
},
|
|
763
|
+
TELEGRAM_PROFILE_ALREADY_CONNECTED_TO_THIS_USER: {
|
|
764
|
+
code: 'A176',
|
|
765
|
+
message: 'К данной учетной записи уже привязан Telegram профиль',
|
|
766
|
+
httpCode: 400,
|
|
767
|
+
},
|
|
768
|
+
TELEGRAM_PROFILE_ALREADY_CONNECTED_TO_SOME_USER: {
|
|
769
|
+
code: 'A178',
|
|
770
|
+
message: 'Данный Telegram профиль уже привязан к учетной записи',
|
|
771
|
+
httpCode: 400,
|
|
772
|
+
},
|
|
773
|
+
TELEGRAM_CONNECT_INVALID: {
|
|
774
|
+
code: 'A179',
|
|
775
|
+
message: 'Ссылка для привязки Telegram профиля недействительна или устарела',
|
|
776
|
+
httpCode: 400,
|
|
777
|
+
},
|
|
778
|
+
TELEGRAM_CONNECT_UPDATE_ERROR: {
|
|
779
|
+
code: 'A180',
|
|
780
|
+
message: 'Произошла ошибка при обновлении ссылки для привязки Telegram профиля',
|
|
781
|
+
httpCode: 500,
|
|
782
|
+
},
|
|
783
|
+
TELEGRAM_CONNECT_EXPIRED: {
|
|
784
|
+
code: 'A181',
|
|
785
|
+
message: 'Срок действия ссылки для привязки Telegram профиля истек',
|
|
786
|
+
httpCode: 400,
|
|
787
|
+
},
|
|
788
|
+
TELEGRAM_CONNECT_FIND_ERROR: {
|
|
789
|
+
code: 'A182',
|
|
790
|
+
message: 'Произошла ошибка при поиске ссылки для привязки Telegram профиля',
|
|
791
|
+
httpCode: 500,
|
|
792
|
+
},
|
|
793
|
+
TELEGRAM_PROFILE_UPDATE_ERROR: {
|
|
794
|
+
code: 'A183',
|
|
795
|
+
message: 'Произошла ошибка при обновлении Telegram профиля',
|
|
796
|
+
httpCode: 500,
|
|
797
|
+
},
|
|
723
798
|
};
|
package/constants/index.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './telegram-auth-log-type.enum';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './enums';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './telegram-connect-status.enum';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './enums';
|
package/models/index.ts
CHANGED
|
@@ -18,6 +18,7 @@ export * from './referral-bonus.schema';
|
|
|
18
18
|
export * from './section.schema';
|
|
19
19
|
export * from './subscription-upgrade-schema';
|
|
20
20
|
export * from './subscription.schema';
|
|
21
|
+
export * from './telegram-user-data.schema';
|
|
21
22
|
export * from './unregistered-user.schema';
|
|
22
23
|
export * from './user-task.schema';
|
|
23
24
|
export * from './user-to-subscription.schema';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
|
|
3
|
+
export const TelegramUserDataSchema = z.object({
|
|
4
|
+
telegramId: z.coerce.number(),
|
|
5
|
+
username: z.string().optional().nullable(),
|
|
6
|
+
firstName: z.string(),
|
|
7
|
+
lastName: z.string().optional().nullable(),
|
|
8
|
+
languageCode: z.string(),
|
|
9
|
+
isPremium: z.boolean().optional(),
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
export type TelegramUserData = z.infer<typeof TelegramUserDataSchema>;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { TASK_TYPE } from '../constants';
|
|
2
|
+
import { TASK_TYPE, USER_TO_TASK_STATUS } from '../constants';
|
|
3
3
|
export const UserTaskSchema = z.object({
|
|
4
4
|
taskId: z.string().uuid(),
|
|
5
5
|
title: z.string(),
|
|
6
6
|
reward: z.number(),
|
|
7
7
|
icon: z.string(),
|
|
8
8
|
type: z.nativeEnum(TASK_TYPE),
|
|
9
|
+
status: z.nativeEnum(USER_TO_TASK_STATUS),
|
|
9
10
|
content: z.string().nullable().optional(),
|
|
10
11
|
description: z.string().nullable(),
|
|
11
12
|
});
|
package/package.json
CHANGED
|
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
|