zaber-motion 7.10.0__py3-none-win32.whl → 7.12.0__py3-none-win32.whl

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.
Files changed (61) hide show
  1. zaber_motion/__init__.py +2 -0
  2. zaber_motion/ascii/all_axes.py +1 -1
  3. zaber_motion/ascii/axis.py +5 -5
  4. zaber_motion/ascii/axis_group.py +1 -1
  5. zaber_motion/ascii/axis_settings.py +5 -5
  6. zaber_motion/ascii/connection.py +1 -1
  7. zaber_motion/ascii/device.py +11 -11
  8. zaber_motion/ascii/device_io.py +1 -1
  9. zaber_motion/ascii/device_settings.py +1 -1
  10. zaber_motion/ascii/lockstep.py +2 -2
  11. zaber_motion/ascii/oscilloscope.py +1 -1
  12. zaber_motion/ascii/oscilloscope_data.py +1 -1
  13. zaber_motion/ascii/pvt.py +1 -1
  14. zaber_motion/ascii/pvt_buffer.py +43 -2
  15. zaber_motion/ascii/pvt_io.py +2 -2
  16. zaber_motion/ascii/pvt_sequence.py +153 -5
  17. zaber_motion/ascii/servo_tuner.py +1 -1
  18. zaber_motion/ascii/storage.py +2 -2
  19. zaber_motion/ascii/stream.py +3 -3
  20. zaber_motion/ascii/stream_buffer.py +2 -2
  21. zaber_motion/ascii/stream_io.py +2 -2
  22. zaber_motion/ascii/streams.py +1 -1
  23. zaber_motion/ascii/transport.py +1 -1
  24. zaber_motion/ascii/trigger.py +2 -2
  25. zaber_motion/ascii/triggers.py +1 -1
  26. zaber_motion/ascii/warnings.py +2 -2
  27. zaber_motion/binary/connection.py +1 -1
  28. zaber_motion/binary/device.py +3 -3
  29. zaber_motion/binary/device_settings.py +1 -1
  30. zaber_motion/dto/__init__.py +1 -0
  31. zaber_motion/dto/device_db_source.py +66 -0
  32. zaber_motion/dto/exceptions/__init__.py +1 -0
  33. zaber_motion/dto/exceptions/device_db_failed_exception_data.py +24 -1
  34. zaber_motion/dto/exceptions/device_db_inner_error.py +85 -0
  35. zaber_motion/dto/requests/__init__.py +4 -0
  36. zaber_motion/dto/requests/pvt_buffer_get_sequence_data_request.py +79 -0
  37. zaber_motion/dto/requests/pvt_generate_velocities_and_times_request.py +96 -0
  38. zaber_motion/dto/requests/pvt_submit_sequence_data_request.py +93 -0
  39. zaber_motion/dto/requests/set_device_db_layered_sources_request.py +56 -0
  40. zaber_motion/dto/requests/set_device_db_source_request.py +6 -0
  41. zaber_motion/exceptions/__init__.py +1 -0
  42. zaber_motion/gcode/offline_translator.py +1 -1
  43. zaber_motion/gcode/translator.py +1 -1
  44. zaber_motion/library.py +18 -1
  45. zaber_motion/microscopy/autofocus.py +3 -3
  46. zaber_motion/microscopy/camera_trigger.py +2 -2
  47. zaber_motion/microscopy/filter_changer.py +1 -1
  48. zaber_motion/microscopy/illuminator.py +2 -2
  49. zaber_motion/microscopy/illuminator_channel.py +6 -6
  50. zaber_motion/microscopy/microscope.py +74 -24
  51. zaber_motion/microscopy/objective_changer.py +2 -2
  52. zaber_motion/microscopy/wdi_autofocus_provider.py +1 -1
  53. zaber_motion/product/process.py +6 -6
  54. zaber_motion/product/process_controller.py +1 -1
  55. zaber_motion/version.py +1 -1
  56. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/METADATA +1 -1
  57. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/RECORD +61 -55
  58. zaber_motion_bindings/zaber-motion-core-windows-386.dll +0 -0
  59. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/LICENSE.txt +0 -0
  60. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/WHEEL +0 -0
  61. {zaber_motion-7.10.0.dist-info → zaber_motion-7.12.0.dist-info}/top_level.txt +0 -0
@@ -42,9 +42,9 @@ class Autofocus:
42
42
  """
43
43
  Creates instance of `Autofocus` based on the given provider id.
44
44
  """
45
- self._provider_id = provider_id
46
- self._focus_axis = focus_axis
47
- self._objective_turret = objective_turret
45
+ self._provider_id: int = provider_id
46
+ self._focus_axis: Axis = focus_axis
47
+ self._objective_turret: Optional[Device] = objective_turret
48
48
 
49
49
  def set_focus_zero(
50
50
  self
@@ -31,8 +31,8 @@ class CameraTrigger:
31
31
  """
32
32
  Creates instance of `CameraTrigger` based on the given device and digital output channel.
33
33
  """
34
- self._device = device
35
- self._channel = channel
34
+ self._device: Device = device
35
+ self._channel: int = channel
36
36
 
37
37
  def trigger(
38
38
  self,
@@ -23,7 +23,7 @@ class FilterChanger:
23
23
  """
24
24
  Creates instance of `FilterChanger` based on the given device.
25
25
  """
26
- self._device = device
26
+ self._device: Device = device
27
27
 
28
28
  def get_number_of_filters(
29
29
  self
@@ -32,8 +32,8 @@ class Illuminator:
32
32
  Creates instance of `Illuminator` based on the given device.
33
33
  If the device is identified, this constructor will ensure it is an illuminator.
34
34
  """
35
- self._device = device
36
- self._io = DeviceIO(device)
35
+ self._device: Device = device
36
+ self._io: DeviceIO = DeviceIO(device)
37
37
  self.__verify_is_illuminator()
38
38
 
39
39
  def get_channel(
@@ -55,12 +55,12 @@ class IlluminatorChannel:
55
55
  return self._warnings
56
56
 
57
57
  def __init__(self, illuminator: 'Illuminator', channel_number: int):
58
- self._illuminator = illuminator
59
- self._channel_number = channel_number
60
- self._axis = Axis(illuminator.device, channel_number)
61
- self._settings = AxisSettings(self._axis)
62
- self._storage = AxisStorage(self._axis)
63
- self._warnings = Warnings(illuminator.device, channel_number)
58
+ self._illuminator: 'Illuminator' = illuminator
59
+ self._channel_number: int = channel_number
60
+ self._axis: Axis = Axis(illuminator.device, channel_number)
61
+ self._settings: AxisSettings = AxisSettings(self._axis)
62
+ self._storage: AxisStorage = AxisStorage(self._axis)
63
+ self._warnings: Warnings = Warnings(illuminator.device, channel_number)
64
64
 
65
65
  def on(
66
66
  self
@@ -28,6 +28,8 @@ class Microscope:
28
28
  """
29
29
  return self._connection
30
30
 
31
+ _illuminator: Optional[Illuminator]
32
+
31
33
  @property
32
34
  def illuminator(self) -> Optional[Illuminator]:
33
35
  """
@@ -35,6 +37,8 @@ class Microscope:
35
37
  """
36
38
  return self._illuminator
37
39
 
40
+ _focus_axis: Optional[Axis]
41
+
38
42
  @property
39
43
  def focus_axis(self) -> Optional[Axis]:
40
44
  """
@@ -42,6 +46,8 @@ class Microscope:
42
46
  """
43
47
  return self._focus_axis
44
48
 
49
+ _x_axis: Optional[Axis]
50
+
45
51
  @property
46
52
  def x_axis(self) -> Optional[Axis]:
47
53
  """
@@ -49,6 +55,8 @@ class Microscope:
49
55
  """
50
56
  return self._x_axis
51
57
 
58
+ _y_axis: Optional[Axis]
59
+
52
60
  @property
53
61
  def y_axis(self) -> Optional[Axis]:
54
62
  """
@@ -56,6 +64,8 @@ class Microscope:
56
64
  """
57
65
  return self._y_axis
58
66
 
67
+ _plate: Optional[AxisGroup]
68
+
59
69
  @property
60
70
  def plate(self) -> Optional[AxisGroup]:
61
71
  """
@@ -63,6 +73,8 @@ class Microscope:
63
73
  """
64
74
  return self._plate
65
75
 
76
+ _objective_changer: Optional[ObjectiveChanger]
77
+
66
78
  @property
67
79
  def objective_changer(self) -> Optional[ObjectiveChanger]:
68
80
  """
@@ -70,6 +82,8 @@ class Microscope:
70
82
  """
71
83
  return self._objective_changer
72
84
 
85
+ _filter_changer: Optional[FilterChanger]
86
+
73
87
  @property
74
88
  def filter_changer(self) -> Optional[FilterChanger]:
75
89
  """
@@ -77,6 +91,8 @@ class Microscope:
77
91
  """
78
92
  return self._filter_changer
79
93
 
94
+ _autofocus: Optional[Autofocus]
95
+
80
96
  @property
81
97
  def autofocus(self) -> Optional[Autofocus]:
82
98
  """
@@ -84,6 +100,8 @@ class Microscope:
84
100
  """
85
101
  return self._autofocus
86
102
 
103
+ _camera_trigger: Optional[CameraTrigger]
104
+
87
105
  @property
88
106
  def camera_trigger(self) -> Optional[CameraTrigger]:
89
107
  """
@@ -96,30 +114,9 @@ class Microscope:
96
114
  Creates instance of `Microscope` from the given config.
97
115
  Parts are instantiated depending on device addresses in the config.
98
116
  """
99
- self._connection = connection
100
- self._config = MicroscopeConfig.from_binary(MicroscopeConfig.to_binary(config))
101
- self._illuminator = Illuminator(Device(connection, config.illuminator)) if config.illuminator else None
102
- self._focus_axis = Axis(Device(connection, config.focus_axis.device), config.focus_axis.axis)\
103
- if config.focus_axis and config.focus_axis.device else None
104
- self._x_axis = Axis(Device(connection, config.x_axis.device), config.x_axis.axis)\
105
- if config.x_axis and config.x_axis.device else None
106
- self._y_axis = Axis(Device(connection, config.y_axis.device), config.y_axis.axis)\
107
- if config.y_axis and config.y_axis.device else None
108
- self._plate = AxisGroup([self._x_axis, self._y_axis])\
109
- if self._x_axis is not None and self._y_axis is not None else None
110
- self._objective_changer = ObjectiveChanger(Device(connection, config.objective_changer), self._focus_axis)\
111
- if config.objective_changer and self._focus_axis else None
112
- self._filter_changer = FilterChanger(Device(connection, config.filter_changer))\
113
- if config.filter_changer else None
114
- self._autofocus = Autofocus(
115
- config.autofocus,
116
- self._focus_axis,
117
- self._objective_changer.turret if self._objective_changer else None)\
118
- if config.autofocus and self._focus_axis else None
119
- self._camera_trigger = CameraTrigger(
120
- Device(connection, config.camera_trigger.device),
121
- config.camera_trigger.channel)\
122
- if config.camera_trigger and config.camera_trigger.device else None
117
+ self._connection: Connection = connection
118
+ self._config: MicroscopeConfig = MicroscopeConfig.from_binary(MicroscopeConfig.to_binary(config))
119
+ self._initialize_components()
123
120
 
124
121
  @staticmethod
125
122
  def find(
@@ -263,3 +260,56 @@ class Microscope:
263
260
  request,
264
261
  dto.StringResponse.from_binary)
265
262
  return response.value
263
+
264
+ def _initialize_components(self) -> None:
265
+ """
266
+ Initializes the components of the microscope based on the configuration.
267
+ """
268
+ if self._config.illuminator:
269
+ self._illuminator = Illuminator(Device(self._connection, self._config.illuminator))
270
+ else:
271
+ self._illuminator = None
272
+
273
+ if self._config.focus_axis and self._config.focus_axis.device:
274
+ self._focus_axis = Axis(
275
+ Device(self._connection, self._config.focus_axis.device), self._config.focus_axis.axis)
276
+ else:
277
+ self._focus_axis = None
278
+
279
+ if self._config.x_axis and self._config.x_axis.device:
280
+ self._x_axis = Axis(Device(self._connection, self._config.x_axis.device), self._config.x_axis.axis)
281
+ else:
282
+ self._x_axis = None
283
+
284
+ if self._config.y_axis and self._config.y_axis.device:
285
+ self._y_axis = Axis(Device(self._connection, self._config.y_axis.device), self._config.y_axis.axis)
286
+ else:
287
+ self._y_axis = None
288
+
289
+ if self._x_axis is not None and self._y_axis is not None:
290
+ self._plate = AxisGroup([self._x_axis, self._y_axis])
291
+ else:
292
+ self._plate = None
293
+
294
+ if self._config.objective_changer and self._focus_axis:
295
+ self._objective_changer = ObjectiveChanger(
296
+ Device(self._connection, self._config.objective_changer), self._focus_axis)
297
+ else:
298
+ self._objective_changer = None
299
+
300
+ if self._config.filter_changer:
301
+ self._filter_changer = FilterChanger(Device(self._connection, self._config.filter_changer))
302
+ else:
303
+ self._filter_changer = None
304
+
305
+ if self._config.autofocus and self._focus_axis:
306
+ turret = self._objective_changer.turret if self._objective_changer else None
307
+ self._autofocus = Autofocus(self._config.autofocus, self._focus_axis, turret)
308
+ else:
309
+ self._autofocus = None
310
+
311
+ if self._config.camera_trigger and self._config.camera_trigger.device:
312
+ trigger_device = Device(self._connection, self._config.camera_trigger.device)
313
+ self._camera_trigger = CameraTrigger(trigger_device, self._config.camera_trigger.channel)
314
+ else:
315
+ self._camera_trigger = None
@@ -35,8 +35,8 @@ class ObjectiveChanger:
35
35
  Creates instance of `ObjectiveChanger` based on the given device.
36
36
  If the device is identified, this constructor will ensure it is an objective changer.
37
37
  """
38
- self._turret = turret
39
- self._focus_axis = focus_axis
38
+ self._turret: Device = turret
39
+ self._focus_axis: Axis = focus_axis
40
40
  self.__verify_is_changer()
41
41
 
42
42
  @staticmethod
@@ -29,7 +29,7 @@ class WdiAutofocusProvider:
29
29
  return self._provider_id
30
30
 
31
31
  def __init__(self, provider_id: int):
32
- self._provider_id = provider_id
32
+ self._provider_id: int = provider_id
33
33
 
34
34
  @staticmethod
35
35
  def open_tcp(
@@ -63,12 +63,12 @@ class Process:
63
63
  return self._warnings
64
64
 
65
65
  def __init__(self, controller: 'ProcessController', process_number: int):
66
- self._controller = controller
67
- self._process_number = process_number
68
- self._axis = Axis(controller.device, process_number)
69
- self._settings = AxisSettings(self._axis)
70
- self._storage = AxisStorage(self._axis)
71
- self._warnings = Warnings(controller.device, process_number)
66
+ self._controller: 'ProcessController' = controller
67
+ self._process_number: int = process_number
68
+ self._axis: Axis = Axis(controller.device, process_number)
69
+ self._settings: AxisSettings = AxisSettings(self._axis)
70
+ self._storage: AxisStorage = AxisStorage(self._axis)
71
+ self._warnings: Warnings = Warnings(controller.device, process_number)
72
72
 
73
73
  def enable(
74
74
  self,
@@ -28,7 +28,7 @@ class ProcessController:
28
28
  Creates instance of `ProcessController` of the given device.
29
29
  If the device is identified, this constructor will ensure it is a process controller.
30
30
  """
31
- self._device = device
31
+ self._device: Device = device
32
32
  self.__verify_is_process_controller()
33
33
 
34
34
  @staticmethod
zaber_motion/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "7.10.0"
1
+ __version__ = "7.12.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zaber_motion
3
- Version: 7.10.0
3
+ Version: 7.12.0
4
4
  Summary: An official library for communicating with Zaber devices.
5
5
  Author-email: "Zaber Technologies Inc." <contact@zaber.com>
6
6
  License: The MIT License (MIT)
@@ -2,55 +2,56 @@ zaber_bson/LICENSE,sha256=n7FWR6VC5ystss8E5JhpgVzVj7ox2YQ3_HEzL7rDzAs,1548
2
2
  zaber_bson/__init__.py,sha256=I41i_Ou7_fHdZS_8Pe-gXvcvvvej3MTOsdEwkJT4H4E,1631
3
3
  zaber_bson/codec.py,sha256=fqZxP1m51dwdVXp2fioJpS2tHOjJQCbOI_pxugyvQnQ,14591
4
4
  zaber_bson/types.py,sha256=TDzH-OVS2SsiiivLLu1K-M-vv4Kk69GpS0cnxi7rxVk,1236
5
- zaber_motion/__init__.py,sha256=y9QG7iNR3EE41fRpeNveeJ_bC5vUOcHdpk8ekC5W9yI,10196
5
+ zaber_motion/__init__.py,sha256=20eeJ47a0Xj4bFZ7oLEuO96UEQetlyGqL_IMytl9X4A,10354
6
6
  zaber_motion/async_utils.py,sha256=3i14u5lwECpctxvwQ7izt0Q_RRwB6UfFtuDOIiM6o28,1505
7
7
  zaber_motion/bindings.py,sha256=vS6PfLmBgDnQrPXsOyXRLqgN7SSCWswmtVxSYV6AgjQ,1505
8
8
  zaber_motion/call.py,sha256=lH72duqcNvzh3Mae5JYZ5kIsyMRftSxSCgmWk9TjYik,5206
9
9
  zaber_motion/convert_exception.py,sha256=TZrdGkmaTR7QOAwoxIQ9sOkHtuVg1bVs-sxbEDn22V8,8487
10
10
  zaber_motion/dto_object.py,sha256=3gJU6AQCjiZcx2o7p2C9VTqw9apOM0i21ssmAM-VmEY,359
11
11
  zaber_motion/events.py,sha256=3Ebp8zEjlRSjKG-b3WVrncZ6juHlKJTNeL-oeYIGpuk,3398
12
- zaber_motion/library.py,sha256=Ie2Lw2I31RpH-FnVrTW0irQKRNI8OPR6nD1s8EuWpys,4935
12
+ zaber_motion/library.py,sha256=cxJ49Rrt7g_3CitoLQxdB9kfJq6zBBkkHuQO96Ahx7o,5497
13
13
  zaber_motion/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  zaber_motion/serialization.py,sha256=Fm53Bd_oAZ7yaTjtBss23Dps3ynWv8wUJT5JVQyqKVs,987
15
15
  zaber_motion/tools.py,sha256=O9IGJNGaaG7Sz2jGkexdJfgyJ5L4vsLXJKFUhZlKlCI,2213
16
16
  zaber_motion/unit_table.py,sha256=FV-6VegAm499BJBJ4tdXgkP2Hl2h-fIlLJWkMrHlPAM,2497
17
17
  zaber_motion/units.py,sha256=RCkeTZwhZFJg2hffBJFweAhDHLHZOkLUPel0e1Wzi3g,10853
18
- zaber_motion/version.py,sha256=GHzDQ26ZrFjhBusV3W0P0PcmVjJ349q32G_UDe84Q6E,23
18
+ zaber_motion/version.py,sha256=epZfTrsMWfpY2no1bS7o-MeQ23JncNk7yI5RH-5Pqlg,23
19
19
  zaber_motion/ascii/__init__.py,sha256=hB91yrB-iTGuk270V97TQK09fMiMUwL3FEIKhLqMJfc,4848
20
- zaber_motion/ascii/all_axes.py,sha256=ob_LjrgU9jNCW3t9k0U7QSa-92ap9HspmHCsv7dkzgI,10783
21
- zaber_motion/ascii/axis.py,sha256=Ks5MGJRUeKIwyUZOQ-13-fWpjt3ZJu9oyoGNT2yEJSg,57618
22
- zaber_motion/ascii/axis_group.py,sha256=mcjxN3jhpKNaFB3rg60smi6Qr_75JPRXq2v6YDqjlfo,12927
23
- zaber_motion/ascii/axis_settings.py,sha256=iFNWxyrjS5xXPMwTaF4UR5FeePshN3wyeFfRJkLGjEU,23473
24
- zaber_motion/ascii/connection.py,sha256=3K3JgoSAXN3yr__TcaI-YD71TmWQ34ngK-F2lpibIaY,38492
25
- zaber_motion/ascii/device.py,sha256=Bmp-VPzOdUBRvuNkDd7JMFiO2bPbWInR1ZwadxaBwVc,29623
26
- zaber_motion/ascii/device_io.py,sha256=ikWpyn8sFI03HClJcJDw7j-4ARwE286biZvUFwZIUHA,39378
27
- zaber_motion/ascii/device_settings.py,sha256=6mztNJgFlcRzKmffe4xrxZ1BSVoJdSA7dRboPpHYk5U,22012
28
- zaber_motion/ascii/lockstep.py,sha256=SvmrfZIEu3jhCaxKVHUy8FuEAIaZpwYq60jZsqUa8O4,43447
29
- zaber_motion/ascii/oscilloscope.py,sha256=07lpLISv014Uk5mZ7cnY63Nb4KDj2NF_Jd9GLSQ4mPg,20306
30
- zaber_motion/ascii/oscilloscope_data.py,sha256=YEOJH4yY_4R2Anm2-OOZXt_3jxFUMAD3RQNcSZ8qXTI,7225
31
- zaber_motion/ascii/pvt.py,sha256=_D_S6JenjZ_DC-agtmyp5rx__utRV63T0eKA7sPcguE,2865
32
- zaber_motion/ascii/pvt_buffer.py,sha256=wrxf3n2hNL82QdyCiBG3c3jDwQb9tnDpaxBW1aiY_-s,3165
33
- zaber_motion/ascii/pvt_io.py,sha256=FiwJG6FQTPPtLRgH3AQhjfHRwWmDwiRri77dgyz4zXs,22237
34
- zaber_motion/ascii/pvt_sequence.py,sha256=B4gAYjKtBkp4DGj30RxXv6aNOgtFlBly-ZacvclqHug,51329
35
- zaber_motion/ascii/servo_tuner.py,sha256=uV3UxXIgz1xx-_lRaaxMVjF45Fp1AGpPgO1vKTYx8ro,23339
20
+ zaber_motion/ascii/all_axes.py,sha256=ZdeufI6s3Yxtf9S0FbCZQNklKqFXIEEEbLE2-ITuASA,10793
21
+ zaber_motion/ascii/axis.py,sha256=nd1gy84lnKxaEktTEtBvCF6DVsfdfds6dflQJ1P9XCI,57670
22
+ zaber_motion/ascii/axis_group.py,sha256=dmITE1fLE919oIWnuf-ft-sM2-9CN0dZ13j3NUGqpyU,12939
23
+ zaber_motion/ascii/axis_settings.py,sha256=FAIHOOc4EgYjfNuxoJ43nPVmodJx9UOFu70QbG60B5w,23501
24
+ zaber_motion/ascii/connection.py,sha256=aaI2d5IIL1XYdWR-L7E-GscQHKz3O8h107um9XB31tk,38497
25
+ zaber_motion/ascii/device.py,sha256=HjNmrqJe1wCCEzfZEKl8Owp1Qitox8eUTPdt85pQrPA,29740
26
+ zaber_motion/ascii/device_io.py,sha256=T0uZsSGk5OdLkb2ZRFxmHP9jHtzZb85J21J80FFAKYo,39388
27
+ zaber_motion/ascii/device_settings.py,sha256=RLt4iojoTZ757LnDiVl3fHm-cGaDCmKQ5luZuPFY3Xs,22022
28
+ zaber_motion/ascii/lockstep.py,sha256=ijO3foMhQmh5i9DeydK7Gpr-DK-Vz2wKVS472j7Qa6o,43462
29
+ zaber_motion/ascii/oscilloscope.py,sha256=QGIIDiSdMy1Lqqmeu_UpWJakxxjzVbG6BAHHIroE0mg,20316
30
+ zaber_motion/ascii/oscilloscope_data.py,sha256=Y2Qv9uuLnGix7SEnPAlQUkzwSgm-krPqGVLoMzyHBCA,7230
31
+ zaber_motion/ascii/pvt.py,sha256=WMfbmJlJAm-eEPJxUPNlpOXYyzuJPBFeeDo2bCfoATE,2875
32
+ zaber_motion/ascii/pvt_buffer.py,sha256=kJd8UyQ2oYtT3zSNU4InmhxU0F8SL5KBqyJuHVMmd_o,4450
33
+ zaber_motion/ascii/pvt_io.py,sha256=mRNokeYvZmqZul5M27n5i38shpv129hmqjdeiSKfNwo,22252
34
+ zaber_motion/ascii/pvt_sequence.py,sha256=pUSJhqEKOY-yU0R4sDbWWfNDuqD84Ex3SMzhujN8br4,57761
35
+ zaber_motion/ascii/servo_tuner.py,sha256=AryjPcrBqQ9xSk2INuIPAFIjxN-HmqUBCrWYmvNpezs,23345
36
36
  zaber_motion/ascii/setting_constants.py,sha256=ztScMyFkFec1F9zLvmmD4jysXDFXE5dfHF3uByPqnkw,29929
37
- zaber_motion/ascii/storage.py,sha256=nB4adzPAZI4YL3lUgB3hrFHmP7Rof8dl_b_AsgOGEP0,26131
38
- zaber_motion/ascii/stream.py,sha256=dwzm4OQQhedQsi0NPWi3_hvYaP1cK4zN192zeMnMbnE,80492
39
- zaber_motion/ascii/stream_buffer.py,sha256=4cLM917qAw393H90V3mvEnT2X5NKCl37ZvSqGc092gU,3079
40
- zaber_motion/ascii/stream_io.py,sha256=PSQtWs9xsEjahrNu7h1NX9D3lGeC2Z_9JwXDO6Zp0CY,25058
41
- zaber_motion/ascii/streams.py,sha256=IrFZuRtO16W9kZDtWw6GVxMGcWkku1YianWHbSU7Kx0,2853
42
- zaber_motion/ascii/transport.py,sha256=2mCKRCYbIB44IkCLmUnk1kzEdOBMumUryyz6Mx1zNbI,5858
43
- zaber_motion/ascii/trigger.py,sha256=_h3uZCCZHg53qW2Nvymj-vT9U-LUY4h17XZSkKRvaCQ,29842
44
- zaber_motion/ascii/triggers.py,sha256=cmrZ8AetASPNi0amdXzThINIl50yKnsS6t3VmlJNZBU,7277
37
+ zaber_motion/ascii/storage.py,sha256=tJEpxUdOn7qfE1UGbEmwuoB864K5HHjQe6tTwG5tbkE,26149
38
+ zaber_motion/ascii/stream.py,sha256=c3bKOcV4xn7Rv7FnkTMoUwtN49BMdd0U2Rl25A5vwYg,80517
39
+ zaber_motion/ascii/stream_buffer.py,sha256=TJrNJhNdsR8wPCTSqMn-AVkf2y7utWQbkLz68ndKEH8,3094
40
+ zaber_motion/ascii/stream_io.py,sha256=gpiSZL5p8OfRi3jQ87SyCb8E8MkPwUUpq26umiw2AAU,25073
41
+ zaber_motion/ascii/streams.py,sha256=o5FQGaSbgSHPKz6d6nNExyO2kTERwE4iXkn3dQDz8kM,2863
42
+ zaber_motion/ascii/transport.py,sha256=R_ZMlDaj_j5U3TFE45vossoO5JHylU2zSUaT6_5FItc,5863
43
+ zaber_motion/ascii/trigger.py,sha256=rp2DsfPd8PUADrPvcORkINAz62PXHMpI67tORycz5XA,29857
44
+ zaber_motion/ascii/triggers.py,sha256=kOdDCbAOk4Rigbe2uxBZZGHlIw5plqwK53TnoNz0HZM,7287
45
45
  zaber_motion/ascii/warning_flags.py,sha256=A18Yf3-YTnxWZzIrQwYQdqrelRA6Wr0m1kRMbRsQlYE,2855
46
- zaber_motion/ascii/warnings.py,sha256=D2p8C0GCIlId91nqKOUFn2RrxASPa6ZoSVt5Cbb5rdI,5061
46
+ zaber_motion/ascii/warnings.py,sha256=lMXwqp7CT9od11WDWJrXwKvAokVN9x3OwDDtv7mGok4,5076
47
47
  zaber_motion/binary/__init__.py,sha256=Tsv_GJjkOYiFiNs8Eko8lkfyM2bSgezYxQ3l89PxFgQ,859
48
- zaber_motion/binary/connection.py,sha256=xDWTkebabdp-2Tc3YTr32raplUvw1h-QIW8MgWKAcD4,21400
49
- zaber_motion/binary/device.py,sha256=fhFASJx8rU98L5Z7anEtsZ0f_C_LzGJknNZvio_RKjc,29238
50
- zaber_motion/binary/device_settings.py,sha256=Ez-uB0785Pqhd_svQMDqngQZSGED7UI3-MrjER1TB2w,3349
51
- zaber_motion/dto/__init__.py,sha256=l17g_3wPK1-5CYG4oJ-CXc86tW5FaPAM2OBVmEo06vo,582
48
+ zaber_motion/binary/connection.py,sha256=5yGUgdN6xM5CPU2W4aYzi5A4HbQGf76Uagrfw2iYpXA,21405
49
+ zaber_motion/binary/device.py,sha256=uwU8BuceJANGWTQFb_4HL8P6OSaf5KNMwRZPdbvZI6o,29273
50
+ zaber_motion/binary/device_settings.py,sha256=vF0GVC7IIKR6HjRqwdxfF2W4YHYodRmWuriM2uQRByo,3359
51
+ zaber_motion/dto/__init__.py,sha256=9VbPLqxBM8Mxidq1AZmV4O6-srRQE7SC_rExNm6XQ7A,645
52
52
  zaber_motion/dto/axis_address.py,sha256=WNmCifXFH3rqmdBbPN-Fc67_Qbqx5Q3KWiEYSN5UxHo,2305
53
53
  zaber_motion/dto/channel_address.py,sha256=D732s_DnRDBHGLOeqBLZKKidaoyoBYIfIGUqGI8vYmE,2395
54
+ zaber_motion/dto/device_db_source.py,sha256=2Qpyr9SbKDRlDJPregiFUfX-dme5AWVeTdkQOpD9FAQ,2438
54
55
  zaber_motion/dto/device_db_source_type.py,sha256=tDwfDZdiolaumXm9iBWxqg4Qghh4rC-PgUNdDxaaJEQ,193
55
56
  zaber_motion/dto/firmware_version.py,sha256=8PVjumVwXCdMUK6axOJd8ho8YkIi2K5fprhGk-S40q8,2969
56
57
  zaber_motion/dto/log_output_mode.py,sha256=cJuF_Xfmulvpek8UYExt7Re9uwFyZPMQgYCkoYufoU4,215
@@ -112,12 +113,13 @@ zaber_motion/dto/binary/message.py,sha256=BklnjcSuzCJUXpsaH7bViZo3nwNL6hLm8sYdeM
112
113
  zaber_motion/dto/binary/reply_code.py,sha256=8bLESEmiX9gJyCoVYV7baMKjg9dHWLeaJlCQU1_S8MM,351
113
114
  zaber_motion/dto/binary/reply_only_event.py,sha256=7LKlsuEoNxYx9qXfU-e6MYWAtQjk1FC1n-kw-LpWkeU,3221
114
115
  zaber_motion/dto/binary/unknown_response_event.py,sha256=v7K3JVzG_Hyjhvr93rsaMLUdXcPuPTI5UcJ9kto0584,3317
115
- zaber_motion/dto/exceptions/__init__.py,sha256=Qmu_qbbTm3M8uEHZxc1W53Q4T8fguxVfe-U-aEoWjyQ,2354
116
+ zaber_motion/dto/exceptions/__init__.py,sha256=ozYUrcyW-0OLJfrPsqZ1Ez-GPEipba-g1aMGwt8BNWU,2430
116
117
  zaber_motion/dto/exceptions/binary_command_failed_exception_data.py,sha256=J0URVqOTQjzUYcuSZiGIZIFDHCoVkQbX17wwSfCcIvg,2082
117
118
  zaber_motion/dto/exceptions/command_failed_exception_data.py,sha256=y3HkrVsIkcCor5UozCHnGONkkkjFKUCM0-DJfkCDyRc,5496
118
119
  zaber_motion/dto/exceptions/command_too_long_exception_data.py,sha256=72ntpykdzHOc74-LfnhI5hnUKfENmzHqcjtVBxFlztg,3652
119
120
  zaber_motion/dto/exceptions/device_address_conflict_exception_data.py,sha256=kiCtmd3nhWQml_vopWTMtQZLvz1VUL9se8WCssOtemM,2675
120
- zaber_motion/dto/exceptions/device_db_failed_exception_data.py,sha256=aVrOrTOCtDKewF-4eLRV2r0NQmkAPDNiJuS0uzLYmIM,1674
121
+ zaber_motion/dto/exceptions/device_db_failed_exception_data.py,sha256=Pukdow95PZffkk3iDpQXbBgC-dtc2oWkAZ0ibgli0mQ,2908
122
+ zaber_motion/dto/exceptions/device_db_inner_error.py,sha256=P_lV49Wz1lakx8oh6fCOo9ONmBialCWJ4NHDbctuPHk,3172
121
123
  zaber_motion/dto/exceptions/g_code_execution_exception_data.py,sha256=TjqExhhCpubibHE3AMCkggA0x6DCgz1wnKlUJevtqiQ,2744
122
124
  zaber_motion/dto/exceptions/g_code_syntax_exception_data.py,sha256=OAqLHrbrQMWQLMAaBlRgo7yYU11xnovzeDp35ITbSbM,2702
123
125
  zaber_motion/dto/exceptions/invalid_packet_exception_data.py,sha256=ymSygenzyuG26wDLmgXAQjDsPHDhrwYavEFzao3zpHk,2077
@@ -151,7 +153,7 @@ zaber_motion/dto/product/__init__.py,sha256=M7m313pDn0mT99u1qPhrmit0N3wN3D3ylnIQ
151
153
  zaber_motion/dto/product/process_controller_mode.py,sha256=JSfKRAOKGWBXpKbUAvYy3IDGtWyRoz4c5sXKXpiHu_4,228
152
154
  zaber_motion/dto/product/process_controller_source.py,sha256=yz3yRp5AZP71bYB7ivY9q3ZuGIZkJ7hxt13G-XpPFyc,2577
153
155
  zaber_motion/dto/product/process_controller_source_sensor.py,sha256=z2nfX4jq79cAmnbr7Wz9GKKa1CoSZfEFakHgqfKpJoM,217
154
- zaber_motion/dto/requests/__init__.py,sha256=v5x-eab0KwKVFBnSTrkXM-np1JPGXL9BhkFWXfanGT0,23260
156
+ zaber_motion/dto/requests/__init__.py,sha256=CmIL7bEKTyXAykNsi0WSSgiI5K53xuIXdBqdNEHIlcY,23736
155
157
  zaber_motion/dto/requests/alert_event_wrapper.py,sha256=Mev5LIbaksLReCI3VrlNA3_B7xWjQU5mcm0sLjRmzt4,3053
156
158
  zaber_motion/dto/requests/autofocus_focus_request.py,sha256=3rZ5-s6dc6BV_DukDa-Fi2BL30QKAOd-K_9dP-QWOZ0,5272
157
159
  zaber_motion/dto/requests/autofocus_get_objective_params_request.py,sha256=0E0X4PuQVJ8Yt3LZzUC-nueGFQ-mEMpcSRUzf5ta6mw,5351
@@ -293,18 +295,22 @@ zaber_motion/dto/requests/oscilloscope_request.py,sha256=-60420N1ASklLt4cXiJja43
293
295
  zaber_motion/dto/requests/oscilloscope_start_request.py,sha256=6VFGTeuq0Ej6AC2GEh4-nYD5D-48Um32WC1YEP6YzLw,3132
294
296
  zaber_motion/dto/requests/prepare_command_request.py,sha256=msIbcbIl9wd3txrYiU2d4JM3t8rx-6DQbY9e985IAvM,4445
295
297
  zaber_motion/dto/requests/process_on.py,sha256=6GgTZUAOljage_Bu1vv_1tpeTeLVDUlM0f1Edm_RKw8,3807
298
+ zaber_motion/dto/requests/pvt_buffer_get_sequence_data_request.py,sha256=Z4dKCCSPX9HFq6yBXMdltw6Ovd91I7ryMtfsEr2fiKw,3179
296
299
  zaber_motion/dto/requests/pvt_csv_request.py,sha256=YjFTHsHWnfm3tDOXfVP75VSiC2167jd9wJ663qd7CRY,2142
297
300
  zaber_motion/dto/requests/pvt_generate_positions_request.py,sha256=UzujVEAqL-fQMNJQrpusIMuefuDcC23WkuCCFOrrjv8,3177
301
+ zaber_motion/dto/requests/pvt_generate_velocities_and_times_request.py,sha256=ALRhjYZhfaruC2T9tFAKMvFxZvJv9Ft_tq3K5zr3ZAM,4593
298
302
  zaber_motion/dto/requests/pvt_generate_velocities_request.py,sha256=MFIgb_kdh_vYJGBhEqCxZPYZGvAsc6D_rWf7nQ5R_0I,4362
299
303
  zaber_motion/dto/requests/pvt_load_csv_request.py,sha256=1LalBGodyuWCXcFeBdcgF4RflQ9BN2JT_4yXEeIPUwY,1468
300
304
  zaber_motion/dto/requests/pvt_point_request.py,sha256=xOltyiyRN4hdtRB-tzLuyLoLs2SDmPW5neO7sI4bGtM,6142
301
305
  zaber_motion/dto/requests/pvt_points_request.py,sha256=C-hYdDv43b3dLA5RSwOkFFDxnSeU1s_CpL0FL3kM8Ok,6324
302
306
  zaber_motion/dto/requests/pvt_save_csv_request.py,sha256=s0NLHeaCuA1o6nCSt8swOvad-Kt_Bs0cr_R4icG9aBc,3046
307
+ zaber_motion/dto/requests/pvt_submit_sequence_data_request.py,sha256=uFaceNDeV9v_SAVcyGlQ49UyqBzyqoEvjdaKbd3fhB0,3867
303
308
  zaber_motion/dto/requests/renumber_request.py,sha256=jQbw_Q1Z2YWDyLDypDKE2b44KV9Mkm_iS34ZldnD-R0,2902
304
309
  zaber_motion/dto/requests/response_type.py,sha256=7tUcqtyLPtnVkr7A6jIs0A3aVcRkyQD0F3woHT_wzgE,125
305
310
  zaber_motion/dto/requests/servo_tuning_paramset_response.py,sha256=N7WG013uQoTb0DHgBMjjqhktq_cddNfhBBVNNmMcBcs,1890
306
311
  zaber_motion/dto/requests/servo_tuning_request.py,sha256=PPB1Dge6T-2huUo3c1oJkWuCxflmxKRPtdJXJQw-Mpk,3554
307
- zaber_motion/dto/requests/set_device_db_source_request.py,sha256=WTwcxMSjy-i0PRhiP9SfQyw-8tKomoYMZ0vXD8VOQBI,2356
312
+ zaber_motion/dto/requests/set_device_db_layered_sources_request.py,sha256=a6YL0qjTawYDhharermCocsT5RNf8z2shliddcopny4,2334
313
+ zaber_motion/dto/requests/set_device_db_source_request.py,sha256=s8kDP7_By1Cez_4jTUFwb1WFhcsmJiMofNmKNoRKjEQ,2509
308
314
  zaber_motion/dto/requests/set_interface_checksum_enabled_request.py,sha256=ohqCpXmg9ZZtT8-prv8ODLlq2jUUpUamWrmiFYN3ODM,2145
309
315
  zaber_motion/dto/requests/set_interface_timeout_request.py,sha256=juXp3dBZgCLVXGHy17RIA9208eNqXemi4PGM7CdUxLA,2493
310
316
  zaber_motion/dto/requests/set_internal_mode_request.py,sha256=LiQPmGauNuJfr8_e1-cE40LuVmCo6lt66pSRHmoPMvQ,1344
@@ -401,7 +407,7 @@ zaber_motion/dto/requests/wait_to_clear_warnings_request.py,sha256=0V0RDid4I6Qjj
401
407
  zaber_motion/dto/requests/wait_to_respond_request.py,sha256=pWObRotk-p2vV2RqrTxlFHXwFrjCDxYnU2ejdEhAJdw,2839
402
408
  zaber_motion/dto/requests/wdi_generic_request.py,sha256=Lcv859aSxWz3oiVzZNPLYqtihn-DCU8wJeNe9fwqpK8,5429
403
409
  zaber_motion/dto/requests/wdi_get_status_response.py,sha256=z3uWQm2B3ILVtdouXCFiAL3oR9DLq4TbsmdXuPBeics,1921
404
- zaber_motion/exceptions/__init__.py,sha256=LjK4CSzpTGL4liTc5wfiVAStoIUfO_8bNRPfYQXl_5A,8634
410
+ zaber_motion/exceptions/__init__.py,sha256=x3XeKreBFjJ3DR7LAoQ_Iw0eNWVB0FFJUDDDt-BmvwI,8726
405
411
  zaber_motion/exceptions/bad_command_exception.py,sha256=7Exn_kkVrmm8CtdGauCxNJsr_wP1d6CvMdQNUQraWsE,298
406
412
  zaber_motion/exceptions/bad_data_exception.py,sha256=bLksIisdtBiUVBxi4Jm9CIvdNF8NjZkKjORBTUOxx2o,336
407
413
  zaber_motion/exceptions/binary_command_failed_exception.py,sha256=1LaLjeoJte5EGrb6Oa90WdLwovW0rLfMA_FEemnp6X4,976
@@ -466,23 +472,23 @@ zaber_motion/exceptions/timeout_exception.py,sha256=XE0GawEZtTCtEXNMGTO0Llt12aqt
466
472
  zaber_motion/exceptions/transport_already_used_exception.py,sha256=mPhLA5Ojbqf8MmFS7mDCzmdQWfR2fLoMouXi2XmTYU4,320
467
473
  zaber_motion/exceptions/unknown_request_exception.py,sha256=Z7zQJQkDwpBhixZoe96cuh1-146lzNRrbbOQXz4Nnh0,335
468
474
  zaber_motion/gcode/__init__.py,sha256=0HttpBgiGu028vwoLpyttuvDKAHZYy6kcNT2qDbJFN8,753
469
- zaber_motion/gcode/offline_translator.py,sha256=8UXBPkYnA5TH39nD5GnIXjL3E851Q8lUEPtoa5hgfwE,12118
470
- zaber_motion/gcode/translator.py,sha256=-uxQVKcEFlySm7Mw3C53AFnd8tnAfE0XzexTfa0vh64,12835
475
+ zaber_motion/gcode/offline_translator.py,sha256=zFob28ih3wuxAhCtAixLxgth1kVFFB-xVT1s65YcOJ8,12123
476
+ zaber_motion/gcode/translator.py,sha256=8U8FLvQm1eagubjv-ywdpcJL8orZv4BWa3zk4GoSl6g,12840
471
477
  zaber_motion/microscopy/__init__.py,sha256=uSXl3xMPYzKuBfyNXkMdBa4oLSUFjG09y98He68IgUs,1016
472
- zaber_motion/microscopy/autofocus.py,sha256=0iwqZgQa_LZ-7brcf37RobCnM3t30ECMPKEqhLyGOtU,23715
473
- zaber_motion/microscopy/camera_trigger.py,sha256=BIklwo0d7NL_CXb6P8w5ToEUBolQavbDNKCffLjJev0,3462
474
- zaber_motion/microscopy/filter_changer.py,sha256=VRkLwKf1-TzrDtFR5BLi58pzFnSBej8bk6jy3-KcU64,4651
475
- zaber_motion/microscopy/illuminator.py,sha256=778WTQ1HfZG2MiLVug8tv1ZipJBInlNl-LOp9d1WxS0,4151
476
- zaber_motion/microscopy/illuminator_channel.py,sha256=146pzU8Xz3Kj0_KIG5BjLQVNPPO3keALgu6KJYFGFMI,20451
477
- zaber_motion/microscopy/microscope.py,sha256=cza7f0hqs5maNOyEIzNrtQ0iRt572TR-rjbmgVEAgTU,8602
478
- zaber_motion/microscopy/objective_changer.py,sha256=rTI7-bytHqcbc0iLmY6Eytv4EXr_Jgk78dj-Y8tj_yw,13543
479
- zaber_motion/microscopy/wdi_autofocus_provider.py,sha256=V-cDWA9SJXQ1WRNCMT78VoMwbhd-5d948VeofKmZSlM,11490
478
+ zaber_motion/microscopy/autofocus.py,sha256=_tLF_B3jS_Id1AZ3frkYsEV2xGMsOQbBUT3614nWT9k,23744
479
+ zaber_motion/microscopy/camera_trigger.py,sha256=5Hq-5lfNzVF5-H5r5EvH9ZU2IVa7Ilj_RT-XQ3iH2G8,3475
480
+ zaber_motion/microscopy/filter_changer.py,sha256=UPo-YxqUcBxCzA5gKV0UMK2kCJksO24qczFSl5UtiwA,4659
481
+ zaber_motion/microscopy/illuminator.py,sha256=1_Rwc9oQp82MzqbACbRMGHWZvzhfHyvUbip5xvClunI,4169
482
+ zaber_motion/microscopy/illuminator_channel.py,sha256=8qOMB_X17wGB5JYYhumcy7VtGCeE9iGb4SZKOT_VJtE,20514
483
+ zaber_motion/microscopy/microscope.py,sha256=NtjCkfhTZsiBvF2a7GDbQnx1volvmyelhVBdMbZuSx4,9781
484
+ zaber_motion/microscopy/objective_changer.py,sha256=sgz6XmM75wOxmyLrM0tfwH2ek4VoGvaX0K53azMVCjM,13557
485
+ zaber_motion/microscopy/wdi_autofocus_provider.py,sha256=fAMVVlfzpB0IpnDikj_sWFbQ5eNCSAJ_jX1ky8FXgtg,11495
480
486
  zaber_motion/product/__init__.py,sha256=lno0C-gLBsHNPGnjp6bbXHX0cEk27cA8uFjq5vzmE9Q,531
481
- zaber_motion/product/process.py,sha256=42wF55BvUcUY36_6HvpdWLC0b2ap6suoCItpR88pp14,27458
482
- zaber_motion/product/process_controller.py,sha256=a5BM42BP82gcHtub98SkUsxsRoKByNbYmaBXzRYT1ao,4185
483
- zaber_motion_bindings/zaber-motion-core-windows-386.dll,sha256=iYp-QG99VdAd3EcxYhmOvi4R7ABH7_eIxeiPk7hFZKw,14657024
484
- zaber_motion-7.10.0.dist-info/LICENSE.txt,sha256=xNj9QcKqsI3WK5EBPeYbQAiDcnVe4xmIpCy65NYNVhA,109244
485
- zaber_motion-7.10.0.dist-info/METADATA,sha256=6XQsps36uMhEczmIqRjR1kt7Fydmv-AGa--pAP_7rrw,129816
486
- zaber_motion-7.10.0.dist-info/WHEEL,sha256=IvMpNSrdjsF1-j47TwHzkg3me4kdrqF21OaDAsKYs1k,93
487
- zaber_motion-7.10.0.dist-info/top_level.txt,sha256=ypgkPvPad6Oge50CT6unnvxCEliKUB6olL6CUUER1SA,51
488
- zaber_motion-7.10.0.dist-info/RECORD,,
487
+ zaber_motion/product/process.py,sha256=RGDxS_kyb-66RJ5bWmRtamp0zARPigcwN-zVcVtl7MQ,27527
488
+ zaber_motion/product/process_controller.py,sha256=RQ1rXrdvslqB-3UIXLfLD3D5vfr1xfT8B5jOmTXf-V0,4193
489
+ zaber_motion_bindings/zaber-motion-core-windows-386.dll,sha256=F4sn4VyZXiIzIO2UUgcqv2e9CW7FcKLxHUGYSGrtjbQ,15035904
490
+ zaber_motion-7.12.0.dist-info/LICENSE.txt,sha256=xNj9QcKqsI3WK5EBPeYbQAiDcnVe4xmIpCy65NYNVhA,109244
491
+ zaber_motion-7.12.0.dist-info/METADATA,sha256=caW5r6YnwkceL9tAO9NjPFoQMBmCyf3VSJGCym8AQN0,129816
492
+ zaber_motion-7.12.0.dist-info/WHEEL,sha256=IvMpNSrdjsF1-j47TwHzkg3me4kdrqF21OaDAsKYs1k,93
493
+ zaber_motion-7.12.0.dist-info/top_level.txt,sha256=ypgkPvPad6Oge50CT6unnvxCEliKUB6olL6CUUER1SA,51
494
+ zaber_motion-7.12.0.dist-info/RECORD,,