node-atol-wrapper 0.0.19 → 0.0.22

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/package-lock.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-atol-wrapper",
3
- "version": "0.0.18",
3
+ "version": "0.0.20",
4
4
  "lockfileVersion": 1,
5
5
  "requires": true,
6
6
  "dependencies": {
@@ -167,9 +167,9 @@
167
167
  "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
168
168
  },
169
169
  "ini": {
170
- "version": "1.3.5",
171
- "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
172
- "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
170
+ "version": "1.3.7",
171
+ "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.7.tgz",
172
+ "integrity": "sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ=="
173
173
  },
174
174
  "is-fullwidth-code-point": {
175
175
  "version": "1.0.0",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "node-atol-wrapper",
3
3
  "description": "Node ATOL DTO 10 wrapper",
4
- "version": "0.0.19",
4
+ "version": "0.0.22",
5
5
  "main": "bindings.js",
6
6
  "types": "bindings.d.ts",
7
7
  "scripts": {
@@ -42,4 +42,4 @@
42
42
  "url": "git://github.com/farafonov-alexey/node-atol-wrapper.git"
43
43
  },
44
44
  "license": "MIT"
45
- }
45
+ }
package/src/index.cc CHANGED
@@ -6,5 +6,9 @@ NAN_MODULE_INIT(InitModule) {
6
6
  }
7
7
 
8
8
  DISABLE_WCAST_FUNCTION_TYPE
9
- NODE_MODULE(node_atol_wrapper, InitModule);
9
+ #if NODE_MAJOR_VERSION >= 10
10
+ NAN_MODULE_WORKER_ENABLED(node_atol_wrapper, InitModule)
11
+ #else
12
+ NODE_MODULE(node_atol_wrapper, InitModule)
13
+ #endif
10
14
  DISABLE_WCAST_FUNCTION_TYPE_END
package/src/libfptr10.h CHANGED
@@ -302,6 +302,38 @@ enum libfptr_error
302
302
  LIBFPTR_ERROR_COMMODITIES_TABLE_INVALID_TAG_SIZE,
303
303
  LIBFPTR_ERROR_COMMODITIES_TABLE_NO_TAG_DATA,
304
304
  LIBFPTR_ERROR_COMMODITIES_TABLE_NO_FREE_MEMORY,
305
+ LIBFPTR_ERROR_INVALID_CACHE,
306
+ LIBFPTR_ERROR_SCHEDULER_NOT_READY,
307
+ LIBFPTR_ERROR_SCHEDULER_INVALID_TASK,
308
+ LIBFPTR_ERROR_MINIPOS_NO_POSITION_PAYMENT,
309
+ LIBFPTR_ERROR_MINIPOS_COMMAND_TIME_OUT,
310
+ LIBFPTR_ERROR_MINIPOS_MODE_FR_DISABLED,
311
+ LIBFPTR_ERROR_ENTRY_NOT_FOUND_IN_OTP,
312
+ LIBFPTR_ERROR_EXCISABLE_COMMODITY_WITHOUT_EXCISE,
313
+
314
+ LIBFPTR_ERROR_BASE_MARKING = 400,
315
+ LIBFPTR_ERROR_MARKING_CODE_VALIDATION_IN_PROGRESS,
316
+ LIBFPTR_ERROR_NO_CONNECTION_WITH_SERVER,
317
+ LIBFPTR_ERROR_MARKING_CODE_VALIDATION_CANCELED,
318
+ LIBFPTR_ERROR_INVALID_MARKING_CODE_STATUS,
319
+ LIBFPTR_ERROR_INVALID_GS1,
320
+ LIBFPTR_ERROR_MARKING_WORK_DENIED,
321
+ LIBFPTR_ERROR_MARKING_WORK_TEMPORARY_BLOCKED,
322
+ LIBFPTR_ERROR_MARKS_OVERFLOW,
323
+ LIBFPTR_ERROR_INVALID_MARKING_CODE,
324
+ LIBFPTR_ERROR_INVALID_STATE,
325
+ LIBFPTR_ERROR_OFD_EXCHANGE,
326
+ LIBFPTR_ERROR_INVALID_MEASUREMENT_UNIT,
327
+ LIBFPTR_ERROR_OPERATION_DENIED_IN_CURRENT_FFD,
328
+ LIBFPTR_ERROR_MARKING_OPERATION_DENIED,
329
+ LIBFPTR_ERROR_NO_DATA_TO_SEND,
330
+ LIBFPTR_ERROR_NO_MARKED_POSITION,
331
+ LIBFPTR_ERROR_HAS_NOT_SEND_NOTICES,
332
+ LIBFPTR_ERROR_UPDATE_KEYS_REQUIRED,
333
+ LIBFPTR_ERROR_UPDATE_KEYS_SERVICE,
334
+ LIBFPTR_ERROR_MARK_NOT_CHECKED,
335
+ LIBFPTR_ERROR_MARK_CHECK_TIMEOUT_EXPIRED,
336
+ LIBFPTR_ERROR_MARKING_END = 499,
305
337
 
306
338
  LIBFPTR_ERROR_BASE_WEB = 500,
307
339
  LIBFPTR_ERROR_RECEIPT_PARSE_ERROR,
@@ -633,6 +665,49 @@ enum libfptr_param
633
665
  LIBFPTR_PARAM_FISCAL_SIGN_ARCHIVE,
634
666
  LIBFPTR_PARAM_COMMAND_GROUP,
635
667
  LIBFPTR_PARAM_ERROR_CODE,
668
+ LIBFPTR_PARAM_MARKING_WAIT_FOR_VALIDATION_RESULT,
669
+ LIBFPTR_PARAM_MARKING_CODE_STATUS,
670
+ LIBFPTR_PARAM_MARKING_CODE_VALIDATION_RESULT,
671
+ LIBFPTR_PARAM_MARKING_CODE_OFFLINE_VALIDATION_ERROR,
672
+ LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_ERROR,
673
+ LIBFPTR_PARAM_MARKING_CODE_VALIDATION_READY,
674
+ LIBFPTR_PARAM_MEASUREMENT_UNIT,
675
+ LIBFPTR_PARAM_MARKING_PROCESSING_MODE,
676
+ LIBFPTR_PARAM_MARKING_FRACTIONAL_QUANTITY,
677
+ LIBFPTR_PARAM_PRODUCT_CODE,
678
+ LIBFPTR_PARAM_TRADE_MARKED_PRODUCTS,
679
+ LIBFPTR_PARAM_INSURANCE_ACTIVITY,
680
+ LIBFPTR_PARAM_PAWN_SHOP_ACTIVITY,
681
+ LIBFPTR_PARAM_TLV_LIST,
682
+ LIBFPTR_PARAM_CHECK_MARKING_SERVER_READY,
683
+ LIBFPTR_PARAM_MARKING_SERVER_RESPONSE_TIME,
684
+ LIBFPTR_PARAM_MARKING_SERVER_ERROR_CODE,
685
+ LIBFPTR_PARAM_MARKING_SERVER_ERROR_DESCRIPTION,
686
+ LIBFPTR_PARAM_ISM_ERROR,
687
+ LIBFPTR_PARAM_ISM_ERROR_TEXT,
688
+ LIBFPTR_PARAM_MARKING_MODE_CHECKING_STATUS,
689
+ LIBFPTR_PARAM_MARK_CHECKING_COUNT,
690
+ LIBFPTR_PARAM_MARK_SOLD_COUNT,
691
+ LIBFPTR_PARAM_NOTICE_IS_BEGIN,
692
+ LIBFPTR_PARAM_NOTICE_FREE_MEMORY,
693
+ LIBFPTR_PARAM_NOTICE_COUNT,
694
+ LIBFPTR_PARAM_MARKING_NOT_SEND_TO_SERVER,
695
+ LIBFPTR_PARAM_DOCUMENT_TYPE,
696
+ LIBFPTR_PARAM_PRINT_REPORT,
697
+ LIBFPTR_PARAM_FN_EXECUTION,
698
+ LIBFPTR_PARAM_MCU_SN,
699
+ LIBFPTR_PARAM_MCU_PART_ID,
700
+ LIBFPTR_PARAM_MCU_PART_NAME,
701
+ LIBFPTR_PARAM_IS_REQUEST_SENT,
702
+ LIBFPTR_PARAM_FN_CHECK_MARK_TIME,
703
+ LIBFPTR_PARAM_SENDING_MARK_TIME,
704
+ LIBFPTR_PARAM_MARKING_SERVER_EXCHANGE_TIME,
705
+ LIBFPTR_PARAM_FULL_SENDING_MARK_TIME,
706
+ LIBFPTR_PARAM_MARK_CHECKING_STATUS_IN_CASH,
707
+ LIBFPTR_PARAM_MARK_CHECKING_TYPE_IN_CASH,
708
+ LIBFPTR_PARAM_MARK_CHECKING_STAGE_IN_CASH,
709
+ LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT,
710
+ LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_ERROR_DESCRIPTION,
636
711
 
637
712
  LIBFPTR_PARAM_LAST
638
713
  };
@@ -649,6 +724,7 @@ enum libfptr_model
649
724
  LIBFPTR_MODEL_ATOL_27F = 87,
650
725
  LIBFPTR_MODEL_ATOL_30F = 61,
651
726
  LIBFPTR_MODEL_ATOL_42FS = 77,
727
+ LIBFPTR_MODEL_ATOL_47FA = 48,
652
728
  LIBFPTR_MODEL_ATOL_50F = 80,
653
729
  LIBFPTR_MODEL_ATOL_52F = 64,
654
730
  LIBFPTR_MODEL_ATOL_55F = 62,
@@ -660,8 +736,10 @@ enum libfptr_model
660
736
  LIBFPTR_MODEL_ATOL_SIGMA_10 = 86,
661
737
  LIBFPTR_MODEL_ATOL_SIGMA_7F = 90,
662
738
  LIBFPTR_MODEL_ATOL_SIGMA_8F = 91,
739
+ LIBFPTR_MODEL_ATOL_PT_5F = 89,
663
740
  LIBFPTR_MODEL_KAZNACHEY_FA = 76,
664
741
  LIBFPTR_MODEL_ATOL_1F = 93,
742
+ LIBFPTR_MODEL_ATOL_22v2F = 95,
665
743
  };
666
744
 
667
745
  #define LIBFPTR_SETTING_LIBRARY_PATH L"LibraryPath"
@@ -714,6 +792,8 @@ enum libfptr_model
714
792
 
715
793
  #define LIBFPTR_SETTING_REMOTE_SERVER_CONNECTION_TIMEOUT L"RemoteServerConnectionTimeout"
716
794
 
795
+ #define LIBFPTR_SETTING_VALIDATE_MARK_WITH_FNM_ONLY L"ValidateMarksWithFnmOnly"
796
+
717
797
  enum libfptr_port
718
798
  {
719
799
  LIBFPTR_PORT_COM = 0,
@@ -981,6 +1061,8 @@ enum libfptr_kkt_data_type
981
1061
  LIBFPTR_DT_WIFI_INFO,
982
1062
  LIBFPTR_DT_FONT_INFO,
983
1063
  LIBFPTR_DT_SOFTLOCK_STATUS,
1064
+ LIBFPTR_DT_LAST_SENT_ISM_NOTICE_DATE_TIME,
1065
+ LIBFPTR_DT_MCU_INFO,
984
1066
  };
985
1067
 
986
1068
  enum libfptr_fn_data_type
@@ -1003,7 +1085,11 @@ enum libfptr_fn_data_type
1003
1085
  LIBFPTR_FNDT_ERROR_DETAIL,
1004
1086
  LIBFPTR_FNDT_VALIDITY_DAYS,
1005
1087
  LIBFPTR_FNDT_FREE_MEMORY,
1006
- LIBFPTR_FNDT_TOTALS
1088
+ LIBFPTR_FNDT_TOTALS,
1089
+ LIBFPTR_FNDT_ISM_ERRORS,
1090
+ LIBFPTR_FNDT_ISM_EXCHANGE_STATUS,
1091
+ LIBFPTR_FNDT_MARKING_MODE_STATUS,
1092
+ LIBFPTR_FNDT_CHECK_MARK_TIME
1007
1093
  };
1008
1094
 
1009
1095
  enum libfptr_ffd_version
@@ -1012,6 +1098,7 @@ enum libfptr_ffd_version
1012
1098
  LIBFPTR_FFD_1_0 = 100,
1013
1099
  LIBFPTR_FFD_1_0_5 = 105,
1014
1100
  LIBFPTR_FFD_1_1 = 110,
1101
+ LIBFPTR_FFD_1_2 = 120
1015
1102
  };
1016
1103
 
1017
1104
  enum libfptr_taxation_type
@@ -1169,6 +1256,7 @@ enum libfptr_script_type
1169
1256
  LIBFPTR_SCRIPT_EXECUTABLE = 0,
1170
1257
  LIBFPTR_SCRIPT_JSON,
1171
1258
  LIBFPTR_SCRIPT_SETTINGS,
1259
+ LIBFPTR_SCRIPT_LIBRARY,
1172
1260
  };
1173
1261
 
1174
1262
  enum libfptr_uc_layer
@@ -1206,6 +1294,77 @@ enum libfptr_marking_code_type
1206
1294
  LIBFPTR_MCT_EGAIS_30,
1207
1295
  };
1208
1296
 
1297
+ enum libfptr_marking_code_type_1_2
1298
+ {
1299
+ LIBFPTR_MCT12_AUTO = 256,
1300
+ LIBFPTR_MCT12_UNKNOWN = 0,
1301
+ LIBFPTR_MCT12_SHORT,
1302
+ LIBFPTR_MCT12_88_CHECK,
1303
+ LIBFPTR_MCT12_44_NO_CHECK,
1304
+ LIBFPTR_MCT12_44_CHECK,
1305
+ LIBFPTR_MCT12_4_NO_CHECK,
1306
+ };
1307
+
1308
+ enum libfptr_marking_estimated_status
1309
+ {
1310
+ LIBFPTR_MES_PIECE_SOLD = 1,
1311
+ LIBFPTR_MES_DRY_FOR_SALE,
1312
+ LIBFPTR_MES_PIECE_RETURN,
1313
+ LIBFPTR_MES_DRY_RETURN,
1314
+ LIBFPTR_MES_UNCHANGED = 255
1315
+ };
1316
+
1317
+ enum libfptr_item_units
1318
+ {
1319
+ LIBFPTR_IU_PIECE = 0,
1320
+ LIBFPTR_IU_GRAM = 10,
1321
+ LIBFPTR_IU_KILOGRAM,
1322
+ LIBFPTR_IU_TON,
1323
+ LIBFPTR_IU_CENTIMETER = 20,
1324
+ LIBFPTR_IU_DECIMETER,
1325
+ LIBFPTR_IU_METER,
1326
+ LIBFPTR_IU_SQUARE_CENTIMETER = 30,
1327
+ LIBFPTR_IU_SQUARE_DECIMETER,
1328
+ LIBFPTR_IU_SQUARE_METER,
1329
+ LIBFPTR_IU_MILLILITER = 40,
1330
+ LIBFPTR_IU_LITER,
1331
+ LIBFPTR_IU_CUBIC_METER,
1332
+ LIBFPTR_IU_KILOWATT_HOUR = 50,
1333
+ LIBFPTR_IU_GKAL,
1334
+ LIBFPTR_IU_DAY = 70,
1335
+ LIBFPTR_IU_HOUR,
1336
+ LIBFPTR_IU_MINUTE,
1337
+ LIBFPTR_IU_SECOND,
1338
+ LIBFPTR_IU_KILOBYTE = 80,
1339
+ LIBFPTR_IU_MEGABYTE,
1340
+ LIBFPTR_IU_GIGABYTE,
1341
+ LIBFPTR_IU_TERABYTE,
1342
+ LIBFPTR_IU_OTHER = 255
1343
+ };
1344
+
1345
+ enum libfptr_mark_operator_item_status
1346
+ {
1347
+ LIBFPTR_OIS_ESTIMATED_STATUS_CORRECT = 1,
1348
+ LIBFPTR_OIS_ESTIMATED_STATUS_INCORRECT,
1349
+ LIBFPTR_OIS_SALE_STOPPED
1350
+ };
1351
+
1352
+ enum libfptr_mark_operator_response_result
1353
+ {
1354
+ LIBFPTR_ORR_CORRECT = 0,
1355
+ LIBFPTR_ORR_INCORRECT,
1356
+ LIBFPTR_ORR_UNRECOGNIZED
1357
+ };
1358
+
1359
+ enum libfptr_fn_check_error_reason
1360
+ {
1361
+ LIBFPTR_CER_CHECKED = 0,
1362
+ LIBFPTR_CER_TYPE_INCORRECT,
1363
+ LIBFPTR_CER_NO_KEYS,
1364
+ LIBFPTR_CER_NO_GS1,
1365
+ LIBFPTR_CER_OTHER
1366
+ };
1367
+
1209
1368
  enum libfptr_setting_type
1210
1369
  {
1211
1370
  LIBFPTR_ST_NUMBER = 0,
@@ -1219,6 +1378,74 @@ enum libfptr_firmware_type
1219
1378
  LIBFPTR_FWT_SCRIPTS = 2,
1220
1379
  };
1221
1380
 
1381
+ enum libfptr_marking_mode_checking_status
1382
+ {
1383
+ LIBFPTR_MCS_BLOCK = 0,
1384
+ LIBFPTR_MCS_NO_MARK_FOR_CHECK,
1385
+ LIBFPTR_MCS_MARK_RECEIVE_B1,
1386
+ LIBFPTR_MCS_MARK_STATE_QUERY_B5,
1387
+ LIBFPTR_MCS_MARK_STATE_ANSWER_B6
1388
+ };
1389
+
1390
+ enum libfptr_notice_free_memory
1391
+ {
1392
+ LIBFPTR_NFM_LESS_50_PERCENT = 0,
1393
+ LIBFPTR_NFM_FROM_50_TO_80_PERCENT,
1394
+ LIBFPTR_NFM_FROM_80_TO_90_PERCENT,
1395
+ LIBFPTR_NFM_MORE_90_PERCENT
1396
+ };
1397
+
1398
+ enum libfptr_document_type
1399
+ {
1400
+ LIBFPTR_DT_CLOSED = 0,
1401
+ LIBFPTR_DT_RECEIPT_SELL = 1,
1402
+ LIBFPTR_DT_RECEIPT_SELL_RETURN = 2,
1403
+ LIBFPTR_DT_RECEIPT_BUY = 3,
1404
+ LIBFPTR_DT_RECEIPT_BUY_RETURN = 4,
1405
+
1406
+ LIBFPTR_DT_OPEN_SHIFT = 5,
1407
+ LIBFPTR_DT_CLOSE_SHIFT = 6,
1408
+ LIBFPTR_DT_REGISTRATION = 7,
1409
+ LIBFPTR_DT_CLOSE_ARCHIVE = 8,
1410
+ LIBFPTR_DT_OFD_EXCHANGE_STATUS = 11,
1411
+
1412
+ LIBFPTR_DT_RECEIPT_SELL_CORRECTION = 12,
1413
+ LIBFPTR_DT_RECEIPT_SELL_RETURN_CORRECTION = 13,
1414
+ LIBFPTR_DT_RECEIPT_BUY_CORRECTION = 14,
1415
+ LIBFPTR_DT_RECEIPT_BUY_RETURN_CORRECTION = 15,
1416
+
1417
+ LIBFPTR_DT_DOCUMENT_SERVICE = 20,
1418
+ LIBFPTR_DT_DOCUMENT_COPY = 21
1419
+ };
1420
+
1421
+ enum libfptr_mark_checking_status_in_cash
1422
+ {
1423
+ LIBFPTR_MCS_NOT_EXECUTED = 0,
1424
+ LIBFPTR_MCS_EXECUTED,
1425
+ LIBFPTR_MCS_IS_OVER,
1426
+ LIBFPTR_MCS_RESULT_IS_RECIEVED
1427
+ };
1428
+
1429
+ enum libfptr_mark_checking_type_in_cash
1430
+ {
1431
+ LIBFPTR_MCT_AUTONOMOUS = 0,
1432
+ LIBFPTR_MCT_WAIT_FOR_RESULT,
1433
+ LIBFPTR_MCT_RESULT_NOT_WAIT,
1434
+ LIBFPTR_MCT_QUERY_NOT_SEND
1435
+ };
1436
+
1437
+ enum libfptr_mark_checking_stage_in_cash
1438
+ {
1439
+ LIBFPTR_MCST_WAITING_FOR_TASK = 0,
1440
+ LIBFPTR_MCST_OPENING_CONNECTION,
1441
+ LIBFPTR_MCST_SENDING,
1442
+ LIBFPTR_MCST_WAITING_FOR_RESULT,
1443
+ LIBFPTR_MCST_GETTING_RESULT,
1444
+ LIBFPTR_MCST_DECODE_RESULT,
1445
+ LIBFPTR_MCST_TASK_IS_OVER,
1446
+ LIBFPTR_MCST_WAITING_FOR_REPEAT
1447
+ };
1448
+
1222
1449
  #define LIBFPTR_UC_OTHERS 4294967295
1223
1450
 
1224
1451
 
@@ -1576,6 +1803,32 @@ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_reflection_call(libfptr_handle ha
1576
1803
 
1577
1804
  DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_get_remote_server_info(libfptr_handle handle);
1578
1805
 
1806
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_begin_marking_code_validation(libfptr_handle handle);
1807
+
1808
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_cancel_marking_code_validation(libfptr_handle handle);
1809
+
1810
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_get_marking_code_validation_status(libfptr_handle handle);
1811
+
1812
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_accept_marking_code(libfptr_handle handle);
1813
+
1814
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_decline_marking_code(libfptr_handle handle);
1815
+
1816
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_update_fnm_keys(libfptr_handle handle);
1817
+
1818
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_write_sales_notice(libfptr_handle handle);
1819
+
1820
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_check_marking_code_validations_ready(libfptr_handle handle);
1821
+
1822
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_clear_marking_code_validation_result(libfptr_handle handle);
1823
+
1824
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_ping_marking_server(libfptr_handle handle);
1825
+
1826
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_get_marking_server_status(libfptr_handle handle);
1827
+
1828
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_is_driver_locked(libfptr_handle handle);
1829
+
1830
+ DTOX_SHARED_EXPORT int DTOX_SHARED_CCA libfptr_get_last_document_journal(libfptr_handle handle);
1831
+
1579
1832
  #ifdef __cplusplus
1580
1833
  }
1581
1834
  #endif
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file