lcdp-api 1.20.2__tar.gz → 1.20.4__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.
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/PKG-INFO +1 -1
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/lcdp_api.egg-info/PKG-INFO +1 -1
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/magic-cart.yaml +22 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/user.yaml +162 -1
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/LICENSE.md +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/MANIFEST.in +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/README.md +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/configuration/Variable/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/configuration/Variable/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/favorite/FavoriteProduct/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/favorite/FavoriteProduct/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/laboratory/Laboratory/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/laboratory/Laboratory/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/product/Product/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/product/Product/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/product/Vat/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/product/Vat/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/recommendation/ProductRecommendation/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/recommendation/ProductRecommendation/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/sale-offer/AnyIdentifiedDistributionMode/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/sale-offer/IdentifiedDistributionRange/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/sale-offer/SaleOffer/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/sale-offer/SaleOffer/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/statistic/SaleOfferStatistic/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/statistic/SaleOfferStatistic/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/statistic/UserStatistic/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/statistic/UserStatistic/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/storage/Stock/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/storage/Stock/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/user/Transport/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/user/User/Key.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/user/User/Value.avsc +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/ghost_package/__init__.py +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/ghost_package/event/__init__.py +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/ghost_package/rest/__init__.py +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/lcdp_api.egg-info/SOURCES.txt +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/lcdp_api.egg-info/dependency_links.txt +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/lcdp_api.egg-info/top_level.txt +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/pyproject.toml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/auth.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/banking-operation.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/catalog.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/challenge.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/chargebee-hook.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/common.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/configuration.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/content.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/factory.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/favorite.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/geo.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/inventory.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/invoice.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/laboratory-store-log.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/laboratory-store.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/laboratory.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/lexicon.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/litigation.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/mandate.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/mangopay-hook.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/message.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/notification.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/order-log.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/order.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/outrage-message.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/product.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/pub.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/recommendation.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/rfx.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/sale-offer-log.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/sale-offer.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/servant.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/shipment.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/shopping-cart.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/smuggler.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/statistic.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/storage.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/subscription.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/supply.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/third-party.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/thread.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/ubo.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/rest/wish.yaml +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/setup.cfg +0 -0
- {lcdp_api-1.20.2 → lcdp_api-1.20.4}/setup.py +0 -0
|
@@ -180,9 +180,31 @@ components:
|
|
|
180
180
|
items:
|
|
181
181
|
type: string
|
|
182
182
|
maxLength: 255
|
|
183
|
+
algorithm:
|
|
184
|
+
description: 'Algorithm used by the solver to build the express order'
|
|
185
|
+
default: 'STRICT_FRANCO'
|
|
186
|
+
allOf:
|
|
187
|
+
- $ref: '#/components/schemas/ExpressOrderAlgorithm'
|
|
183
188
|
required:
|
|
184
189
|
- buyerId
|
|
185
190
|
|
|
191
|
+
ExpressOrderAlgorithm:
|
|
192
|
+
type: string
|
|
193
|
+
description: |
|
|
194
|
+
Strategy used by the solver to build the express order :
|
|
195
|
+
* `STRICT_FRANCO` : the historical algorithm. Covering every requested product comes
|
|
196
|
+
first, then the smallest number of sellers. Those two settled, the solver reaches as
|
|
197
|
+
many free carriage thresholds as it can, and buys at the lowest price among the carts
|
|
198
|
+
reaching the same ones.
|
|
199
|
+
* `LAX_FOCUS` : the same arbitration, plus a minimum per sub cart. A sub cart is only
|
|
200
|
+
proposed when it carries at least 100 EUR of the request. That amount values every line
|
|
201
|
+
at the reference price of its product, its cheapest offer anywhere, so buying dearer
|
|
202
|
+
never helps reach it. The minimum binds every seller at once : as soon as one sub cart
|
|
203
|
+
reaches it, every seller kept has to. When none can, the rule lifts. The lines of a sub
|
|
204
|
+
cart left out move onto a seller which is kept, or are given up, in which case the
|
|
205
|
+
proposal covers only part of the request.
|
|
206
|
+
enum: ['STRICT_FRANCO', 'LAX_FOCUS']
|
|
207
|
+
|
|
186
208
|
ExpressOrderNeed:
|
|
187
209
|
type: object
|
|
188
210
|
properties:
|
|
@@ -43,6 +43,8 @@ tags:
|
|
|
43
43
|
description: Manage in user restrictions (restricted features)
|
|
44
44
|
- name: searchUserIdvSession
|
|
45
45
|
description: Retrieve users identity verification (IDV) sessions
|
|
46
|
+
- name: manageUserIdvDocument
|
|
47
|
+
description: Manage users identity verification (IDV) documents
|
|
46
48
|
paths:
|
|
47
49
|
/users:
|
|
48
50
|
get:
|
|
@@ -862,6 +864,7 @@ paths:
|
|
|
862
864
|
description: |
|
|
863
865
|
Restrictions:
|
|
864
866
|
- If DocumentType is in ('ID', 'KBIS', 'SHARE_HOLDER', 'STATUS') then user 'sca.enrollmentStatus' should be in 'ACTIVE'
|
|
867
|
+
- If the 'hosted_idv' feature is enabled then only the 'CGV' DocumentType is accepted
|
|
865
868
|
operationId: createOrUpdateCurrentUserDocument
|
|
866
869
|
security:
|
|
867
870
|
- bearerAuth: []
|
|
@@ -987,8 +990,9 @@ paths:
|
|
|
987
990
|
- manageUserDocument
|
|
988
991
|
summary: Upload document associated to given user
|
|
989
992
|
description: |
|
|
990
|
-
Restrictions
|
|
993
|
+
Restrictions:
|
|
991
994
|
- If DocumentType is in ('ID', 'KBIS', 'SHARE_HOLDER', 'STATUS') then user 'sca.enrollmentStatus' should be in 'ACTIVE'
|
|
995
|
+
- If the 'hosted_idv' feature is enabled then only the 'CGV' DocumentType is accepted
|
|
992
996
|
operationId: createOrUpdateUserDocument
|
|
993
997
|
security:
|
|
994
998
|
- bearerAuth: []
|
|
@@ -1265,6 +1269,45 @@ paths:
|
|
|
1265
1269
|
description: Access denied
|
|
1266
1270
|
'404':
|
|
1267
1271
|
description: User not found
|
|
1272
|
+
'/users/{userId}/idv-documents':
|
|
1273
|
+
post:
|
|
1274
|
+
tags:
|
|
1275
|
+
- manageUserIdvDocument
|
|
1276
|
+
summary: Send a document to Mangopay for given user
|
|
1277
|
+
description: |
|
|
1278
|
+
Send a document requested by Mangopay for given user, one file per page, without storing it
|
|
1279
|
+
Restrictions:
|
|
1280
|
+
- Rejected while the 'hosted_idv' feature is disabled
|
|
1281
|
+
operationId: createUserIdvDocument
|
|
1282
|
+
security:
|
|
1283
|
+
- bearerAuth: []
|
|
1284
|
+
- apiKeyAuth: []
|
|
1285
|
+
x-restrict:
|
|
1286
|
+
roles:
|
|
1287
|
+
- ADMINISTRATOR
|
|
1288
|
+
parameters:
|
|
1289
|
+
- $ref: '#/components/parameters/UserIdParameter'
|
|
1290
|
+
requestBody:
|
|
1291
|
+
required: true
|
|
1292
|
+
content:
|
|
1293
|
+
multipart/form-data:
|
|
1294
|
+
schema:
|
|
1295
|
+
$ref: '#/components/schemas/IdvDocumentCreationParameters'
|
|
1296
|
+
responses:
|
|
1297
|
+
'204':
|
|
1298
|
+
description: Document sent to Mangopay
|
|
1299
|
+
'400':
|
|
1300
|
+
description: Invalid document type or number of files
|
|
1301
|
+
'403':
|
|
1302
|
+
description: Access denied
|
|
1303
|
+
'404':
|
|
1304
|
+
description: User not found
|
|
1305
|
+
'413':
|
|
1306
|
+
description: File over 7 MB or request over 10 MB
|
|
1307
|
+
'415':
|
|
1308
|
+
description: File type other than PDF, JPEG or PNG
|
|
1309
|
+
'501':
|
|
1310
|
+
description: The 'hosted_idv' feature is disabled
|
|
1268
1311
|
/users/me/forbidden-sellers:
|
|
1269
1312
|
get:
|
|
1270
1313
|
tags:
|
|
@@ -2940,6 +2983,18 @@ components:
|
|
|
2940
2983
|
nullable: true
|
|
2941
2984
|
allOf:
|
|
2942
2985
|
- $ref: '#/components/schemas/IdvBusinessInsightsMatchCheck'
|
|
2986
|
+
pscRoleCheck:
|
|
2987
|
+
nullable: true
|
|
2988
|
+
allOf:
|
|
2989
|
+
- $ref: '#/components/schemas/IdvPscRoleCheck'
|
|
2990
|
+
pscConsistencyCheck:
|
|
2991
|
+
nullable: true
|
|
2992
|
+
allOf:
|
|
2993
|
+
- $ref: '#/components/schemas/IdvPscConsistencyCheck'
|
|
2994
|
+
pscBusinessNatureCheck:
|
|
2995
|
+
nullable: true
|
|
2996
|
+
allOf:
|
|
2997
|
+
- $ref: '#/components/schemas/IdvPscBusinessNatureCheck'
|
|
2943
2998
|
|
|
2944
2999
|
IdvSessionStatus:
|
|
2945
3000
|
type: string
|
|
@@ -3123,6 +3178,112 @@ components:
|
|
|
3123
3178
|
type: string
|
|
3124
3179
|
description: 'Human-readable reason, in English'
|
|
3125
3180
|
|
|
3181
|
+
IdvPscRoleCheck:
|
|
3182
|
+
type: object
|
|
3183
|
+
description: 'Result of the PSC role check. Null if the check was not performed.'
|
|
3184
|
+
properties:
|
|
3185
|
+
status:
|
|
3186
|
+
$ref: '#/components/schemas/IdvCheckStatus'
|
|
3187
|
+
reasons:
|
|
3188
|
+
type: array
|
|
3189
|
+
description: 'Refusal reasons. Empty unless the check is REFUSED.'
|
|
3190
|
+
items:
|
|
3191
|
+
$ref: '#/components/schemas/IdvPscRoleCheckReason'
|
|
3192
|
+
|
|
3193
|
+
IdvPscRoleCheckReason:
|
|
3194
|
+
type: object
|
|
3195
|
+
properties:
|
|
3196
|
+
type:
|
|
3197
|
+
type: string
|
|
3198
|
+
description: 'Reason code'
|
|
3199
|
+
enum:
|
|
3200
|
+
- PSC_MISSING
|
|
3201
|
+
- UNKNOWN
|
|
3202
|
+
value:
|
|
3203
|
+
type: string
|
|
3204
|
+
description: 'Human-readable reason, in English'
|
|
3205
|
+
|
|
3206
|
+
IdvPscConsistencyCheck:
|
|
3207
|
+
type: object
|
|
3208
|
+
description: 'Result of the PSC consistency check. Null if the check was not performed.'
|
|
3209
|
+
properties:
|
|
3210
|
+
status:
|
|
3211
|
+
$ref: '#/components/schemas/IdvCheckStatus'
|
|
3212
|
+
reasons:
|
|
3213
|
+
type: array
|
|
3214
|
+
description: 'Refusal reasons. Empty unless the check is REFUSED.'
|
|
3215
|
+
items:
|
|
3216
|
+
$ref: '#/components/schemas/IdvPscConsistencyCheckReason'
|
|
3217
|
+
|
|
3218
|
+
IdvPscConsistencyCheckReason:
|
|
3219
|
+
type: object
|
|
3220
|
+
properties:
|
|
3221
|
+
type:
|
|
3222
|
+
type: string
|
|
3223
|
+
description: 'Reason code'
|
|
3224
|
+
enum:
|
|
3225
|
+
- PSC_FORM_ALTERED
|
|
3226
|
+
- UNVERIFIED_BUSINESS_PSC
|
|
3227
|
+
- UNKNOWN
|
|
3228
|
+
value:
|
|
3229
|
+
type: string
|
|
3230
|
+
description: 'Human-readable reason, in English'
|
|
3231
|
+
|
|
3232
|
+
IdvPscBusinessNatureCheck:
|
|
3233
|
+
type: object
|
|
3234
|
+
description: 'Result of the PSC business nature check. Null if the check was not performed.'
|
|
3235
|
+
properties:
|
|
3236
|
+
status:
|
|
3237
|
+
$ref: '#/components/schemas/IdvCheckStatus'
|
|
3238
|
+
reasons:
|
|
3239
|
+
type: array
|
|
3240
|
+
description: 'Refusal reasons. Empty unless the check is REFUSED.'
|
|
3241
|
+
items:
|
|
3242
|
+
$ref: '#/components/schemas/IdvPscBusinessNatureCheckReason'
|
|
3243
|
+
|
|
3244
|
+
IdvPscBusinessNatureCheckReason:
|
|
3245
|
+
type: object
|
|
3246
|
+
properties:
|
|
3247
|
+
type:
|
|
3248
|
+
type: string
|
|
3249
|
+
description: 'Reason code'
|
|
3250
|
+
enum:
|
|
3251
|
+
- UNKNOWN
|
|
3252
|
+
value:
|
|
3253
|
+
type: string
|
|
3254
|
+
description: 'Human-readable reason, in English'
|
|
3255
|
+
|
|
3256
|
+
IdvDocumentCreationParameters:
|
|
3257
|
+
type: object
|
|
3258
|
+
required:
|
|
3259
|
+
- type
|
|
3260
|
+
- upload
|
|
3261
|
+
properties:
|
|
3262
|
+
type:
|
|
3263
|
+
$ref: '#/components/schemas/IdvDocumentType'
|
|
3264
|
+
upload:
|
|
3265
|
+
description: List of files to upload. Each file becomes a page of the Mangopay document.
|
|
3266
|
+
type: array
|
|
3267
|
+
minItems: 1
|
|
3268
|
+
maxItems: 5
|
|
3269
|
+
items:
|
|
3270
|
+
type: string
|
|
3271
|
+
format: binary
|
|
3272
|
+
|
|
3273
|
+
IdvDocumentType:
|
|
3274
|
+
type: string
|
|
3275
|
+
description: |
|
|
3276
|
+
Type of document to send, as named by Mangopay
|
|
3277
|
+
- IDENTITY_PROOF: an identity document
|
|
3278
|
+
- REGISTRATION_PROOF: a company registration proof
|
|
3279
|
+
- ARTICLES_OF_ASSOCIATION: the articles of association
|
|
3280
|
+
- SHAREHOLDER_DECLARATION: the shareholder declaration, or any other non-identity document requested by Mangopay
|
|
3281
|
+
enum:
|
|
3282
|
+
- IDENTITY_PROOF
|
|
3283
|
+
- REGISTRATION_PROOF
|
|
3284
|
+
- ARTICLES_OF_ASSOCIATION
|
|
3285
|
+
- SHAREHOLDER_DECLARATION
|
|
3286
|
+
|
|
3126
3287
|
securitySchemes:
|
|
3127
3288
|
bearerAuth:
|
|
3128
3289
|
type: http
|
|
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
|
{lcdp_api-1.20.2 → lcdp_api-1.20.4}/event/sale-offer/AnyIdentifiedDistributionMode/Value.avsc
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
|