javonet-nodejs-sdk 2.5.14 → 2.5.16

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 (2014) hide show
  1. package/dist/core/delegatesCache/DelegatesCache.cjs +59 -0
  2. package/dist/core/handler/AbstractHandler.cjs +62 -0
  3. package/dist/core/handler/ArrayGetItemHandler.cjs +61 -0
  4. package/dist/core/handler/ArrayGetRankHandler.cjs +52 -0
  5. package/dist/core/handler/ArrayGetSizeHandler.cjs +52 -0
  6. package/dist/core/handler/ArrayHandler.cjs +41 -0
  7. package/dist/core/handler/ArraySetItemHandler.cjs +62 -0
  8. package/dist/core/handler/CastingHandler.cjs +34 -0
  9. package/dist/core/handler/ConvertTypeHandler.cjs +53 -0
  10. package/dist/core/handler/CreateClassInstanceHandler.cjs +62 -0
  11. package/dist/core/handler/DestructReferenceHandler.cjs +42 -0
  12. package/dist/core/handler/EnableNamespaceHandler.cjs +56 -0
  13. package/dist/core/handler/EnableTypeHandler.cjs +58 -0
  14. package/dist/core/handler/GetGlobalStaticFieldHandler.cjs +62 -0
  15. package/dist/core/handler/GetInstanceFieldHandler.cjs +61 -0
  16. package/dist/core/handler/GetInstanceMethodAsDelegateHandler.cjs +83 -0
  17. package/dist/core/handler/GetStaticFieldHandler.cjs +61 -0
  18. package/dist/core/handler/GetStaticMethodAsDelegateHandler.cjs +85 -0
  19. package/dist/core/handler/GetTypeHandler.cjs +87 -0
  20. package/dist/core/handler/Handler.cjs +136 -0
  21. package/dist/core/handler/InvokeDelegateHandler.cjs +53 -0
  22. package/dist/core/handler/InvokeGlobalFunctionHandler.cjs +62 -0
  23. package/dist/core/handler/InvokeInstanceMethodHandler.cjs +64 -0
  24. package/dist/core/handler/InvokeStaticMethodHandler.cjs +64 -0
  25. package/dist/core/handler/LoadLibraryHandler.cjs +71 -0
  26. package/dist/core/handler/PassDelegateHandler.cjs +164 -0
  27. package/dist/core/handler/ResolveReferenceHandler.cjs +41 -0
  28. package/dist/core/handler/SetGlobalStaticFieldHandler.cjs +63 -0
  29. package/dist/core/handler/SetInstanceFieldHandler.cjs +61 -0
  30. package/dist/core/handler/SetStaticFieldHandler.cjs +59 -0
  31. package/dist/core/handler/ValueHandler.cjs +37 -0
  32. package/dist/core/interpreter/Interpreter.cjs +163 -0
  33. package/dist/core/namespaceCache/NamespaceCache.cjs +61 -0
  34. package/dist/core/protocol/CommandDeserializer.cjs +188 -0
  35. package/dist/core/protocol/CommandSerializer.cjs +64 -0
  36. package/dist/core/protocol/TypeDeserializer.cjs +91 -0
  37. package/dist/core/protocol/TypeSerializer.cjs +153 -0
  38. package/dist/core/receiver/Receiver.cjs +65 -0
  39. package/dist/core/receiver/ReceiverNative.cjs +37 -0
  40. package/dist/core/referenceCache/ReferencesCache.cjs +65 -0
  41. package/dist/core/transmitter/Transmitter.cjs +44 -0
  42. package/dist/core/transmitter/TransmitterWebsocket.cjs +55 -0
  43. package/dist/core/transmitter/TransmitterWebsocketBrowser.cjs +59 -0
  44. package/dist/core/transmitter/TransmitterWrapper.cjs +75 -0
  45. package/dist/core/typeCache/TypeCache.cjs +61 -0
  46. package/dist/core/webSocketClient/WebSocketClient.cjs +150 -0
  47. package/dist/core/webSocketClient/WebSocketClientBrowser.cjs +153 -0
  48. package/dist/sdk/ConfigRuntimeFactory.cjs +209 -0
  49. package/dist/sdk/InvocationContext.cjs +495 -0
  50. package/dist/sdk/Javonet.cjs +150 -0
  51. package/dist/sdk/RuntimeContext.cjs +304 -0
  52. package/dist/sdk/RuntimeFactory.cjs +98 -0
  53. package/dist/sdk/tools/browser/ConfigSourceResolver.cjs +153 -0
  54. package/dist/sdk/tools/browser/SdkExceptionHelper.cjs +37 -0
  55. package/dist/sdk/tools/nodejs/JsonFileResolver.cjs +120 -0
  56. package/dist/sdk/tools/nodejs/SdkExceptionHelper.cjs +100 -0
  57. package/dist/types/core/delegatesCache/DelegatesCache.d.ts +21 -0
  58. package/dist/types/core/handler/AbstractHandler.d.ts +7 -0
  59. package/dist/types/core/handler/ArrayGetItemHandler.d.ts +5 -0
  60. package/dist/types/core/handler/ArrayGetRankHandler.d.ts +5 -0
  61. package/dist/types/core/handler/ArrayGetSizeHandler.d.ts +5 -0
  62. package/dist/types/core/handler/ArrayHandler.d.ts +4 -0
  63. package/dist/types/core/handler/ArraySetItemHandler.d.ts +5 -0
  64. package/dist/types/core/handler/CastingHandler.d.ts +3 -0
  65. package/dist/types/core/handler/ConvertTypeHandler.d.ts +22 -0
  66. package/dist/types/core/handler/CreateClassInstanceHandler.d.ts +5 -0
  67. package/dist/types/core/handler/DestructReferenceHandler.d.ts +4 -0
  68. package/dist/types/core/handler/EnableNamespaceHandler.d.ts +5 -0
  69. package/dist/types/core/handler/EnableTypeHandler.d.ts +5 -0
  70. package/dist/types/core/handler/GetGlobalStaticFieldHandler.d.ts +5 -0
  71. package/dist/types/core/handler/GetInstanceFieldHandler.d.ts +5 -0
  72. package/dist/types/core/handler/GetInstanceMethodAsDelegateHandler.d.ts +38 -0
  73. package/dist/types/core/handler/GetStaticFieldHandler.d.ts +5 -0
  74. package/dist/types/core/handler/GetStaticMethodAsDelegateHandler.d.ts +36 -0
  75. package/dist/types/core/handler/GetTypeHandler.d.ts +16 -0
  76. package/dist/types/core/handler/Handler.d.ts +27 -0
  77. package/dist/types/core/handler/InvokeDelegateHandler.d.ts +15 -0
  78. package/dist/types/core/handler/InvokeGlobalFunctionHandler.d.ts +5 -0
  79. package/dist/types/core/handler/InvokeInstanceMethodHandler.d.ts +5 -0
  80. package/dist/types/core/handler/InvokeStaticMethodHandler.d.ts +5 -0
  81. package/dist/types/core/handler/LoadLibraryHandler.d.ts +7 -0
  82. package/dist/types/core/handler/PassDelegateHandler.d.ts +104 -0
  83. package/dist/types/core/handler/ResolveReferenceHandler.d.ts +12 -0
  84. package/dist/types/core/handler/SetGlobalStaticFieldHandler.d.ts +4 -0
  85. package/dist/types/core/handler/SetInstanceFieldHandler.d.ts +5 -0
  86. package/dist/types/core/handler/SetStaticFieldHandler.d.ts +5 -0
  87. package/dist/types/core/handler/ValueHandler.d.ts +4 -0
  88. package/dist/types/core/interpreter/Interpreter.d.ts +27 -0
  89. package/dist/types/core/namespaceCache/NamespaceCache.d.ts +9 -0
  90. package/dist/types/core/protocol/CommandDeserializer.d.ts +25 -0
  91. package/dist/types/core/protocol/CommandSerializer.d.ts +4 -0
  92. package/dist/types/core/protocol/TypeDeserializer.d.ts +15 -0
  93. package/dist/types/core/protocol/TypeSerializer.d.ts +17 -0
  94. package/dist/types/core/receiver/Receiver.d.ts +14 -0
  95. package/dist/types/core/receiver/ReceiverNative.d.ts +4 -0
  96. package/dist/types/core/referenceCache/ReferencesCache.d.ts +24 -0
  97. package/dist/types/core/transmitter/Transmitter.d.ts +6 -0
  98. package/dist/types/core/transmitter/TransmitterWebsocket.d.ts +21 -0
  99. package/dist/types/core/transmitter/TransmitterWebsocketBrowser.d.ts +30 -0
  100. package/dist/types/core/transmitter/TransmitterWrapper.d.ts +11 -0
  101. package/dist/types/core/typeCache/TypeCache.d.ts +9 -0
  102. package/dist/types/core/webSocketClient/WebSocketClient.d.ts +50 -0
  103. package/dist/types/core/webSocketClient/WebSocketClientBrowser.d.ts +63 -0
  104. package/dist/types/sdk/ConfigRuntimeFactory.d.ts +73 -0
  105. package/dist/types/sdk/InvocationContext.d.ts +207 -0
  106. package/dist/types/sdk/Javonet.d.ts +63 -0
  107. package/dist/types/sdk/RuntimeContext.d.ts +103 -0
  108. package/dist/types/sdk/RuntimeFactory.d.ts +58 -0
  109. package/dist/types/sdk/tools/browser/ConfigSourceResolver.d.ts +46 -0
  110. package/dist/types/sdk/tools/browser/SdkExceptionHelper.d.ts +7 -0
  111. package/dist/types/sdk/tools/nodejs/JsonFileResolver.d.ts +13 -0
  112. package/dist/types/sdk/tools/nodejs/SdkExceptionHelper.d.ts +6 -0
  113. package/dist/types/utils/Command.d.ts +42 -0
  114. package/dist/types/utils/CommandType.d.ts +44 -0
  115. package/dist/types/utils/ConnectionType.d.ts +5 -0
  116. package/dist/types/utils/CustomError.d.ts +3 -0
  117. package/dist/types/utils/ExceptionType.d.ts +10 -0
  118. package/dist/types/utils/Runtime.d.ts +24 -0
  119. package/dist/types/utils/RuntimeLogger.d.ts +5 -0
  120. package/dist/types/utils/RuntimeLoggerBrowser.d.ts +15 -0
  121. package/dist/types/utils/RuntimeName.d.ts +13 -0
  122. package/dist/types/utils/RuntimeNameHandler.d.ts +7 -0
  123. package/dist/types/utils/StringEncodingMode.d.ts +6 -0
  124. package/dist/types/utils/Type.d.ts +14 -0
  125. package/dist/types/utils/connectionData/IConnectionData.d.ts +5 -0
  126. package/dist/types/utils/connectionData/InMemoryConnectionData.d.ts +16 -0
  127. package/dist/types/utils/connectionData/WsConnectionData.d.ts +31 -0
  128. package/dist/types/utils/exception/ExceptionSerializer.d.ts +6 -0
  129. package/dist/types/utils/exception/ExceptionThrower.d.ts +4 -0
  130. package/dist/types/utils/guid/generateGuid.d.ts +1 -0
  131. package/dist/types/utils/nodejs/TypesConverter.d.ts +48 -0
  132. package/dist/types/utils/nodejs/connectionData/TcpConnectionData.d.ts +25 -0
  133. package/dist/types/utils/nodejs/uuid/REGEX.d.ts +1 -0
  134. package/dist/types/utils/nodejs/uuid/rng.d.ts +1 -0
  135. package/dist/types/utils/nodejs/uuid/stringify.d.ts +1 -0
  136. package/dist/types/utils/nodejs/uuid/v4.d.ts +1 -0
  137. package/dist/types/utils/nodejs/uuid/validate.d.ts +1 -0
  138. package/dist/utils/Command.cjs +87 -0
  139. package/dist/utils/CommandType.cjs +74 -0
  140. package/dist/utils/ConnectionType.cjs +35 -0
  141. package/dist/utils/CustomError.cjs +33 -0
  142. package/dist/utils/ExceptionType.cjs +40 -0
  143. package/dist/utils/Runtime.cjs +103 -0
  144. package/dist/utils/RuntimeLogger.cjs +63 -0
  145. package/dist/utils/RuntimeLoggerBrowser.cjs +58 -0
  146. package/dist/utils/RuntimeName.cjs +43 -0
  147. package/dist/utils/RuntimeNameHandler.cjs +62 -0
  148. package/dist/utils/StringEncodingMode.cjs +36 -0
  149. package/dist/utils/Type.cjs +44 -0
  150. package/dist/utils/connectionData/IConnectionData.cjs +38 -0
  151. package/dist/utils/connectionData/InMemoryConnectionData.cjs +52 -0
  152. package/dist/utils/connectionData/WsConnectionData.cjs +61 -0
  153. package/dist/utils/exception/ExceptionSerializer.cjs +82 -0
  154. package/dist/utils/exception/ExceptionThrower.cjs +111 -0
  155. package/dist/utils/guid/generateGuid.cjs +34 -0
  156. package/dist/utils/nodejs/TypesConverter.cjs +102 -0
  157. package/dist/utils/nodejs/connectionData/TcpConnectionData.cjs +111 -0
  158. package/dist/utils/nodejs/uuid/REGEX.cjs +28 -0
  159. package/dist/utils/nodejs/uuid/rng.cjs +47 -0
  160. package/dist/utils/nodejs/uuid/stringify.cjs +39 -0
  161. package/dist/utils/nodejs/uuid/v4.cjs +43 -0
  162. package/dist/utils/nodejs/uuid/validate.cjs +31 -0
  163. package/lib/core/delegatesCache/DelegatesCache.js +37 -0
  164. package/lib/core/handler/AbstractHandler.js +2 -2
  165. package/lib/core/handler/ArrayGetItemHandler.js +2 -2
  166. package/lib/core/handler/ArrayGetRankHandler.js +2 -2
  167. package/lib/core/handler/ArrayGetSizeHandler.js +2 -2
  168. package/lib/core/handler/ArrayHandler.js +2 -2
  169. package/lib/core/handler/ArraySetItemHandler.js +2 -2
  170. package/lib/core/handler/CastingHandler.js +2 -2
  171. package/lib/core/handler/ConvertTypeHandler.js +3 -3
  172. package/lib/core/handler/CreateClassInstanceHandler.js +4 -2
  173. package/lib/core/handler/DestructReferenceHandler.js +3 -3
  174. package/lib/core/handler/EnableNamespaceHandler.js +3 -3
  175. package/lib/core/handler/EnableTypeHandler.js +3 -3
  176. package/lib/core/handler/GetGlobalStaticFieldHandler.js +2 -2
  177. package/lib/core/handler/GetInstanceFieldHandler.js +2 -2
  178. package/lib/core/handler/GetInstanceMethodAsDelegateHandler.js +2 -2
  179. package/lib/core/handler/GetStaticFieldHandler.js +3 -2
  180. package/lib/core/handler/GetStaticMethodAsDelegateHandler.js +2 -3
  181. package/lib/core/handler/GetTypeHandler.js +16 -7
  182. package/lib/core/handler/Handler.js +91 -60
  183. package/lib/core/handler/InvokeDelegateHandler.js +4 -4
  184. package/lib/core/handler/InvokeGlobalFunctionHandler.js +3 -5
  185. package/lib/core/handler/InvokeInstanceMethodHandler.js +2 -2
  186. package/lib/core/handler/InvokeStaticMethodHandler.js +2 -2
  187. package/lib/core/handler/LoadLibraryHandler.js +7 -4
  188. package/lib/core/handler/PassDelegateHandler.js +38 -24
  189. package/lib/core/handler/ResolveReferenceHandler.js +13 -3
  190. package/lib/core/handler/SetGlobalStaticFieldHandler.js +2 -2
  191. package/lib/core/handler/SetInstanceFieldHandler.js +2 -2
  192. package/lib/core/handler/SetStaticFieldHandler.js +2 -2
  193. package/lib/core/handler/ValueHandler.js +2 -2
  194. package/lib/core/interpreter/Interpreter.js +164 -0
  195. package/lib/core/namespaceCache/NamespaceCache.js +1 -1
  196. package/lib/core/protocol/CommandDeserializer.js +180 -0
  197. package/lib/core/protocol/CommandSerializer.js +48 -0
  198. package/lib/core/protocol/TypeDeserializer.js +81 -0
  199. package/lib/core/protocol/TypeSerializer.js +143 -0
  200. package/lib/core/receiver/Receiver.js +17 -8
  201. package/lib/core/receiver/ReceiverNative.js +2 -2
  202. package/lib/core/referenceCache/ReferencesCache.js +27 -4
  203. package/lib/core/transmitter/Transmitter.js +6 -8
  204. package/lib/core/transmitter/TransmitterWebsocket.js +2 -6
  205. package/lib/core/transmitter/TransmitterWebsocketBrowser.js +39 -0
  206. package/lib/core/transmitter/TransmitterWrapper.js +26 -13
  207. package/lib/core/typeCache/TypeCache.js +1 -1
  208. package/lib/core/webSocketClient/WebSocketClient.js +56 -24
  209. package/lib/core/webSocketClient/WebSocketClientBrowser.js +174 -0
  210. package/lib/declarations.d.ts +35 -0
  211. package/lib/sdk/ConfigRuntimeFactory.js +118 -58
  212. package/lib/sdk/InvocationContext.js +487 -0
  213. package/lib/sdk/Javonet.js +64 -30
  214. package/lib/sdk/RuntimeContext.js +289 -0
  215. package/lib/sdk/RuntimeFactory.js +12 -5
  216. package/lib/sdk/tools/browser/ConfigSourceResolver.js +146 -0
  217. package/lib/sdk/tools/browser/SdkExceptionHelper.js +20 -0
  218. package/lib/sdk/tools/nodejs/JsonFileResolver.js +106 -0
  219. package/lib/sdk/tools/nodejs/SdkExceptionHelper.js +89 -0
  220. package/lib/utils/Command.js +67 -0
  221. package/lib/utils/CommandType.js +45 -0
  222. package/lib/utils/ConnectionType.js +6 -0
  223. package/lib/utils/CustomError.js +6 -0
  224. package/lib/utils/ExceptionType.js +13 -0
  225. package/lib/utils/Runtime.js +94 -0
  226. package/lib/utils/RuntimeLogger.js +19 -9
  227. package/lib/utils/RuntimeLoggerBrowser.js +35 -0
  228. package/lib/utils/RuntimeName.js +14 -0
  229. package/lib/utils/RuntimeNameHandler.js +38 -0
  230. package/lib/utils/StringEncodingMode.js +7 -0
  231. package/lib/utils/Type.js +15 -0
  232. package/lib/utils/connectionData/IConnectionData.js +13 -0
  233. package/lib/utils/connectionData/InMemoryConnectionData.js +35 -0
  234. package/lib/utils/connectionData/WsConnectionData.js +48 -0
  235. package/lib/utils/exception/ExceptionSerializer.js +64 -0
  236. package/lib/utils/exception/ExceptionThrower.js +96 -0
  237. package/lib/utils/guid/generateGuid.js +9 -0
  238. package/lib/utils/nodejs/TypesConverter.js +91 -0
  239. package/lib/utils/nodejs/connectionData/TcpConnectionData.js +89 -0
  240. package/lib/utils/nodejs/uuid/REGEX.js +2 -0
  241. package/lib/utils/nodejs/uuid/rng.js +23 -0
  242. package/lib/utils/nodejs/uuid/stringify.js +51 -0
  243. package/lib/utils/nodejs/uuid/v4.js +26 -0
  244. package/lib/utils/nodejs/uuid/validate.js +7 -0
  245. package/package.json +59 -47
  246. package/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  247. package/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  248. package/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  249. package/Binaries/Native/Linux/ARM64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
  250. package/Binaries/Native/Linux/ARM64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
  251. package/Binaries/Native/Linux/ARM64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
  252. package/Binaries/Native/Linux/ARM64/NetVersion80LatestPatch.runtimeconfig.json +0 -10
  253. package/Binaries/Native/Linux/ARM64/NetVersion90LatestPatch.runtimeconfig.json +0 -10
  254. package/Binaries/Native/Linux/ARM64/NetVersionLatest.runtimeconfig.json +0 -10
  255. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/Linux/jni.h +0 -1960
  256. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/Linux/jni_md.h +0 -51
  257. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/MacOs/jni.h +0 -1960
  258. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/MacOs/jni_md.h +0 -51
  259. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/Windows/jni.h +0 -1960
  260. package/Binaries/Native/Linux/ARM64/dynamicCompilationHeaders/Windows/jni_md.h +0 -37
  261. package/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  262. package/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  263. package/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  264. package/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  265. package/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  266. package/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  267. package/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
  268. package/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  269. package/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  270. package/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  271. package/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  272. package/Binaries/Native/Linux/ARM64/libnethost.so +0 -0
  273. package/Binaries/Native/Linux/ARM64/libpython3.12.so.1.0 +0 -0
  274. package/Binaries/Native/Linux/ARM64/version.txt +0 -1
  275. package/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +0 -33
  276. package/Binaries/Native/Linux/X64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
  277. package/Binaries/Native/Linux/X64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
  278. package/Binaries/Native/Linux/X64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
  279. package/Binaries/Native/Linux/X64/NetVersion80LatestPatch.runtimeconfig.json +0 -10
  280. package/Binaries/Native/Linux/X64/NetVersion90LatestPatch.runtimeconfig.json +0 -10
  281. package/Binaries/Native/Linux/X64/NetVersionLatest.runtimeconfig.json +0 -10
  282. package/Binaries/Native/Linux/X64/dynamicCompilationHeaders/Linux/jni.h +0 -1960
  283. package/Binaries/Native/Linux/X64/dynamicCompilationHeaders/Linux/jni_md.h +0 -51
  284. package/Binaries/Native/Linux/X64/dynamicCompilationHeaders/MacOs/jni.h +0 -1960
  285. package/Binaries/Native/Linux/X64/dynamicCompilationHeaders/MacOs/jni_md.h +0 -51
  286. package/Binaries/Native/Linux/X64/dynamicCompilationHeaders/Windows/jni.h +0 -1960
  287. package/Binaries/Native/Linux/X64/dynamicCompilationHeaders/Windows/jni_md.h +0 -37
  288. package/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  289. package/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  290. package/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  291. package/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  292. package/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  293. package/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  294. package/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  295. package/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  296. package/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  297. package/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
  298. package/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  299. package/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  300. package/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  301. package/Binaries/Native/Linux/X64/libUtils.so +0 -0
  302. package/Binaries/Native/Linux/X64/libnethost.so +0 -0
  303. package/Binaries/Native/Linux/X64/libnode.so.108 +0 -0
  304. package/Binaries/Native/Linux/X64/libperl.so.5.30.0 +0 -0
  305. package/Binaries/Native/Linux/X64/libpython3.11.so.1.0 +0 -0
  306. package/Binaries/Native/Linux/X64/libruby.so.2.7.8 +0 -0
  307. package/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
  308. package/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
  309. package/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
  310. package/Binaries/Native/Linux/X64/version.txt +0 -1
  311. package/Binaries/Native/MacOs/X64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
  312. package/Binaries/Native/MacOs/X64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
  313. package/Binaries/Native/MacOs/X64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
  314. package/Binaries/Native/MacOs/X64/NetVersion80LatestPatch.runtimeconfig.json +0 -10
  315. package/Binaries/Native/MacOs/X64/NetVersion90LatestPatch.runtimeconfig.json +0 -10
  316. package/Binaries/Native/MacOs/X64/NetVersionLatest.runtimeconfig.json +0 -10
  317. package/Binaries/Native/MacOs/X64/dynamicCompilationHeaders/Linux/jni.h +0 -1960
  318. package/Binaries/Native/MacOs/X64/dynamicCompilationHeaders/Linux/jni_md.h +0 -51
  319. package/Binaries/Native/MacOs/X64/dynamicCompilationHeaders/MacOs/jni.h +0 -1960
  320. package/Binaries/Native/MacOs/X64/dynamicCompilationHeaders/MacOs/jni_md.h +0 -51
  321. package/Binaries/Native/MacOs/X64/dynamicCompilationHeaders/Windows/jni.h +0 -1960
  322. package/Binaries/Native/MacOs/X64/dynamicCompilationHeaders/Windows/jni_md.h +0 -37
  323. package/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  324. package/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  325. package/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  326. package/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  327. package/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  328. package/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  329. package/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  330. package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  331. package/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  332. package/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
  333. package/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  334. package/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  335. package/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  336. package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  337. package/Binaries/Native/MacOs/X64/libnethost.dylib +0 -0
  338. package/Binaries/Native/MacOs/X64/libnode.108.dylib +0 -0
  339. package/Binaries/Native/MacOs/X64/libpython3.11.dylib +0 -0
  340. package/Binaries/Native/MacOs/X64/libruby.2.7.dylib +0 -0
  341. package/Binaries/Native/MacOs/X64/version.txt +0 -1
  342. package/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  343. package/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  344. package/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  345. package/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  346. package/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  347. package/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  348. package/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  349. package/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  350. package/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  351. package/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  352. package/Binaries/Native/Windows/ARM64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
  353. package/Binaries/Native/Windows/ARM64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
  354. package/Binaries/Native/Windows/ARM64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
  355. package/Binaries/Native/Windows/ARM64/NetVersion80LatestPatch.runtimeconfig.json +0 -10
  356. package/Binaries/Native/Windows/ARM64/NetVersion90LatestPatch.runtimeconfig.json +0 -10
  357. package/Binaries/Native/Windows/ARM64/NetVersionLatest.runtimeconfig.json +0 -10
  358. package/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  359. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/Linux/jni.h +0 -1960
  360. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/Linux/jni_md.h +0 -51
  361. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/MacOs/jni.h +0 -1960
  362. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/MacOs/jni_md.h +0 -51
  363. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/Windows/jni.h +0 -1960
  364. package/Binaries/Native/Windows/ARM64/dynamicCompilationHeaders/Windows/jni_md.h +0 -37
  365. package/Binaries/Native/Windows/ARM64/libcrypto-3-arm64.dll +0 -0
  366. package/Binaries/Native/Windows/ARM64/libssl-3-arm64.dll +0 -0
  367. package/Binaries/Native/Windows/ARM64/libxml2.dll +0 -0
  368. package/Binaries/Native/Windows/ARM64/libxmlsec-openssl.dll +0 -0
  369. package/Binaries/Native/Windows/ARM64/libxmlsec.dll +0 -0
  370. package/Binaries/Native/Windows/ARM64/libxslt.dll +0 -0
  371. package/Binaries/Native/Windows/ARM64/nethost.dll +0 -0
  372. package/Binaries/Native/Windows/ARM64/python312.dll +0 -0
  373. package/Binaries/Native/Windows/ARM64/version.txt +0 -0
  374. package/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  375. package/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  376. package/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  377. package/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  378. package/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  379. package/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  380. package/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  381. package/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  382. package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  383. package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNativeAuxiliary.dll +0 -0
  384. package/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  385. package/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  386. package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  387. package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNativeAuxiliary.dll +0 -0
  388. package/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  389. package/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  390. package/Binaries/Native/Windows/X64/NetVersion31LatestPatch.runtimeconfig.json +0 -10
  391. package/Binaries/Native/Windows/X64/NetVersion60LatestPatch.runtimeconfig.json +0 -10
  392. package/Binaries/Native/Windows/X64/NetVersion70LatestPatch.runtimeconfig.json +0 -10
  393. package/Binaries/Native/Windows/X64/NetVersion80LatestPatch.runtimeconfig.json +0 -10
  394. package/Binaries/Native/Windows/X64/NetVersion90LatestPatch.runtimeconfig.json +0 -10
  395. package/Binaries/Native/Windows/X64/NetVersionLatest.runtimeconfig.json +0 -10
  396. package/Binaries/Native/Windows/X64/Utils.dll +0 -0
  397. package/Binaries/Native/Windows/X64/dynamicCompilationHeaders/Linux/jni.h +0 -1960
  398. package/Binaries/Native/Windows/X64/dynamicCompilationHeaders/Linux/jni_md.h +0 -51
  399. package/Binaries/Native/Windows/X64/dynamicCompilationHeaders/MacOs/jni.h +0 -1960
  400. package/Binaries/Native/Windows/X64/dynamicCompilationHeaders/MacOs/jni_md.h +0 -51
  401. package/Binaries/Native/Windows/X64/dynamicCompilationHeaders/Windows/jni.h +0 -1960
  402. package/Binaries/Native/Windows/X64/dynamicCompilationHeaders/Windows/jni_md.h +0 -37
  403. package/Binaries/Native/Windows/X64/libcrypto-3-x64.dll +0 -0
  404. package/Binaries/Native/Windows/X64/libnode.dll +0 -0
  405. package/Binaries/Native/Windows/X64/libssl-3-x64.dll +0 -0
  406. package/Binaries/Native/Windows/X64/libxml2.dll +0 -0
  407. package/Binaries/Native/Windows/X64/libxmlsec-openssl.dll +0 -0
  408. package/Binaries/Native/Windows/X64/libxmlsec.dll +0 -0
  409. package/Binaries/Native/Windows/X64/libxslt.dll +0 -0
  410. package/Binaries/Native/Windows/X64/nethost.dll +0 -0
  411. package/Binaries/Native/Windows/X64/python312.dll +0 -0
  412. package/Binaries/Native/Windows/X64/version.txt +0 -1
  413. package/Binaries/Native/Windows/X64/x64-msvcrt-ruby270.dll +0 -0
  414. package/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  415. package/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  416. package/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  417. package/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  418. package/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  419. package/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  420. package/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  421. package/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  422. package/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  423. package/Binaries/Native/Windows/X86/NetVersion31LatestPatch.runtimeconfig.json +0 -10
  424. package/Binaries/Native/Windows/X86/NetVersion60LatestPatch.runtimeconfig.json +0 -10
  425. package/Binaries/Native/Windows/X86/NetVersion70LatestPatch.runtimeconfig.json +0 -10
  426. package/Binaries/Native/Windows/X86/NetVersion80LatestPatch.runtimeconfig.json +0 -10
  427. package/Binaries/Native/Windows/X86/NetVersion90LatestPatch.runtimeconfig.json +0 -10
  428. package/Binaries/Native/Windows/X86/NetVersionLatest.runtimeconfig.json +0 -10
  429. package/Binaries/Native/Windows/X86/Utils.dll +0 -0
  430. package/Binaries/Native/Windows/X86/dynamicCompilationHeaders/Linux/jni.h +0 -1960
  431. package/Binaries/Native/Windows/X86/dynamicCompilationHeaders/Linux/jni_md.h +0 -51
  432. package/Binaries/Native/Windows/X86/dynamicCompilationHeaders/MacOs/jni.h +0 -1960
  433. package/Binaries/Native/Windows/X86/dynamicCompilationHeaders/MacOs/jni_md.h +0 -51
  434. package/Binaries/Native/Windows/X86/dynamicCompilationHeaders/Windows/jni.h +0 -1960
  435. package/Binaries/Native/Windows/X86/dynamicCompilationHeaders/Windows/jni_md.h +0 -37
  436. package/Binaries/Native/Windows/X86/libcrypto-3.dll +0 -0
  437. package/Binaries/Native/Windows/X86/libssl-3.dll +0 -0
  438. package/Binaries/Native/Windows/X86/libxml2.dll +0 -0
  439. package/Binaries/Native/Windows/X86/libxmlsec-openssl.dll +0 -0
  440. package/Binaries/Native/Windows/X86/libxmlsec.dll +0 -0
  441. package/Binaries/Native/Windows/X86/libxslt.dll +0 -0
  442. package/Binaries/Native/Windows/X86/nethost.dll +0 -0
  443. package/Binaries/Native/Windows/X86/python312.dll +0 -0
  444. package/Binaries/Native/Windows/X86/version.txt +0 -1
  445. package/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  446. package/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  447. package/Binaries/Nodejs/index.js +0 -66
  448. package/Binaries/Nodejs/lib/core/delegatesCache/DelegatesCache.js +0 -35
  449. package/Binaries/Nodejs/lib/core/handler/AbstractHandler.js +0 -41
  450. package/Binaries/Nodejs/lib/core/handler/ArrayGetItemHandler.js +0 -38
  451. package/Binaries/Nodejs/lib/core/handler/ArrayGetRankHandler.js +0 -28
  452. package/Binaries/Nodejs/lib/core/handler/ArrayGetSizeHandler.js +0 -29
  453. package/Binaries/Nodejs/lib/core/handler/ArrayHandler.js +0 -18
  454. package/Binaries/Nodejs/lib/core/handler/ArraySetItemHandler.js +0 -43
  455. package/Binaries/Nodejs/lib/core/handler/CastingHandler.js +0 -10
  456. package/Binaries/Nodejs/lib/core/handler/ConvertTypeHandler.js +0 -38
  457. package/Binaries/Nodejs/lib/core/handler/CreateClassInstanceHandler.js +0 -36
  458. package/Binaries/Nodejs/lib/core/handler/DestructReferenceHandler.js +0 -19
  459. package/Binaries/Nodejs/lib/core/handler/EnableNamespaceHandler.js +0 -34
  460. package/Binaries/Nodejs/lib/core/handler/EnableTypeHandler.js +0 -35
  461. package/Binaries/Nodejs/lib/core/handler/GetGlobalStaticFieldHandler.js +0 -37
  462. package/Binaries/Nodejs/lib/core/handler/GetInstanceFieldHandler.js +0 -35
  463. package/Binaries/Nodejs/lib/core/handler/GetInstanceMethodAsDelegateHandler.js +0 -73
  464. package/Binaries/Nodejs/lib/core/handler/GetStaticFieldHandler.js +0 -36
  465. package/Binaries/Nodejs/lib/core/handler/GetStaticMethodAsDelegateHandler.js +0 -74
  466. package/Binaries/Nodejs/lib/core/handler/GetTypeHandler.js +0 -63
  467. package/Binaries/Nodejs/lib/core/handler/Handler.js +0 -98
  468. package/Binaries/Nodejs/lib/core/handler/InvokeDelegateHandler.js +0 -36
  469. package/Binaries/Nodejs/lib/core/handler/InvokeGlobalFunctionHandler.js +0 -39
  470. package/Binaries/Nodejs/lib/core/handler/InvokeInstanceMethodHandler.js +0 -38
  471. package/Binaries/Nodejs/lib/core/handler/InvokeStaticMethodHandler.js +0 -38
  472. package/Binaries/Nodejs/lib/core/handler/LoadLibraryHandler.js +0 -48
  473. package/Binaries/Nodejs/lib/core/handler/PassDelegateHandler.js +0 -157
  474. package/Binaries/Nodejs/lib/core/handler/ResolveReferenceHandler.js +0 -13
  475. package/Binaries/Nodejs/lib/core/handler/SetGlobalStaticFieldHandler.js +0 -38
  476. package/Binaries/Nodejs/lib/core/handler/SetInstanceFieldHandler.js +0 -35
  477. package/Binaries/Nodejs/lib/core/handler/SetStaticFieldHandler.js +0 -33
  478. package/Binaries/Nodejs/lib/core/handler/ValueHandler.js +0 -13
  479. package/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +0 -142
  480. package/Binaries/Nodejs/lib/core/namespaceCache/NamespaceCache.js +0 -39
  481. package/Binaries/Nodejs/lib/core/protocol/CommandDeserializer.js +0 -181
  482. package/Binaries/Nodejs/lib/core/protocol/CommandSerializer.js +0 -50
  483. package/Binaries/Nodejs/lib/core/protocol/TypeDeserializer.js +0 -83
  484. package/Binaries/Nodejs/lib/core/protocol/TypeSerializer.js +0 -143
  485. package/Binaries/Nodejs/lib/core/receiver/Receiver.js +0 -32
  486. package/Binaries/Nodejs/lib/core/receiver/ReceiverNative.js +0 -13
  487. package/Binaries/Nodejs/lib/core/referenceCache/ReferencesCache.js +0 -30
  488. package/Binaries/Nodejs/lib/core/transmitter/Transmitter.js +0 -21
  489. package/Binaries/Nodejs/lib/core/transmitter/TransmitterWebsocket.js +0 -33
  490. package/Binaries/Nodejs/lib/core/transmitter/TransmitterWrapper.js +0 -47
  491. package/Binaries/Nodejs/lib/core/typeCache/TypeCache.js +0 -39
  492. package/Binaries/Nodejs/lib/core/webSocketClient/WebSocketClient.js +0 -136
  493. package/Binaries/Nodejs/lib/declarations.d.ts +0 -64
  494. package/Binaries/Nodejs/lib/sdk/ConfigRuntimeFactory.js +0 -145
  495. package/Binaries/Nodejs/lib/sdk/InvocationContext.js +0 -485
  496. package/Binaries/Nodejs/lib/sdk/Javonet.js +0 -105
  497. package/Binaries/Nodejs/lib/sdk/RuntimeContext.js +0 -300
  498. package/Binaries/Nodejs/lib/sdk/RuntimeFactory.js +0 -78
  499. package/Binaries/Nodejs/lib/sdk/tools/JsonFileResolver.js +0 -101
  500. package/Binaries/Nodejs/lib/sdk/tools/SdkExceptionHelper.js +0 -79
  501. package/Binaries/Nodejs/lib/utils/Command.js +0 -69
  502. package/Binaries/Nodejs/lib/utils/CommandType.js +0 -47
  503. package/Binaries/Nodejs/lib/utils/ConnectionType.js +0 -8
  504. package/Binaries/Nodejs/lib/utils/CustomError.js +0 -8
  505. package/Binaries/Nodejs/lib/utils/ExceptionType.js +0 -13
  506. package/Binaries/Nodejs/lib/utils/RuntimeLogger.js +0 -30
  507. package/Binaries/Nodejs/lib/utils/RuntimeName.js +0 -14
  508. package/Binaries/Nodejs/lib/utils/RuntimeNameHandler.js +0 -34
  509. package/Binaries/Nodejs/lib/utils/StringEncodingMode.js +0 -9
  510. package/Binaries/Nodejs/lib/utils/Type.js +0 -17
  511. package/Binaries/Nodejs/lib/utils/TypesConverter.js +0 -91
  512. package/Binaries/Nodejs/lib/utils/connectionData/IConnectionData.js +0 -15
  513. package/Binaries/Nodejs/lib/utils/connectionData/InMemoryConnectionData.js +0 -35
  514. package/Binaries/Nodejs/lib/utils/connectionData/TcpConnectionData.js +0 -77
  515. package/Binaries/Nodejs/lib/utils/connectionData/WsConnectionData.js +0 -50
  516. package/Binaries/Nodejs/lib/utils/exception/ExceptionSerializer.js +0 -64
  517. package/Binaries/Nodejs/lib/utils/exception/ExceptionThrower.js +0 -95
  518. package/Binaries/Nodejs/lib/utils/guid/generateGuid.js +0 -9
  519. package/Binaries/Nodejs/lib/utils/uuid/REGEX.js +0 -2
  520. package/Binaries/Nodejs/lib/utils/uuid/rng.js +0 -12
  521. package/Binaries/Nodejs/lib/utils/uuid/stringify.js +0 -51
  522. package/Binaries/Nodejs/lib/utils/uuid/v4.js +0 -27
  523. package/Binaries/Nodejs/lib/utils/uuid/validate.js +0 -6
  524. package/Binaries/Perl/Linux/X64/deps/bin/config_data +0 -249
  525. package/Binaries/Perl/Linux/X64/deps/bin/moose-outdated +0 -22
  526. package/Binaries/Perl/Linux/X64/deps/bin/package-stash-conflicts +0 -22
  527. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-events +0 -62
  528. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-highlight +0 -54
  529. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load +0 -155
  530. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load-dump +0 -314
  531. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-parse-emit +0 -123
  532. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Attribute/Abstract.pm +0 -74
  533. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Attribute/Alias.pm +0 -75
  534. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Attribute/Memoize.pm +0 -77
  535. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Attribute/Method.pm +0 -151
  536. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Attribute/SigHandler.pm +0 -61
  537. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Attribute/Util.pm +0 -101
  538. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Capture/Tiny.pm +0 -917
  539. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Class/Load/PP.pm +0 -59
  540. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Class/Load.pm +0 -420
  541. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Data/Cmp/Numeric.pm +0 -188
  542. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Data/Cmp/StrOrNumeric.pm +0 -200
  543. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Data/Cmp.pm +0 -278
  544. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Data/OptList.pm +0 -416
  545. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Devel/GlobalDestruction.pm +0 -110
  546. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Devel/OverloadInfo.pm +0 -309
  547. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Devel/StackTrace/Frame.pm +0 -272
  548. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Devel/StackTrace.pm +0 -624
  549. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Eval/Closure.pm +0 -379
  550. package/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config/MakeMaker.pm +0 -141
  551. package/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Config.pm +0 -152
  552. package/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Helpers/Unix.pm +0 -97
  553. package/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Helpers/VMS.pm +0 -118
  554. package/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Helpers/Windows.pm +0 -125
  555. package/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/Helpers.pm +0 -122
  556. package/Binaries/Perl/Linux/X64/deps/lib/perl5/ExtUtils/InstallPaths.pm +0 -627
  557. package/Binaries/Perl/Linux/X64/deps/lib/perl5/FFI/CheckLib.pm +0 -856
  558. package/Binaries/Perl/Linux/X64/deps/lib/perl5/File/Which.pm +0 -398
  559. package/Binaries/Perl/Linux/X64/deps/lib/perl5/IPC/System/Simple.pm +0 -1115
  560. package/Binaries/Perl/Linux/X64/deps/lib/perl5/MRO/Compat.pm +0 -407
  561. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build.pm +0 -1097
  562. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Implementation.pm +0 -290
  563. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Runtime/Conflicts.pm +0 -105
  564. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Runtime.pm +0 -515
  565. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Nice/Try.pm +0 -3257
  566. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Cache.pm +0 -301
  567. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Document/File.pm +0 -136
  568. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Document/Fragment.pm +0 -90
  569. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Document/Normalized.pm +0 -315
  570. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Document.pm +0 -1012
  571. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Dumper.pm +0 -309
  572. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Element.pm +0 -907
  573. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Exception/ParserRejection.pm +0 -10
  574. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Exception.pm +0 -108
  575. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Find.pm +0 -391
  576. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Lexer.pm +0 -1584
  577. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Node.pm +0 -831
  578. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Normal/Standard.pm +0 -139
  579. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Normal.pm +0 -257
  580. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Singletons.pm +0 -92
  581. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Break.pm +0 -75
  582. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Compound.pm +0 -205
  583. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Data.pm +0 -81
  584. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/End.pm +0 -79
  585. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Expression.pm +0 -67
  586. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Given.pm +0 -90
  587. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Include/Perl6.pm +0 -87
  588. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Include.pm +0 -365
  589. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Null.pm +0 -75
  590. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Package.pm +0 -145
  591. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Scheduled.pm +0 -124
  592. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Sub.pm +0 -222
  593. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Unknown.pm +0 -68
  594. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/UnmatchedBrace.pm +0 -80
  595. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Variable.pm +0 -195
  596. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/When.pm +0 -100
  597. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement.pm +0 -344
  598. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Block.pm +0 -82
  599. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Condition.pm +0 -67
  600. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Constructor.pm +0 -62
  601. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/For.pm +0 -77
  602. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Given.pm +0 -63
  603. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/List.pm +0 -87
  604. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Signature.pm +0 -61
  605. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Subscript.pm +0 -68
  606. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Unknown.pm +0 -69
  607. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/When.pm +0 -63
  608. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure.pm +0 -348
  609. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/ArrayIndex.pm +0 -77
  610. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Attribute.pm +0 -176
  611. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/BOM.pm +0 -113
  612. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Cast.pm +0 -87
  613. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Comment.pm +0 -146
  614. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/DashedWord.pm +0 -96
  615. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Data.pm +0 -116
  616. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/End.pm +0 -111
  617. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/HereDoc.pm +0 -338
  618. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Label.pm +0 -58
  619. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Magic.pm +0 -200
  620. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Binary.pm +0 -117
  621. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Exp.pm +0 -146
  622. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Float.pm +0 -140
  623. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Hex.pm +0 -108
  624. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Octal.pm +0 -115
  625. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Version.pm +0 -164
  626. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number.pm +0 -166
  627. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Operator.pm +0 -124
  628. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Pod.pm +0 -159
  629. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Prototype.pm +0 -100
  630. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote/Double.pm +0 -138
  631. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote/Interpolate.pm +0 -76
  632. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote/Literal.pm +0 -81
  633. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote/Single.pm +0 -93
  634. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote.pm +0 -120
  635. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Backtick.pm +0 -62
  636. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Command.pm +0 -62
  637. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Readline.pm +0 -71
  638. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Regexp.pm +0 -126
  639. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Words.pm +0 -88
  640. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike.pm +0 -77
  641. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Regexp/Match.pm +0 -76
  642. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Regexp/Substitute.pm +0 -66
  643. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Regexp/Transliterate.pm +0 -70
  644. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Regexp.pm +0 -136
  645. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Separator.pm +0 -64
  646. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Structure.pm +0 -209
  647. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Symbol.pm +0 -241
  648. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Unknown.pm +0 -506
  649. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Whitespace.pm +0 -454
  650. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Word.pm +0 -375
  651. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/_QuoteEngine/Full.pm +0 -450
  652. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/_QuoteEngine/Simple.pm +0 -67
  653. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/_QuoteEngine.pm +0 -240
  654. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token.pm +0 -245
  655. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Tokenizer.pm +0 -1123
  656. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Transform/UpdateCopyright.pm +0 -179
  657. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Transform.pm +0 -240
  658. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Util.pm +0 -72
  659. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/XSAccessor.pm +0 -165
  660. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI.pm +0 -822
  661. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Package/DeprecationManager.pm +0 -368
  662. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Package/Stash/Conflicts.pm +0 -35
  663. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Package/Stash/PP.pm +0 -503
  664. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Package/Stash.pm +0 -308
  665. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Path/Tiny.pm +0 -3946
  666. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Safe/Isa.pm +0 -213
  667. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Scope/Guard.pm +0 -183
  668. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Cookbook.pod +0 -602
  669. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Progressive.pm +0 -174
  670. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Tutorial.pod +0 -539
  671. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Util.pm +0 -488
  672. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter.pm +0 -1769
  673. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Install.pm +0 -486
  674. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Task/Weaken.pm +0 -95
  675. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Test/Fatal.pm +0 -477
  676. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Try/Tiny.pm +0 -820
  677. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Common.pm +0 -273
  678. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Constructor.pm +0 -435
  679. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Dumper.pm +0 -283
  680. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Emitter.pm +0 -1165
  681. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Exception.pm +0 -79
  682. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Grammar.pm +0 -2150
  683. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Highlight.pm +0 -235
  684. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Lexer.pm +0 -962
  685. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Loader.pm +0 -103
  686. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Parser.pm +0 -1469
  687. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Perl.pm +0 -83
  688. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Reader.pm +0 -78
  689. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Render.pm +0 -155
  690. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Representer.pm +0 -230
  691. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +0 -102
  692. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +0 -76
  693. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +0 -155
  694. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +0 -71
  695. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +0 -259
  696. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +0 -259
  697. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +0 -109
  698. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +0 -1004
  699. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +0 -156
  700. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +0 -249
  701. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema.pm +0 -447
  702. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +0 -40
  703. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +0 -104
  704. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer.pm +0 -89
  705. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP.pm +0 -1547
  706. package/Binaries/Perl/Linux/X64/deps/lib/perl5/aliased.pm +0 -371
  707. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/MYMETA.json +0 -43
  708. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/install.json +0 -1
  709. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.50/MYMETA.json +0 -124
  710. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.50/install.json +0 -1
  711. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/MYMETA.json +0 -1290
  712. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/install.json +0 -1
  713. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/MYMETA.json +0 -1222
  714. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/install.json +0 -1
  715. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.47/MYMETA.json +0 -54
  716. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.47/install.json +0 -1
  717. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/MYMETA.json +0 -591
  718. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/install.json +0 -1
  719. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/MYMETA.json +0 -570
  720. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/install.json +0 -1
  721. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.227/MYMETA.json +0 -50
  722. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.227/install.json +0 -1
  723. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/MYMETA.json +0 -65
  724. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/install.json +0 -1
  725. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/MYMETA.json +0 -73
  726. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/install.json +0 -1
  727. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.05/MYMETA.json +0 -1081
  728. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.05/install.json +0 -1
  729. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/MYMETA.json +0 -463
  730. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/install.json +0 -1
  731. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/MYMETA.json +0 -599
  732. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/install.json +0 -1
  733. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.010/MYMETA.json +0 -79
  734. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.010/install.json +0 -1
  735. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.028/MYMETA.json +0 -89
  736. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.028/install.json +0 -1
  737. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.014/MYMETA.json +0 -76
  738. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.014/install.json +0 -1
  739. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/MYMETA.json +0 -156
  740. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/install.json +0 -1
  741. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.10/MYMETA.json +0 -198
  742. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.10/install.json +0 -1
  743. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/MYMETA.json +0 -81
  744. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/install.json +0 -1
  745. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/MYMETA.json +0 -69
  746. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/install.json +0 -1
  747. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/MYMETA.json +0 -66
  748. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/install.json +0 -1
  749. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/MYMETA.json +0 -161
  750. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/install.json +0 -1
  751. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.051/MYMETA.json +0 -122
  752. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.051/install.json +0 -1
  753. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/MYMETA.json +0 -625
  754. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/install.json +0 -1
  755. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/MYMETA.json +0 -62
  756. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/install.json +0 -1
  757. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/MYMETA.json +0 -1162
  758. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/install.json +0 -1
  759. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2207/MYMETA.json +0 -3189
  760. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2207/install.json +0 -1
  761. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.15/MYMETA.json +0 -68
  762. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.15/install.json +0 -1
  763. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.281/MYMETA.json +0 -1115
  764. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.281/install.json +0 -1
  765. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/MYMETA.json +0 -1045
  766. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/install.json +0 -1
  767. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/MYMETA.json +0 -1069
  768. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/install.json +0 -1
  769. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/MYMETA.json +0 -1371
  770. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/install.json +0 -1
  771. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/MYMETA.json +0 -1331
  772. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/install.json +0 -1
  773. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/MYMETA.json +0 -89
  774. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/install.json +0 -1
  775. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.148/MYMETA.json +0 -186
  776. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.148/install.json +0 -1
  777. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Safe-Isa-1.000010/MYMETA.json +0 -64
  778. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Safe-Isa-1.000010/install.json +0 -1
  779. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.68/MYMETA.json +0 -58
  780. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.68/install.json +0 -1
  781. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/MYMETA.json +0 -50
  782. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/install.json +0 -1
  783. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/MYMETA.json +0 -53
  784. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/install.json +0 -1
  785. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.991/MYMETA.json +0 -595
  786. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.991/install.json +0 -1
  787. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/MYMETA.json +0 -55
  788. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/install.json +0 -1
  789. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/MYMETA.json +0 -572
  790. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/install.json +0 -1
  791. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/MYMETA.json +0 -1092
  792. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/install.json +0 -1
  793. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/MYMETA.json +0 -598
  794. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/install.json +0 -1
  795. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.32/MYMETA.json +0 -1344
  796. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.32/install.json +0 -1
  797. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/MYMETA.json +0 -40
  798. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/install.json +0 -1
  799. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.39.0/MYMETA.json +0 -222
  800. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.39.0/install.json +0 -1
  801. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/MYMETA.json +0 -1035
  802. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/install.json +0 -1
  803. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.2/MYMETA.json +0 -53
  804. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.2/install.json +0 -1
  805. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/Load/XS.pm +0 -89
  806. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Attribute.pm +0 -1100
  807. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Class/Immutable/Trait.pm +0 -172
  808. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Class.pm +0 -2312
  809. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Deprecated.pm +0 -95
  810. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Instance.pm +0 -533
  811. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Accessor.pm +0 -404
  812. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Constructor.pm +0 -251
  813. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Generated.pm +0 -142
  814. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Inlined.pm +0 -191
  815. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Meta.pm +0 -169
  816. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method/Wrapped.pm +0 -333
  817. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Method.pm +0 -356
  818. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/MiniTrait.pm +0 -113
  819. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Mixin/AttributeCore.pm +0 -125
  820. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Mixin/HasAttributes.pm +0 -171
  821. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Mixin/HasMethods.pm +0 -304
  822. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Mixin/HasOverloads.pm +0 -243
  823. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Mixin.pm +0 -107
  824. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Module.pm +0 -209
  825. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Object.pm +0 -196
  826. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Overload.pm +0 -340
  827. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP/Package.pm +0 -460
  828. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Class/MOP.pm +0 -1222
  829. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Clone.pm +0 -99
  830. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Data/UUID.pm +0 -158
  831. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Build.pm +0 -634
  832. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/API.pm +0 -293
  833. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Buffer.pm +0 -366
  834. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Bundle.pm +0 -795
  835. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Closure.pm +0 -199
  836. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Constant.pm +0 -246
  837. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/DL.pm +0 -231
  838. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Function.pm +0 -229
  839. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Internal.pm +0 -96
  840. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Lang/ASM.pm +0 -126
  841. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Lang/C.pm +0 -123
  842. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Lang/Win32.pm +0 -457
  843. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Lang.pm +0 -141
  844. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Legacy.pm +0 -140
  845. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Memory.pm +0 -268
  846. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Record/Meta.pm +0 -148
  847. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Record/TieArray.pm +0 -174
  848. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Record.pm +0 -575
  849. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/ShareConfig.pm +0 -122
  850. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type/PointerSizeBuffer.pm +0 -162
  851. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type/StringArray.pm +0 -272
  852. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type/StringPointer.pm +0 -190
  853. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type/WideString.pm +0 -529
  854. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type.pm +0 -1399
  855. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/TypeParser/Version0.pm +0 -285
  856. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/TypeParser/Version1.pm +0 -390
  857. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/TypeParser/Version2.pm +0 -115
  858. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/TypeParser.pm +0 -183
  859. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus.pm +0 -3302
  860. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Probe/Runner/Builder.pm +0 -538
  861. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Probe/Runner/Result.pm +0 -134
  862. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Probe/Runner.pm +0 -204
  863. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Probe.pm +0 -715
  864. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Temp.pm +0 -147
  865. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/typemap +0 -46
  866. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util/XS.pm +0 -42
  867. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util.pm +0 -836
  868. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Conflicts.pm +0 -132
  869. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/BankAccount_MethodModifiersAndSubclassing.pod +0 -384
  870. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/BinaryTree_AttributeFeatures.pod +0 -397
  871. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/BinaryTree_BuilderAndLazyBuild.pod +0 -176
  872. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/Company_Subtypes.pod +0 -615
  873. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/DateTime_ExtendingNonMooseParent.pod +0 -127
  874. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/Document_AugmentAndInner.pod +0 -197
  875. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/Genome_OverloadingSubtypesAndCoercion.pod +0 -318
  876. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/HTTP_SubtypesAndCoercion.pod +0 -345
  877. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/Immutable.pod +0 -99
  878. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/Person_BUILDARGSAndBUILD.pod +0 -180
  879. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Basics/Point_AttributesAndSubclassing.pod +0 -489
  880. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Extending/Debugging_BaseClassRole.pod +0 -153
  881. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Extending/ExtensionOverview.pod +0 -404
  882. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Extending/Mooseish_MooseSugar.pod +0 -160
  883. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Legacy/Debugging_BaseClassReplacement.pod +0 -172
  884. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Legacy/Labeled_AttributeMetaclass.pod +0 -337
  885. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Legacy/Table_ClassMetaclass.pod +0 -132
  886. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Meta/GlobRef_InstanceMetaclass.pod +0 -304
  887. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Meta/Labeled_AttributeTrait.pod +0 -325
  888. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Meta/PrivateOrPublic_MethodMetaclass.pod +0 -224
  889. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Meta/Table_MetaclassTrait.pod +0 -157
  890. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Meta/WhyMeta.pod +0 -117
  891. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Roles/ApplicationToInstance.pod +0 -191
  892. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Roles/Comparable_CodeReuse.pod +0 -379
  893. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Roles/Restartable_AdvancedComposition.pod +0 -230
  894. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Snack/Keywords.pod +0 -240
  895. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Snack/Types.pod +0 -130
  896. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook/Style.pod +0 -77
  897. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Cookbook.pod +0 -289
  898. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Deprecated.pm +0 -98
  899. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AccessorMustReadWrite.pm +0 -14
  900. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AddParameterizableTypeTakesParameterizableType.pm +0 -19
  901. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AddRoleTakesAMooseMetaRoleInstance.pm +0 -19
  902. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AddRoleToARoleTakesAMooseMetaRole.pm +0 -19
  903. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ApplyTakesABlessedInstance.pm +0 -19
  904. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AttachToClassNeedsAClassMOPClassInstanceOrASubclass.pm +0 -19
  905. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AttributeConflictInRoles.pm +0 -32
  906. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AttributeConflictInSummation.pm +0 -28
  907. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AttributeExtensionIsNotSupportedInRoles.pm +0 -19
  908. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AttributeIsRequired.pm +0 -45
  909. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AttributeMustBeAnClassMOPMixinAttributeCoreOrSubclass.pm +0 -19
  910. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AttributeNamesDoNotMatch.pm +0 -25
  911. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AttributeValueIsNotAnObject.pm +0 -28
  912. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AttributeValueIsNotDefined.pm +0 -22
  913. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/AutoDeRefNeedsArrayRefOrHashRef.pm +0 -14
  914. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/BadOptionFormat.pm +0 -25
  915. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/BothBuilderAndDefaultAreNotAllowed.pm +0 -19
  916. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/BuilderDoesNotExist.pm +0 -14
  917. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/BuilderMethodNotSupportedForAttribute.pm +0 -14
  918. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/BuilderMethodNotSupportedForInlineAttribute.pm +0 -26
  919. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/BuilderMustBeAMethodName.pm +0 -19
  920. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CallingMethodOnAnImmutableInstance.pm +0 -19
  921. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CallingReadOnlyMethodOnAnImmutableInstance.pm +0 -19
  922. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CanExtendOnlyClasses.pm +0 -15
  923. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CanOnlyConsumeRole.pm +0 -18
  924. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CanOnlyWrapBlessedCode.pm +0 -25
  925. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CanReblessOnlyIntoASubclass.pm +0 -15
  926. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CanReblessOnlyIntoASuperclass.pm +0 -14
  927. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotAddAdditionalTypeCoercionsToUnion.pm +0 -18
  928. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotAddAsAnAttributeToARole.pm +0 -20
  929. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotApplyBaseClassRolesToRole.pm +0 -13
  930. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotAssignValueToReadOnlyAccessor.pm +0 -20
  931. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotAugmentIfLocalMethodPresent.pm +0 -13
  932. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotAugmentNoSuperMethod.pm +0 -26
  933. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotAutoDerefWithoutIsa.pm +0 -14
  934. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotAutoDereferenceTypeConstraint.pm +0 -14
  935. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotCalculateNativeType.pm +0 -14
  936. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotCallAnAbstractBaseMethod.pm +0 -19
  937. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotCallAnAbstractMethod.pm +0 -12
  938. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotCoerceAWeakRef.pm +0 -14
  939. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotCoerceAttributeWhichHasNoCoercion.pm +0 -17
  940. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotCreateHigherOrderTypeWithoutATypeParameter.pm +0 -13
  941. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotCreateMethodAliasLocalMethodIsPresent.pm +0 -25
  942. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotCreateMethodAliasLocalMethodIsPresentInClass.pm +0 -19
  943. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotDelegateLocalMethodIsPresent.pm +0 -14
  944. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotDelegateWithoutIsa.pm +0 -13
  945. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotFindDelegateMetaclass.pm +0 -14
  946. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotFindType.pm +0 -19
  947. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotFindTypeGivenToMatchOnType.pm +0 -33
  948. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotFixMetaclassCompatibility.pm +0 -26
  949. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotGenerateInlineConstraint.pm +0 -30
  950. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotInitializeMooseMetaRoleComposite.pm +0 -30
  951. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotInlineTypeConstraintCheck.pm +0 -14
  952. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotLocatePackageInINC.pm +0 -41
  953. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotMakeMetaclassCompatible.pm +0 -23
  954. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotOverrideALocalMethod.pm +0 -20
  955. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotOverrideBodyOfMetaMethods.pm +0 -19
  956. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotOverrideLocalMethodIsPresent.pm +0 -13
  957. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotOverrideNoSuperMethod.pm +0 -26
  958. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotRegisterUnnamedTypeConstraint.pm +0 -12
  959. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CannotUseLazyBuildAndDefaultSimultaneously.pm +0 -14
  960. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CircularReferenceInAlso.pm +0 -31
  961. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ClassDoesNotHaveInitMeta.pm +0 -22
  962. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ClassDoesTheExcludedRole.pm +0 -22
  963. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ClassNamesDoNotMatch.pm +0 -25
  964. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CloneObjectExpectsAnInstanceOfMetaclass.pm +0 -20
  965. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CodeBlockMustBeACodeRef.pm +0 -13
  966. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CoercingWithoutCoercions.pm +0 -12
  967. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CoercionAlreadyExists.pm +0 -20
  968. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CoercionNeedsTypeConstraint.pm +0 -14
  969. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ConflictDetectedInCheckRoleExclusions.pm +0 -22
  970. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ConflictDetectedInCheckRoleExclusionsInToClass.pm +0 -16
  971. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ConstructClassInstanceTakesPackageName.pm +0 -12
  972. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CouldNotCreateMethod.pm +0 -32
  973. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CouldNotCreateWriter.pm +0 -24
  974. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CouldNotEvalConstructor.pm +0 -34
  975. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CouldNotEvalDestructor.pm +0 -34
  976. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CouldNotFindTypeConstraintToCoerceFrom.pm +0 -20
  977. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CouldNotGenerateInlineAttributeMethod.pm +0 -26
  978. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CouldNotLocateTypeConstraintForUnion.pm +0 -14
  979. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CouldNotParseType.pm +0 -30
  980. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CreateMOPClassTakesArrayRefOfAttributes.pm +0 -13
  981. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CreateMOPClassTakesArrayRefOfSuperclasses.pm +0 -13
  982. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CreateMOPClassTakesHashRefOfMethods.pm +0 -13
  983. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CreateTakesArrayRefOfRoles.pm +0 -13
  984. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CreateTakesHashRefOfAttributes.pm +0 -13
  985. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/CreateTakesHashRefOfMethods.pm +0 -13
  986. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/DefaultToMatchOnTypeMustBeCodeRef.pm +0 -33
  987. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/DelegationToAClassWhichIsNotLoaded.pm +0 -20
  988. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/DelegationToARoleWhichIsNotLoaded.pm +0 -20
  989. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/DelegationToATypeWhichIsNotAClass.pm +0 -14
  990. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/DoesRequiresRoleName.pm +0 -13
  991. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/EnumCalledWithAnArrayRefAndAdditionalArgs.pm +0 -24
  992. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/EnumValuesMustBeString.pm +0 -26
  993. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ExtendsMissingArgs.pm +0 -13
  994. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/HandlesMustBeAHashRef.pm +0 -20
  995. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/IllegalInheritedOptions.pm +0 -23
  996. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/IllegalMethodTypeToAddMethodModifier.pm +0 -31
  997. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/IncompatibleMetaclassOfSuperclass.pm +0 -27
  998. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InitMetaRequiresClass.pm +0 -13
  999. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InitializeTakesUnBlessedPackageName.pm +0 -18
  1000. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InstanceBlessedIntoWrongClass.pm +0 -14
  1001. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InstanceMustBeABlessedReference.pm +0 -20
  1002. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidArgPassedToMooseUtilMetaRole.pm +0 -41
  1003. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidArgumentToMethod.pm +0 -45
  1004. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidArgumentsToTraitAliases.pm +0 -32
  1005. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidBaseTypeGivenToCreateParameterizedTypeConstraint.pm +0 -14
  1006. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidHandleValue.pm +0 -20
  1007. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidHasProvidedInARole.pm +0 -19
  1008. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidNameForType.pm +0 -17
  1009. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidOverloadOperator.pm +0 -21
  1010. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidRoleApplication.pm +0 -19
  1011. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidTypeConstraint.pm +0 -24
  1012. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidTypeGivenToCreateParameterizedTypeConstraint.pm +0 -14
  1013. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/InvalidValueForIs.pm +0 -14
  1014. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/IsaDoesNotDoTheRole.pm +0 -14
  1015. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/IsaLacksDoesMethod.pm +0 -14
  1016. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/LazyAttributeNeedsADefault.pm +0 -14
  1017. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Legacy.pm +0 -8
  1018. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MOPAttributeNewNeedsAttributeName.pm +0 -19
  1019. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MatchActionMustBeACodeRef.pm +0 -28
  1020. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MessageParameterMustBeCodeRef.pm +0 -19
  1021. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MetaclassIsAClassNotASubclassOfGivenMetaclass.pm +0 -24
  1022. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MetaclassIsARoleNotASubclassOfGivenMetaclass.pm +0 -26
  1023. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MetaclassIsNotASubclassOfGivenMetaclass.pm +0 -23
  1024. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MetaclassMustBeASubclassOfMooseMetaClass.pm +0 -14
  1025. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MetaclassMustBeASubclassOfMooseMetaRole.pm +0 -14
  1026. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MetaclassMustBeDerivedFromClassMOPClass.pm +0 -19
  1027. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MetaclassNotLoaded.pm +0 -14
  1028. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MetaclassTypeIncompatible.pm +0 -39
  1029. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MethodExpectedAMetaclassObject.pm +0 -24
  1030. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MethodExpectsFewerArgs.pm +0 -27
  1031. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MethodExpectsMoreArgs.pm +0 -25
  1032. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MethodModifierNeedsMethodName.pm +0 -13
  1033. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MethodNameConflictInRoles.pm +0 -47
  1034. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MethodNameNotFoundInInheritanceHierarchy.pm +0 -20
  1035. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MethodNameNotGiven.pm +0 -13
  1036. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustDefineAMethodName.pm +0 -13
  1037. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustDefineAnAttributeName.pm +0 -13
  1038. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustDefineAnOverloadOperator.pm +0 -13
  1039. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustHaveAtLeastOneValueToEnumerate.pm +0 -19
  1040. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustPassAHashOfOptions.pm +0 -19
  1041. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustPassAMooseMetaRoleInstanceOrSubclass.pm +0 -24
  1042. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustPassAPackageNameOrAnExistingClassMOPPackageInstance.pm +0 -19
  1043. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustPassEvenNumberOfArguments.pm +0 -25
  1044. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustPassEvenNumberOfAttributeOptions.pm +0 -24
  1045. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustProvideANameForTheAttribute.pm +0 -19
  1046. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSpecifyAtleastOneMethod.pm +0 -13
  1047. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSpecifyAtleastOneRole.pm +0 -13
  1048. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSpecifyAtleastOneRoleToApplicant.pm +0 -19
  1049. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSupplyAClassMOPAttributeInstance.pm +0 -19
  1050. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSupplyADelegateToMethod.pm +0 -19
  1051. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSupplyAMetaclass.pm +0 -20
  1052. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSupplyAMooseMetaAttributeInstance.pm +0 -19
  1053. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSupplyAnAccessorTypeToConstructWith.pm +0 -19
  1054. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSupplyAnAttributeToConstructWith.pm +0 -19
  1055. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSupplyArrayRefAsCurriedArguments.pm +0 -13
  1056. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/MustSupplyPackageNameAndName.pm +0 -20
  1057. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NeedsTypeConstraintUnionForTypeCoercionUnion.pm +0 -25
  1058. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NeitherAttributeNorAttributeNameIsGiven.pm +0 -12
  1059. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NeitherClassNorClassNameIsGiven.pm +0 -12
  1060. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NeitherRoleNorRoleNameIsGiven.pm +0 -12
  1061. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NeitherTypeNorTypeNameIsGiven.pm +0 -12
  1062. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NoAttributeFoundInSuperClass.pm +0 -14
  1063. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NoBodyToInitializeInAnAbstractBaseClass.pm +0 -19
  1064. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NoCasesMatched.pm +0 -27
  1065. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NoConstraintCheckForTypeConstraint.pm +0 -14
  1066. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NoDestructorClassSpecified.pm +0 -13
  1067. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NoImmutableTraitSpecifiedForClass.pm +0 -17
  1068. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/NoParentGivenToSubtype.pm +0 -18
  1069. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OnlyInstancesCanBeCloned.pm +0 -20
  1070. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OperatorIsRequired.pm +0 -19
  1071. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OverloadConflictInSummation.pm +0 -62
  1072. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OverloadRequiresAMetaClass.pm +0 -13
  1073. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OverloadRequiresAMetaMethod.pm +0 -13
  1074. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OverloadRequiresAMetaOverload.pm +0 -13
  1075. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OverloadRequiresAMethodNameOrCoderef.pm +0 -13
  1076. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OverloadRequiresAnOperator.pm +0 -13
  1077. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OverloadRequiresNamesForCoderef.pm +0 -13
  1078. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OverrideConflictInComposition.pm +0 -43
  1079. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/OverrideConflictInSummation.pm +0 -66
  1080. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/PackageDoesNotUseMooseExporter.pm +0 -28
  1081. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/PackageNameAndNameParamsNotGivenToWrap.pm +0 -25
  1082. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/PackagesAndModulesAreNotCachable.pm +0 -26
  1083. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ParameterIsNotSubtypeOfParent.pm +0 -26
  1084. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ReferencesAreNotAllowedAsDefault.pm +0 -27
  1085. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RequiredAttributeLacksInitialization.pm +0 -19
  1086. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RequiredAttributeNeedsADefault.pm +0 -14
  1087. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RequiredMethodsImportedByClass.pm +0 -46
  1088. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RequiredMethodsNotImplementedByClass.pm +0 -31
  1089. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/Attribute.pm +0 -12
  1090. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/AttributeName.pm +0 -12
  1091. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/Class.pm +0 -14
  1092. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/EitherAttributeOrAttributeName.pm +0 -49
  1093. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/Instance.pm +0 -12
  1094. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/InstanceClass.pm +0 -12
  1095. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/InvalidAttributeOptions.pm +0 -13
  1096. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/Method.pm +0 -12
  1097. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/ParamsHash.pm +0 -12
  1098. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/Role.pm +0 -16
  1099. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/RoleForCreate.pm +0 -13
  1100. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/RoleForCreateMOPClass.pm +0 -13
  1101. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/Role/TypeConstraint.pm +0 -14
  1102. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RoleDoesTheExcludedRole.pm +0 -28
  1103. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RoleExclusionConflict.pm +0 -27
  1104. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RoleNameRequired.pm +0 -13
  1105. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RoleNameRequiredForMooseMetaRole.pm +0 -13
  1106. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RolesDoNotSupportAugment.pm +0 -12
  1107. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RolesDoNotSupportExtends.pm +0 -12
  1108. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RolesDoNotSupportInner.pm +0 -12
  1109. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RolesDoNotSupportRegexReferencesForMethodModifiers.pm +0 -20
  1110. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RolesInCreateTakesAnArrayRef.pm +0 -14
  1111. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/RolesListMustBeInstancesOfMooseMetaRole.pm +0 -26
  1112. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/SingleParamsToNewMustBeHashRef.pm +0 -12
  1113. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/TriggerMustBeACodeRef.pm +0 -14
  1114. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/TypeConstraintCannotBeUsedForAParameterizableType.pm +0 -25
  1115. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/TypeConstraintIsAlreadyCreated.pm +0 -26
  1116. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/TypeParameterMustBeMooseMetaType.pm +0 -13
  1117. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/UnableToCanonicalizeHandles.pm +0 -20
  1118. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/UnableToCanonicalizeNonRolePackage.pm +0 -20
  1119. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/UnableToRecognizeDelegateMetaclass.pm +0 -22
  1120. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/UndefinedHashKeysPassedToMethod.pm +0 -25
  1121. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/UnionCalledWithAnArrayRefAndAdditionalArgs.pm +0 -24
  1122. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/UnionTakesAtleastTwoTypeNames.pm +0 -12
  1123. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ValidationFailedForInlineTypeConstraint.pm +0 -49
  1124. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/ValidationFailedForTypeConstraint.pm +0 -33
  1125. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/WrapTakesACodeRefToBless.pm +0 -26
  1126. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception/WrongTypeConstraintGiven.pm +0 -21
  1127. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exception.pm +0 -211
  1128. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Exporter.pm +0 -1048
  1129. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Intro.pod +0 -77
  1130. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Attributes.pod +0 -709
  1131. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/BestPractices.pod +0 -292
  1132. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Classes.pod +0 -218
  1133. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Concepts.pod +0 -439
  1134. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Construction.pod +0 -228
  1135. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Contributing.pod +0 -545
  1136. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Delegation.pod +0 -313
  1137. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Delta.pod +0 -1275
  1138. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Exceptions/Manifest.pod +0 -4124
  1139. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Exceptions.pod +0 -239
  1140. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/FAQ.pod +0 -470
  1141. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/MOP.pod +0 -214
  1142. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/MethodModifiers.pod +0 -449
  1143. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/MooseX.pod +0 -326
  1144. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Resources.pod +0 -526
  1145. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Roles.pod +0 -557
  1146. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Support.pod +0 -204
  1147. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Types.pod +0 -501
  1148. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual/Unsweetened.pod +0 -386
  1149. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Manual.pod +0 -334
  1150. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute/Native/Trait/Array.pm +0 -387
  1151. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute/Native/Trait/Bool.pm +0 -146
  1152. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute/Native/Trait/Code.pm +0 -129
  1153. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute/Native/Trait/Counter.pm +0 -157
  1154. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute/Native/Trait/Hash.pm +0 -227
  1155. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute/Native/Trait/Number.pm +0 -155
  1156. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute/Native/Trait/String.pm +0 -187
  1157. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute/Native/Trait.pm +0 -244
  1158. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute/Native.pm +0 -299
  1159. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Attribute.pm +0 -1810
  1160. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Class/Immutable/Trait.pm +0 -123
  1161. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Class.pm +0 -1014
  1162. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Instance.pm +0 -109
  1163. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/Writer.pm +0 -27
  1164. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/accessor.pm +0 -56
  1165. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/clear.pm +0 -28
  1166. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/count.pm +0 -22
  1167. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/delete.pm +0 -50
  1168. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/elements.pm +0 -22
  1169. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/first.pm +0 -42
  1170. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/first_index.pm +0 -51
  1171. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/get.pm +0 -31
  1172. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/grep.pm +0 -41
  1173. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/insert.pm +0 -58
  1174. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/is_empty.pm +0 -22
  1175. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/join.pm +0 -41
  1176. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/map.pm +0 -41
  1177. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/natatime.pm +0 -66
  1178. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/pop.pm +0 -47
  1179. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/push.pm +0 -36
  1180. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/reduce.pm +0 -42
  1181. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/set.pm +0 -64
  1182. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/shallow_clone.pm +0 -26
  1183. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/shift.pm +0 -47
  1184. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/shuffle.pm +0 -24
  1185. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/sort.pm +0 -44
  1186. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/sort_in_place.pm +0 -45
  1187. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/splice.pm +0 -72
  1188. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/uniq.pm +0 -24
  1189. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array/unshift.pm +0 -36
  1190. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Array.pm +0 -28
  1191. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Bool/not.pm +0 -20
  1192. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Bool/set.pm +0 -24
  1193. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Bool/toggle.pm +0 -29
  1194. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Bool/unset.pm +0 -24
  1195. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Code/execute.pm +0 -20
  1196. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Code/execute_method.pm +0 -20
  1197. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Collection.pm +0 -167
  1198. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Counter/Writer.pm +0 -24
  1199. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Counter/dec.pm +0 -30
  1200. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Counter/inc.pm +0 -30
  1201. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Counter/reset.pm +0 -36
  1202. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Counter/set.pm +0 -25
  1203. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/Writer.pm +0 -41
  1204. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/accessor.pm +0 -61
  1205. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/clear.pm +0 -37
  1206. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/count.pm +0 -22
  1207. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/defined.pm +0 -31
  1208. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/delete.pm +0 -46
  1209. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/elements.pm +0 -23
  1210. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/exists.pm +0 -31
  1211. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/get.pm +0 -35
  1212. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/is_empty.pm +0 -22
  1213. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/keys.pm +0 -22
  1214. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/kv.pm +0 -23
  1215. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/set.pm +0 -99
  1216. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/shallow_clone.pm +0 -26
  1217. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash/values.pm +0 -22
  1218. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Hash.pm +0 -28
  1219. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Number/abs.pm +0 -29
  1220. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Number/add.pm +0 -31
  1221. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Number/div.pm +0 -31
  1222. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Number/mod.pm +0 -31
  1223. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Number/mul.pm +0 -31
  1224. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Number/set.pm +0 -25
  1225. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Number/sub.pm +0 -31
  1226. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Reader.pm +0 -47
  1227. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/append.pm +0 -31
  1228. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/chomp.pm +0 -40
  1229. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/chop.pm +0 -40
  1230. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/clear.pm +0 -24
  1231. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/inc.pm +0 -33
  1232. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/length.pm +0 -22
  1233. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/match.pm +0 -42
  1234. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/prepend.pm +0 -31
  1235. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/replace.pm +0 -69
  1236. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/String/substr.pm +0 -123
  1237. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native/Writer.pm +0 -174
  1238. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor/Native.pm +0 -157
  1239. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Accessor.pm +0 -208
  1240. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Augmented.pm +0 -171
  1241. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Constructor.pm +0 -145
  1242. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Delegation.pm +0 -307
  1243. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Destructor.pm +0 -251
  1244. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Meta.pm +0 -112
  1245. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method/Overridden.pm +0 -160
  1246. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Method.pm +0 -100
  1247. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Mixin/AttributeCore.pm +0 -185
  1248. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Object/Trait.pm +0 -107
  1249. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Application/RoleSummation.pm +0 -440
  1250. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Application/ToClass.pm +0 -314
  1251. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Application/ToInstance.pm +0 -142
  1252. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Application/ToRole.pm +0 -283
  1253. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Application.pm +0 -225
  1254. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Attribute.pm +0 -259
  1255. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Composite.pm +0 -320
  1256. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Method/Conflicting.pm +0 -135
  1257. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Method/Required.pm +0 -127
  1258. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role/Method.pm +0 -101
  1259. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/Role.pm +0 -1059
  1260. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeCoercion/Union.pm +0 -141
  1261. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeCoercion.pm +0 -239
  1262. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeConstraint/Class.pm +0 -261
  1263. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeConstraint/DuckType.pm +0 -217
  1264. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeConstraint/Enum.pm +0 -235
  1265. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeConstraint/Parameterizable.pm +0 -200
  1266. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeConstraint/Parameterized.pm +0 -188
  1267. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeConstraint/Registry.pm +0 -206
  1268. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeConstraint/Role.pm +0 -235
  1269. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeConstraint/Union.pm +0 -346
  1270. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Meta/TypeConstraint.pm +0 -607
  1271. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Object.pm +0 -271
  1272. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Role.pm +0 -377
  1273. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Spec/Role.pod +0 -397
  1274. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Unsweetened.pod +0 -77
  1275. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Util/MetaRole.pm +0 -329
  1276. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Util/TypeConstraints/Builtins.pm +0 -305
  1277. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Util/TypeConstraints.pm +0 -1443
  1278. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose/Util.pm +0 -725
  1279. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Moose.pm +0 -1268
  1280. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/PPI/XS.pm +0 -137
  1281. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Package/Stash/XS.pm +0 -110
  1282. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Params/Util/PP.pm +0 -276
  1283. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Params/Util.pm +0 -486
  1284. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/List/Utils.pm +0 -43
  1285. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/Util/Numeric.pm +0 -137
  1286. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/Util.pm +0 -390
  1287. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Sub/Util.pm +0 -153
  1288. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Test/Moose.pm +0 -228
  1289. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Want.pm +0 -742
  1290. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Attribute/Util/.packlist +0 -12
  1291. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Capture/Tiny/.packlist +0 -2
  1292. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/.packlist +0 -3
  1293. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/.packlist +0 -3
  1294. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  1295. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Clone/.packlist +0 -4
  1296. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Clone/Clone.so +0 -0
  1297. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Clone/autosplit.ix +0 -3
  1298. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/Cmp/.packlist +0 -6
  1299. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/OptList/.packlist +0 -2
  1300. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/.packlist +0 -3
  1301. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  1302. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Devel/GlobalDestruction/.packlist +0 -2
  1303. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Devel/OverloadInfo/.packlist +0 -2
  1304. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Devel/StackTrace/.packlist +0 -4
  1305. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Eval/Closure/.packlist +0 -2
  1306. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/ExtUtils/Config/.packlist +0 -4
  1307. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/ExtUtils/Helpers/.packlist +0 -8
  1308. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/ExtUtils/InstallPaths/.packlist +0 -2
  1309. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/CheckLib/.packlist +0 -2
  1310. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/.packlist +0 -98
  1311. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Constant/Constant.txt +0 -1
  1312. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Memory/Memory.txt +0 -1
  1313. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  1314. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Record/Meta/Meta.txt +0 -1
  1315. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/File/Which/.packlist +0 -2
  1316. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/IPC/System/Simple/.packlist +0 -2
  1317. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/.packlist +0 -11
  1318. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  1319. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/MRO/Compat/.packlist +0 -2
  1320. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Module/Implementation/.packlist +0 -2
  1321. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Module/Runtime/.packlist +0 -2
  1322. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Module/Runtime/Conflicts/.packlist +0 -2
  1323. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/.packlist +0 -574
  1324. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  1325. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Nice/Try/.packlist +0 -2
  1326. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/.packlist +0 -186
  1327. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/.packlist +0 -3
  1328. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  1329. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/DeprecationManager/.packlist +0 -2
  1330. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/.packlist +0 -6
  1331. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/.packlist +0 -3
  1332. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  1333. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/.packlist +0 -5
  1334. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  1335. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Path/Tiny/.packlist +0 -2
  1336. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Safe/Isa/.packlist +0 -2
  1337. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Scalar/Util/Numeric/.packlist +0 -3
  1338. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Scalar/Util/Numeric/Numeric.so +0 -0
  1339. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Scope/Guard/.packlist +0 -2
  1340. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Sub/Exporter/.packlist +0 -8
  1341. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Sub/Exporter/Progressive/.packlist +0 -2
  1342. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Sub/Install/.packlist +0 -2
  1343. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Task/Weaken/.packlist +0 -2
  1344. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Test/Fatal/.packlist +0 -2
  1345. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Try/Tiny/.packlist +0 -2
  1346. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/.packlist +0 -3
  1347. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  1348. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/YAML/PP/.packlist +0 -55
  1349. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/aliased/.packlist +0 -2
  1350. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/autobox/.packlist +0 -5
  1351. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/autobox/autobox.so +0 -0
  1352. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/autobox/universal.pm +0 -13
  1353. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/autobox.pm +0 -404
  1354. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/autobox.pod +0 -709
  1355. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/metaclass.pm +0 -155
  1356. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/oose.pm +0 -137
  1357. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +0 -990
  1358. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Exception/Exception.pm +0 -29
  1359. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Exception/ExceptionSerializer.pm +0 -25
  1360. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Exception/ExceptionThrower.pm +0 -40
  1361. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Exception/SdkExceptionHelper.pm +0 -93
  1362. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/AbstractHandler.pm +0 -11
  1363. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/AbstractCommandHandler.pm +0 -48
  1364. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ArrayGetItemHandler.pm +0 -38
  1365. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ArrayGetRankHandler.pm +0 -29
  1366. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ArrayGetSizeHandler.pm +0 -37
  1367. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +0 -40
  1368. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/CastingHandler.pm +0 -22
  1369. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/CreateClassInstanceHandler.pm +0 -37
  1370. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/DestructReferenceHandler.pm +0 -39
  1371. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/GetInstanceFieldHandler.pm +0 -39
  1372. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/GetStaticFieldHandler.pm +0 -40
  1373. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/GetTypeHandler.pm +0 -40
  1374. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +0 -63
  1375. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeInstanceMethodHandler.pm +0 -51
  1376. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeStaticMethodHandler.pm +0 -51
  1377. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/LoadLibraryHandler.pm +0 -42
  1378. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ResolveInstanceHandler.pm +0 -38
  1379. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/SetInstanceFieldHandler.pm +0 -40
  1380. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/SetStaticFieldHandler.pm +0 -42
  1381. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ValueHandler.pm +0 -29
  1382. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/HandlerDictionary.pm +0 -22
  1383. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +0 -174
  1384. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/ReferencesCache.pm +0 -43
  1385. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +0 -43
  1386. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +0 -203
  1387. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +0 -86
  1388. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +0 -82
  1389. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +0 -142
  1390. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Receiver/Receiver.pm +0 -38
  1391. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +0 -28
  1392. package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +0 -128
  1393. package/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +0 -80
  1394. package/Binaries/Perl/Linux/X64/lib/Javonet/JavonetPerlSdk.pm +0 -2
  1395. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +0 -101
  1396. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +0 -56
  1397. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/RuntimeLib.pm +0 -25
  1398. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/RuntimeLogger.pm +0 -34
  1399. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/StringEncodingMode.pm +0 -20
  1400. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/Type.pm +0 -28
  1401. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +0 -22
  1402. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractInstanceContext.pm +0 -18
  1403. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractInvocationContext.pm +0 -13
  1404. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractMethodInvocationContext.pm +0 -18
  1405. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +0 -17
  1406. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeFactory.pm +0 -24
  1407. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +0 -15
  1408. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +0 -19
  1409. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -450
  1410. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -292
  1411. package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +0 -104
  1412. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events +0 -62
  1413. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events.bat +0 -79
  1414. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight +0 -54
  1415. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight.bat +0 -71
  1416. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load +0 -155
  1417. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump +0 -314
  1418. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +0 -331
  1419. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +0 -172
  1420. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit +0 -123
  1421. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit.bat +0 -140
  1422. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Attribute/Abstract.pm +0 -74
  1423. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Attribute/Alias.pm +0 -75
  1424. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Attribute/Memoize.pm +0 -77
  1425. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Attribute/Method.pm +0 -151
  1426. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Attribute/SigHandler.pm +0 -61
  1427. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Attribute/Util.pm +0 -101
  1428. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Data/Cmp/Numeric.pm +0 -188
  1429. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Data/Cmp/StrOrNumeric.pm +0 -200
  1430. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Data/Cmp.pm +0 -278
  1431. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/MYMETA.json +0 -43
  1432. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/install.json +0 -1
  1433. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/MYMETA.json +0 -591
  1434. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/install.json +0 -1
  1435. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.227/MYMETA.json +0 -50
  1436. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.227/install.json +0 -1
  1437. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.15/MYMETA.json +0 -68
  1438. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.15/install.json +0 -1
  1439. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.281/MYMETA.json +0 -1115
  1440. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.281/install.json +0 -1
  1441. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/MYMETA.json +0 -1045
  1442. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/install.json +0 -1
  1443. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Safe-Isa-1.000010/MYMETA.json +0 -64
  1444. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Safe-Isa-1.000010/install.json +0 -1
  1445. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/MYMETA.json +0 -50
  1446. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/install.json +0 -1
  1447. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Test-Fatal-0.017/MYMETA.json +0 -598
  1448. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Test-Fatal-0.017/install.json +0 -1
  1449. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/MYMETA.json +0 -40
  1450. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/install.json +0 -1
  1451. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.39.0/MYMETA.json +0 -222
  1452. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.39.0/install.json +0 -1
  1453. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.2/MYMETA.json +0 -53
  1454. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.2/install.json +0 -1
  1455. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/Data/UUID.pm +0 -158
  1456. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/PPI/XS.pm +0 -137
  1457. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/Scalar/Util/Numeric.pm +0 -137
  1458. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/Want.pm +0 -742
  1459. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Attribute/Util/.packlist +0 -6
  1460. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/Cmp/.packlist +0 -3
  1461. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/.packlist +0 -2
  1462. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  1463. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Nice/Try/.packlist +0 -1
  1464. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/.packlist +0 -95
  1465. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/.packlist +0 -2
  1466. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  1467. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Safe/Isa/.packlist +0 -1
  1468. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/.packlist +0 -2
  1469. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  1470. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Test/Fatal/.packlist +0 -1
  1471. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/.packlist +0 -2
  1472. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  1473. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/YAML/PP/.packlist +0 -39
  1474. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/.packlist +0 -4
  1475. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  1476. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/autobox/universal.pm +0 -13
  1477. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/autobox.pm +0 -404
  1478. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/autobox.pod +0 -709
  1479. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +0 -264
  1480. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Nice/Try.pm +0 -3257
  1481. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Cache.pm +0 -301
  1482. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Document/File.pm +0 -136
  1483. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Document/Fragment.pm +0 -90
  1484. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Document/Normalized.pm +0 -315
  1485. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Document.pm +0 -1012
  1486. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Dumper.pm +0 -309
  1487. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Element.pm +0 -907
  1488. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Exception/ParserRejection.pm +0 -10
  1489. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Exception.pm +0 -108
  1490. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Find.pm +0 -391
  1491. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Lexer.pm +0 -1584
  1492. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Node.pm +0 -831
  1493. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Normal/Standard.pm +0 -139
  1494. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Normal.pm +0 -257
  1495. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Singletons.pm +0 -92
  1496. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Break.pm +0 -75
  1497. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Compound.pm +0 -205
  1498. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Data.pm +0 -81
  1499. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/End.pm +0 -79
  1500. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Expression.pm +0 -67
  1501. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Given.pm +0 -90
  1502. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Include/Perl6.pm +0 -87
  1503. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Include.pm +0 -365
  1504. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Null.pm +0 -75
  1505. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Package.pm +0 -145
  1506. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Scheduled.pm +0 -124
  1507. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Sub.pm +0 -222
  1508. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Unknown.pm +0 -68
  1509. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/UnmatchedBrace.pm +0 -80
  1510. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Variable.pm +0 -195
  1511. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/When.pm +0 -100
  1512. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement.pm +0 -344
  1513. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Block.pm +0 -82
  1514. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Condition.pm +0 -67
  1515. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Constructor.pm +0 -62
  1516. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/For.pm +0 -77
  1517. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Given.pm +0 -63
  1518. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/List.pm +0 -87
  1519. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Signature.pm +0 -61
  1520. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Subscript.pm +0 -68
  1521. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Unknown.pm +0 -69
  1522. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/When.pm +0 -63
  1523. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure.pm +0 -348
  1524. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/ArrayIndex.pm +0 -77
  1525. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Attribute.pm +0 -176
  1526. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/BOM.pm +0 -113
  1527. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Cast.pm +0 -87
  1528. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Comment.pm +0 -146
  1529. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/DashedWord.pm +0 -96
  1530. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Data.pm +0 -116
  1531. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/End.pm +0 -111
  1532. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/HereDoc.pm +0 -338
  1533. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Label.pm +0 -58
  1534. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Magic.pm +0 -200
  1535. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Binary.pm +0 -117
  1536. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Exp.pm +0 -146
  1537. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Float.pm +0 -140
  1538. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Hex.pm +0 -108
  1539. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Octal.pm +0 -115
  1540. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Version.pm +0 -164
  1541. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number.pm +0 -166
  1542. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Operator.pm +0 -124
  1543. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Pod.pm +0 -159
  1544. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Prototype.pm +0 -100
  1545. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote/Double.pm +0 -138
  1546. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote/Interpolate.pm +0 -76
  1547. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote/Literal.pm +0 -81
  1548. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote/Single.pm +0 -93
  1549. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote.pm +0 -120
  1550. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Backtick.pm +0 -62
  1551. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Command.pm +0 -62
  1552. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Readline.pm +0 -71
  1553. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Regexp.pm +0 -126
  1554. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Words.pm +0 -88
  1555. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike.pm +0 -77
  1556. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Regexp/Match.pm +0 -76
  1557. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Regexp/Substitute.pm +0 -66
  1558. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Regexp/Transliterate.pm +0 -70
  1559. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Regexp.pm +0 -136
  1560. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Separator.pm +0 -64
  1561. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Structure.pm +0 -209
  1562. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Symbol.pm +0 -241
  1563. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Unknown.pm +0 -506
  1564. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Whitespace.pm +0 -454
  1565. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Word.pm +0 -375
  1566. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/_QuoteEngine/Full.pm +0 -450
  1567. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/_QuoteEngine/Simple.pm +0 -67
  1568. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/_QuoteEngine.pm +0 -240
  1569. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token.pm +0 -245
  1570. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Tokenizer.pm +0 -1123
  1571. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Transform/UpdateCopyright.pm +0 -179
  1572. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Transform.pm +0 -240
  1573. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Util.pm +0 -72
  1574. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/XSAccessor.pm +0 -165
  1575. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI.pm +0 -822
  1576. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Safe/Isa.pm +0 -213
  1577. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Test/Fatal.pm +0 -477
  1578. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Common.pm +0 -273
  1579. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Constructor.pm +0 -435
  1580. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Dumper.pm +0 -283
  1581. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Emitter.pm +0 -1165
  1582. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Exception.pm +0 -79
  1583. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Grammar.pm +0 -2150
  1584. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Highlight.pm +0 -235
  1585. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Lexer.pm +0 -962
  1586. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Loader.pm +0 -103
  1587. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Parser.pm +0 -1469
  1588. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Perl.pm +0 -83
  1589. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Reader.pm +0 -78
  1590. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Render.pm +0 -155
  1591. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Representer.pm +0 -230
  1592. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +0 -102
  1593. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +0 -76
  1594. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +0 -155
  1595. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +0 -71
  1596. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +0 -259
  1597. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +0 -259
  1598. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +0 -109
  1599. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +0 -1004
  1600. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +0 -156
  1601. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +0 -249
  1602. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema.pm +0 -447
  1603. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +0 -40
  1604. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +0 -104
  1605. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer.pm +0 -89
  1606. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP.pm +0 -1547
  1607. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Exception/Exception.pm +0 -29
  1608. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Exception/ExceptionSerializer.pm +0 -25
  1609. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Exception/ExceptionThrower.pm +0 -40
  1610. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Exception/SdkExceptionHelper.pm +0 -93
  1611. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/AbstractHandler.pm +0 -11
  1612. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/AbstractCommandHandler.pm +0 -48
  1613. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ArrayGetItemHandler.pm +0 -38
  1614. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ArrayGetRankHandler.pm +0 -29
  1615. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ArrayGetSizeHandler.pm +0 -37
  1616. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +0 -40
  1617. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/CastingHandler.pm +0 -22
  1618. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/CreateClassInstanceHandler.pm +0 -37
  1619. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/DestructReferenceHandler.pm +0 -39
  1620. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/GetInstanceFieldHandler.pm +0 -39
  1621. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/GetStaticFieldHandler.pm +0 -40
  1622. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/GetTypeHandler.pm +0 -40
  1623. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +0 -63
  1624. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeInstanceMethodHandler.pm +0 -51
  1625. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeStaticMethodHandler.pm +0 -51
  1626. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/LoadLibraryHandler.pm +0 -42
  1627. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ResolveInstanceHandler.pm +0 -38
  1628. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/SetInstanceFieldHandler.pm +0 -40
  1629. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/SetStaticFieldHandler.pm +0 -42
  1630. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ValueHandler.pm +0 -29
  1631. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/HandlerDictionary.pm +0 -22
  1632. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +0 -174
  1633. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/ReferencesCache.pm +0 -43
  1634. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +0 -43
  1635. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandDeserializer.pm +0 -203
  1636. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +0 -86
  1637. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeDeserializer.pm +0 -82
  1638. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/TypeSerializer.pm +0 -142
  1639. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Receiver/Receiver.pm +0 -38
  1640. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitter.pm +0 -28
  1641. package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +0 -128
  1642. package/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +0 -80
  1643. package/Binaries/Perl/Windows/X64/lib/Javonet/JavonetPerlSdk.pm +0 -2
  1644. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommand.pm +0 -101
  1645. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +0 -56
  1646. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/RuntimeLib.pm +0 -25
  1647. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/RuntimeLogger.pm +0 -34
  1648. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/StringEncodingMode.pm +0 -20
  1649. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/Type.pm +0 -28
  1650. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractEnumInvocationContext.pm +0 -22
  1651. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractInstanceContext.pm +0 -18
  1652. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractInvocationContext.pm +0 -13
  1653. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractMethodInvocationContext.pm +0 -18
  1654. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +0 -17
  1655. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeFactory.pm +0 -24
  1656. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractTypeContext.pm +0 -15
  1657. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/ConnectionType.pm +0 -19
  1658. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +0 -450
  1659. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +0 -292
  1660. package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeFactory.pm +0 -104
  1661. package/Binaries/Python/javonet/core/__init__.py +0 -0
  1662. package/Binaries/Python/javonet/core/callback/__init__.py +0 -0
  1663. package/Binaries/Python/javonet/core/callback/callbackFunc.py +0 -7
  1664. package/Binaries/Python/javonet/core/delegateCache/DelegatesCache.py +0 -39
  1665. package/Binaries/Python/javonet/core/delegateCache/__init__.py +0 -0
  1666. package/Binaries/Python/javonet/core/generator/__init__.py +0 -0
  1667. package/Binaries/Python/javonet/core/generator/handler/AbstractGeneretatorHandler.py +0 -8
  1668. package/Binaries/Python/javonet/core/generator/handler/CreateInstanceGeneratorHandler.py +0 -44
  1669. package/Binaries/Python/javonet/core/generator/handler/GeneratorHandler.py +0 -65
  1670. package/Binaries/Python/javonet/core/generator/handler/GetInstanceFieldGeneratorHandler.py +0 -36
  1671. package/Binaries/Python/javonet/core/generator/handler/GetStaticFieldGeneratorHandler.py +0 -39
  1672. package/Binaries/Python/javonet/core/generator/handler/GetTypeGeneratorHandler.py +0 -92
  1673. package/Binaries/Python/javonet/core/generator/handler/Handlers.py +0 -59
  1674. package/Binaries/Python/javonet/core/generator/handler/InvokeInstanceMethodGeneratorHandler.py +0 -53
  1675. package/Binaries/Python/javonet/core/generator/handler/InvokeStaticMethodGeneratorHandler.py +0 -54
  1676. package/Binaries/Python/javonet/core/generator/handler/__init__.py +0 -0
  1677. package/Binaries/Python/javonet/core/generator/handler/shared/SharedArgumentNameHandler.py +0 -12
  1678. package/Binaries/Python/javonet/core/generator/handler/shared/SharedClassInstanceHandler.py +0 -12
  1679. package/Binaries/Python/javonet/core/generator/handler/shared/SharedClassNameHandler.py +0 -31
  1680. package/Binaries/Python/javonet/core/generator/handler/shared/SharedMethodNameHandler.py +0 -30
  1681. package/Binaries/Python/javonet/core/generator/handler/shared/SharedModifierHandler.py +0 -21
  1682. package/Binaries/Python/javonet/core/generator/handler/shared/SharedReturnTypeHandler.py +0 -13
  1683. package/Binaries/Python/javonet/core/generator/handler/shared/SharedTypeHandler.py +0 -57
  1684. package/Binaries/Python/javonet/core/generator/handler/shared/__init__.py +0 -0
  1685. package/Binaries/Python/javonet/core/generator/handler/shared/body/SharedBodyHandler.py +0 -10
  1686. package/Binaries/Python/javonet/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.py +0 -21
  1687. package/Binaries/Python/javonet/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.py +0 -16
  1688. package/Binaries/Python/javonet/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.py +0 -22
  1689. package/Binaries/Python/javonet/core/generator/handler/shared/body/SharedGetTypeBodyHandler.py +0 -16
  1690. package/Binaries/Python/javonet/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.py +0 -47
  1691. package/Binaries/Python/javonet/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.py +0 -55
  1692. package/Binaries/Python/javonet/core/generator/handler/shared/body/__init__.py +0 -0
  1693. package/Binaries/Python/javonet/core/generator/internal/CommonGenerator.py +0 -23
  1694. package/Binaries/Python/javonet/core/generator/internal/PythonStringBuilder.py +0 -15
  1695. package/Binaries/Python/javonet/core/generator/internal/SharedHandlerType.py +0 -12
  1696. package/Binaries/Python/javonet/core/generator/internal/__init__.py +0 -0
  1697. package/Binaries/Python/javonet/core/handler/AbstractCommandHandler.py +0 -20
  1698. package/Binaries/Python/javonet/core/handler/AbstractHandler.py +0 -3
  1699. package/Binaries/Python/javonet/core/handler/ArrayGetItemHandler.py +0 -27
  1700. package/Binaries/Python/javonet/core/handler/ArrayGetRankHandler.py +0 -25
  1701. package/Binaries/Python/javonet/core/handler/ArrayGetSizeHandler.py +0 -24
  1702. package/Binaries/Python/javonet/core/handler/ArrayHandler.py +0 -13
  1703. package/Binaries/Python/javonet/core/handler/ArraySetItemHandler.py +0 -39
  1704. package/Binaries/Python/javonet/core/handler/CastingHandler.py +0 -6
  1705. package/Binaries/Python/javonet/core/handler/CreateClassInstanceHandler.py +0 -22
  1706. package/Binaries/Python/javonet/core/handler/DestructReferenceHandler.py +0 -13
  1707. package/Binaries/Python/javonet/core/handler/EnableNamespaceHandler.py +0 -28
  1708. package/Binaries/Python/javonet/core/handler/EnableTypeHandler.py +0 -28
  1709. package/Binaries/Python/javonet/core/handler/GetEnumItemHandler.py +0 -29
  1710. package/Binaries/Python/javonet/core/handler/GetEnumNameHandler.py +0 -22
  1711. package/Binaries/Python/javonet/core/handler/GetEnumValueHandler.py +0 -22
  1712. package/Binaries/Python/javonet/core/handler/GetInstanceFieldHandler.py +0 -27
  1713. package/Binaries/Python/javonet/core/handler/GetInstanceMethodAsDelegateHandler.py +0 -29
  1714. package/Binaries/Python/javonet/core/handler/GetStaticFieldHandler.py +0 -27
  1715. package/Binaries/Python/javonet/core/handler/GetStaticMethodAsDelegateHandler.py +0 -31
  1716. package/Binaries/Python/javonet/core/handler/GetTypeHandler.py +0 -85
  1717. package/Binaries/Python/javonet/core/handler/Handler.py +0 -100
  1718. package/Binaries/Python/javonet/core/handler/HandlerDictionary.py +0 -8
  1719. package/Binaries/Python/javonet/core/handler/InvokeDelegateHandler.py +0 -27
  1720. package/Binaries/Python/javonet/core/handler/InvokeGlobalFunctionHandler.py +0 -46
  1721. package/Binaries/Python/javonet/core/handler/InvokeInstanceMethodHandler.py +0 -31
  1722. package/Binaries/Python/javonet/core/handler/InvokeStaticMethodHandler.py +0 -33
  1723. package/Binaries/Python/javonet/core/handler/LoadLibraryHandler.py +0 -31
  1724. package/Binaries/Python/javonet/core/handler/PassDelegateHandler.py +0 -21
  1725. package/Binaries/Python/javonet/core/handler/ResolveInstanceHandler.py +0 -19
  1726. package/Binaries/Python/javonet/core/handler/SetInstanceFieldHandler.py +0 -29
  1727. package/Binaries/Python/javonet/core/handler/SetStaticFieldHandler.py +0 -29
  1728. package/Binaries/Python/javonet/core/handler/ValueHandler.py +0 -6
  1729. package/Binaries/Python/javonet/core/handler/__init__.py +0 -0
  1730. package/Binaries/Python/javonet/core/interpreter/Interpreter.py +0 -55
  1731. package/Binaries/Python/javonet/core/interpreter/__init__.py +0 -0
  1732. package/Binaries/Python/javonet/core/namespaceCache/NamespaceCache.py +0 -44
  1733. package/Binaries/Python/javonet/core/namespaceCache/__init__.py +0 -0
  1734. package/Binaries/Python/javonet/core/protocol/CommandDeserializer.py +0 -161
  1735. package/Binaries/Python/javonet/core/protocol/CommandSerializer.py +0 -29
  1736. package/Binaries/Python/javonet/core/protocol/TypeDeserializer.py +0 -64
  1737. package/Binaries/Python/javonet/core/protocol/TypeSerializer.py +0 -96
  1738. package/Binaries/Python/javonet/core/protocol/__init__.py +0 -0
  1739. package/Binaries/Python/javonet/core/receiver/Receiver.py +0 -42
  1740. package/Binaries/Python/javonet/core/receiver/__init__.py +0 -0
  1741. package/Binaries/Python/javonet/core/referenceCache/ReferencesCache.py +0 -39
  1742. package/Binaries/Python/javonet/core/referenceCache/__init__.py +0 -0
  1743. package/Binaries/Python/javonet/core/transmitter/Transmitter.py +0 -20
  1744. package/Binaries/Python/javonet/core/transmitter/TransmitterWrapper.py +0 -112
  1745. package/Binaries/Python/javonet/core/transmitter/__init__.py +0 -0
  1746. package/Binaries/Python/javonet/core/typeCache/TypeCache.py +0 -44
  1747. package/Binaries/Python/javonet/core/typeCache/__init__.py +0 -0
  1748. package/Binaries/Python/javonet/core/webSocketClient/WebSocketClient.py +0 -32
  1749. package/Binaries/Python/javonet/utils/Command.py +0 -90
  1750. package/Binaries/Python/javonet/utils/CommandType.py +0 -46
  1751. package/Binaries/Python/javonet/utils/ConnectionType.py +0 -7
  1752. package/Binaries/Python/javonet/utils/ExceptionType.py +0 -55
  1753. package/Binaries/Python/javonet/utils/RuntimeLogger.py +0 -30
  1754. package/Binaries/Python/javonet/utils/RuntimeName.py +0 -16
  1755. package/Binaries/Python/javonet/utils/RuntimeNameHandler.py +0 -26
  1756. package/Binaries/Python/javonet/utils/StringEncodingMode.py +0 -8
  1757. package/Binaries/Python/javonet/utils/Type.py +0 -16
  1758. package/Binaries/Python/javonet/utils/UtilsConst.py +0 -42
  1759. package/Binaries/Python/javonet/utils/__init__.py +0 -0
  1760. package/Binaries/Python/javonet/utils/connectionData/IConnectionData.py +0 -18
  1761. package/Binaries/Python/javonet/utils/connectionData/InMemoryConnectionData.py +0 -23
  1762. package/Binaries/Python/javonet/utils/connectionData/TcpConnectionData.py +0 -67
  1763. package/Binaries/Python/javonet/utils/connectionData/WsConnectionData.py +0 -30
  1764. package/Binaries/Python/javonet/utils/connectionData/__init__.py +0 -0
  1765. package/Binaries/Python/javonet/utils/exception/ExceptionSerializer.py +0 -60
  1766. package/Binaries/Python/javonet/utils/exception/ExceptionThrower.py +0 -81
  1767. package/Binaries/Python/javonet/utils/exception/JavonetException.py +0 -10
  1768. package/Binaries/Python/javonet/utils/exception/__init__.py +0 -0
  1769. package/Binaries/Python/javonet/utils/messageHelper/MessageHelper.py +0 -86
  1770. package/Binaries/Python/javonet/utils/messageHelper/__init__.py +0 -0
  1771. package/Binaries/Ruby/Linux/X64/core/handler/abstract_command_handler.rb +0 -24
  1772. package/Binaries/Ruby/Linux/X64/core/handler/abstract_handler.rb +0 -5
  1773. package/Binaries/Ruby/Linux/X64/core/handler/array_get_item_handler.rb +0 -47
  1774. package/Binaries/Ruby/Linux/X64/core/handler/array_get_rank_handler.rb +0 -23
  1775. package/Binaries/Ruby/Linux/X64/core/handler/array_get_size_handler.rb +0 -37
  1776. package/Binaries/Ruby/Linux/X64/core/handler/array_handler.rb +0 -12
  1777. package/Binaries/Ruby/Linux/X64/core/handler/array_set_item_handler.rb +0 -47
  1778. package/Binaries/Ruby/Linux/X64/core/handler/casting_handler.rb +0 -11
  1779. package/Binaries/Ruby/Linux/X64/core/handler/create_class_instance_handler.rb +0 -34
  1780. package/Binaries/Ruby/Linux/X64/core/handler/destruct_reference_handler.rb +0 -21
  1781. package/Binaries/Ruby/Linux/X64/core/handler/enable_namespace_handler.rb +0 -31
  1782. package/Binaries/Ruby/Linux/X64/core/handler/enable_type_handler.rb +0 -32
  1783. package/Binaries/Ruby/Linux/X64/core/handler/get_instance_field_handler.rb +0 -34
  1784. package/Binaries/Ruby/Linux/X64/core/handler/get_static_field_handler.rb +0 -34
  1785. package/Binaries/Ruby/Linux/X64/core/handler/get_type_handler.rb +0 -70
  1786. package/Binaries/Ruby/Linux/X64/core/handler/handler.rb +0 -111
  1787. package/Binaries/Ruby/Linux/X64/core/handler/handler_dictionary.rb +0 -8
  1788. package/Binaries/Ruby/Linux/X64/core/handler/invoke_global_function_handler.rb +0 -45
  1789. package/Binaries/Ruby/Linux/X64/core/handler/invoke_instance_method_handler.rb +0 -36
  1790. package/Binaries/Ruby/Linux/X64/core/handler/invoke_static_method_handler.rb +0 -38
  1791. package/Binaries/Ruby/Linux/X64/core/handler/load_library_handler.rb +0 -33
  1792. package/Binaries/Ruby/Linux/X64/core/handler/resolve_instance_handler.rb +0 -24
  1793. package/Binaries/Ruby/Linux/X64/core/handler/set_instance_field_handler.rb +0 -35
  1794. package/Binaries/Ruby/Linux/X64/core/handler/set_static_field_handler.rb +0 -31
  1795. package/Binaries/Ruby/Linux/X64/core/handler/value_handler.rb +0 -7
  1796. package/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +0 -25
  1797. package/Binaries/Ruby/Linux/X64/core/namespace_cache/namespace_cache.rb +0 -40
  1798. package/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +0 -178
  1799. package/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +0 -30
  1800. package/Binaries/Ruby/Linux/X64/core/protocol/type_deserializer.rb +0 -65
  1801. package/Binaries/Ruby/Linux/X64/core/protocol/type_serializer.rb +0 -98
  1802. package/Binaries/Ruby/Linux/X64/core/receiver/receiver.rb +0 -22
  1803. package/Binaries/Ruby/Linux/X64/core/reference_cache/references_cache.rb +0 -33
  1804. package/Binaries/Ruby/Linux/X64/core/transmitter/transmitter.rb +0 -58
  1805. package/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +0 -32
  1806. package/Binaries/Ruby/Linux/X64/core/type_cache/type_cache.rb +0 -40
  1807. package/Binaries/Ruby/Linux/X64/external_lib/random/formatter.rb +0 -373
  1808. package/Binaries/Ruby/Linux/X64/external_lib/securerandom.rb +0 -96
  1809. package/Binaries/Ruby/Linux/X64/external_lib/singleton.rb +0 -172
  1810. package/Binaries/Ruby/Linux/X64/utils/command.rb +0 -93
  1811. package/Binaries/Ruby/Linux/X64/utils/command_type.rb +0 -135
  1812. package/Binaries/Ruby/Linux/X64/utils/connection_type.rb +0 -4
  1813. package/Binaries/Ruby/Linux/X64/utils/exceptions/exception_serializer.rb +0 -93
  1814. package/Binaries/Ruby/Linux/X64/utils/exceptions/exception_thrower.rb +0 -65
  1815. package/Binaries/Ruby/Linux/X64/utils/exceptions/exception_type.rb +0 -10
  1816. package/Binaries/Ruby/Linux/X64/utils/runtime_logger.rb +0 -30
  1817. package/Binaries/Ruby/Linux/X64/utils/runtime_name.rb +0 -11
  1818. package/Binaries/Ruby/Linux/X64/utils/runtime_name_handler.rb +0 -34
  1819. package/Binaries/Ruby/Linux/X64/utils/string_encoding_mode.rb +0 -6
  1820. package/Binaries/Ruby/Linux/X64/utils/tcp_connection_data.rb +0 -37
  1821. package/Binaries/Ruby/Linux/X64/utils/type.rb +0 -14
  1822. package/Binaries/Ruby/MacOs/X64/core/handler/abstract_command_handler.rb +0 -24
  1823. package/Binaries/Ruby/MacOs/X64/core/handler/abstract_handler.rb +0 -5
  1824. package/Binaries/Ruby/MacOs/X64/core/handler/array_get_item_handler.rb +0 -47
  1825. package/Binaries/Ruby/MacOs/X64/core/handler/array_get_rank_handler.rb +0 -23
  1826. package/Binaries/Ruby/MacOs/X64/core/handler/array_get_size_handler.rb +0 -37
  1827. package/Binaries/Ruby/MacOs/X64/core/handler/array_handler.rb +0 -12
  1828. package/Binaries/Ruby/MacOs/X64/core/handler/array_set_item_handler.rb +0 -47
  1829. package/Binaries/Ruby/MacOs/X64/core/handler/casting_handler.rb +0 -11
  1830. package/Binaries/Ruby/MacOs/X64/core/handler/create_class_instance_handler.rb +0 -34
  1831. package/Binaries/Ruby/MacOs/X64/core/handler/destruct_reference_handler.rb +0 -21
  1832. package/Binaries/Ruby/MacOs/X64/core/handler/enable_namespace_handler.rb +0 -31
  1833. package/Binaries/Ruby/MacOs/X64/core/handler/enable_type_handler.rb +0 -32
  1834. package/Binaries/Ruby/MacOs/X64/core/handler/get_instance_field_handler.rb +0 -34
  1835. package/Binaries/Ruby/MacOs/X64/core/handler/get_static_field_handler.rb +0 -34
  1836. package/Binaries/Ruby/MacOs/X64/core/handler/get_type_handler.rb +0 -70
  1837. package/Binaries/Ruby/MacOs/X64/core/handler/handler.rb +0 -111
  1838. package/Binaries/Ruby/MacOs/X64/core/handler/handler_dictionary.rb +0 -8
  1839. package/Binaries/Ruby/MacOs/X64/core/handler/invoke_global_function_handler.rb +0 -45
  1840. package/Binaries/Ruby/MacOs/X64/core/handler/invoke_instance_method_handler.rb +0 -36
  1841. package/Binaries/Ruby/MacOs/X64/core/handler/invoke_static_method_handler.rb +0 -38
  1842. package/Binaries/Ruby/MacOs/X64/core/handler/load_library_handler.rb +0 -33
  1843. package/Binaries/Ruby/MacOs/X64/core/handler/resolve_instance_handler.rb +0 -24
  1844. package/Binaries/Ruby/MacOs/X64/core/handler/set_instance_field_handler.rb +0 -35
  1845. package/Binaries/Ruby/MacOs/X64/core/handler/set_static_field_handler.rb +0 -31
  1846. package/Binaries/Ruby/MacOs/X64/core/handler/value_handler.rb +0 -7
  1847. package/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +0 -25
  1848. package/Binaries/Ruby/MacOs/X64/core/namespace_cache/namespace_cache.rb +0 -40
  1849. package/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +0 -178
  1850. package/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +0 -30
  1851. package/Binaries/Ruby/MacOs/X64/core/protocol/type_deserializer.rb +0 -65
  1852. package/Binaries/Ruby/MacOs/X64/core/protocol/type_serializer.rb +0 -98
  1853. package/Binaries/Ruby/MacOs/X64/core/receiver/receiver.rb +0 -22
  1854. package/Binaries/Ruby/MacOs/X64/core/reference_cache/references_cache.rb +0 -33
  1855. package/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter.rb +0 -58
  1856. package/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +0 -32
  1857. package/Binaries/Ruby/MacOs/X64/core/type_cache/type_cache.rb +0 -40
  1858. package/Binaries/Ruby/MacOs/X64/external_lib/random/formatter.rb +0 -373
  1859. package/Binaries/Ruby/MacOs/X64/external_lib/securerandom.rb +0 -96
  1860. package/Binaries/Ruby/MacOs/X64/external_lib/singleton.rb +0 -172
  1861. package/Binaries/Ruby/MacOs/X64/utils/command.rb +0 -93
  1862. package/Binaries/Ruby/MacOs/X64/utils/command_type.rb +0 -135
  1863. package/Binaries/Ruby/MacOs/X64/utils/connection_type.rb +0 -4
  1864. package/Binaries/Ruby/MacOs/X64/utils/exceptions/exception_serializer.rb +0 -93
  1865. package/Binaries/Ruby/MacOs/X64/utils/exceptions/exception_thrower.rb +0 -65
  1866. package/Binaries/Ruby/MacOs/X64/utils/exceptions/exception_type.rb +0 -10
  1867. package/Binaries/Ruby/MacOs/X64/utils/runtime_logger.rb +0 -30
  1868. package/Binaries/Ruby/MacOs/X64/utils/runtime_name.rb +0 -11
  1869. package/Binaries/Ruby/MacOs/X64/utils/runtime_name_handler.rb +0 -34
  1870. package/Binaries/Ruby/MacOs/X64/utils/string_encoding_mode.rb +0 -6
  1871. package/Binaries/Ruby/MacOs/X64/utils/tcp_connection_data.rb +0 -37
  1872. package/Binaries/Ruby/MacOs/X64/utils/type.rb +0 -14
  1873. package/Binaries/Ruby/Windows/X64/core/handler/abstract_command_handler.rb +0 -24
  1874. package/Binaries/Ruby/Windows/X64/core/handler/abstract_handler.rb +0 -5
  1875. package/Binaries/Ruby/Windows/X64/core/handler/array_get_item_handler.rb +0 -47
  1876. package/Binaries/Ruby/Windows/X64/core/handler/array_get_rank_handler.rb +0 -23
  1877. package/Binaries/Ruby/Windows/X64/core/handler/array_get_size_handler.rb +0 -37
  1878. package/Binaries/Ruby/Windows/X64/core/handler/array_handler.rb +0 -12
  1879. package/Binaries/Ruby/Windows/X64/core/handler/array_set_item_handler.rb +0 -47
  1880. package/Binaries/Ruby/Windows/X64/core/handler/casting_handler.rb +0 -11
  1881. package/Binaries/Ruby/Windows/X64/core/handler/create_class_instance_handler.rb +0 -34
  1882. package/Binaries/Ruby/Windows/X64/core/handler/destruct_reference_handler.rb +0 -21
  1883. package/Binaries/Ruby/Windows/X64/core/handler/enable_namespace_handler.rb +0 -31
  1884. package/Binaries/Ruby/Windows/X64/core/handler/enable_type_handler.rb +0 -32
  1885. package/Binaries/Ruby/Windows/X64/core/handler/get_instance_field_handler.rb +0 -34
  1886. package/Binaries/Ruby/Windows/X64/core/handler/get_static_field_handler.rb +0 -34
  1887. package/Binaries/Ruby/Windows/X64/core/handler/get_type_handler.rb +0 -70
  1888. package/Binaries/Ruby/Windows/X64/core/handler/handler.rb +0 -111
  1889. package/Binaries/Ruby/Windows/X64/core/handler/handler_dictionary.rb +0 -8
  1890. package/Binaries/Ruby/Windows/X64/core/handler/invoke_global_function_handler.rb +0 -45
  1891. package/Binaries/Ruby/Windows/X64/core/handler/invoke_instance_method_handler.rb +0 -36
  1892. package/Binaries/Ruby/Windows/X64/core/handler/invoke_static_method_handler.rb +0 -38
  1893. package/Binaries/Ruby/Windows/X64/core/handler/load_library_handler.rb +0 -33
  1894. package/Binaries/Ruby/Windows/X64/core/handler/resolve_instance_handler.rb +0 -24
  1895. package/Binaries/Ruby/Windows/X64/core/handler/set_instance_field_handler.rb +0 -35
  1896. package/Binaries/Ruby/Windows/X64/core/handler/set_static_field_handler.rb +0 -31
  1897. package/Binaries/Ruby/Windows/X64/core/handler/value_handler.rb +0 -7
  1898. package/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +0 -25
  1899. package/Binaries/Ruby/Windows/X64/core/namespace_cache/namespace_cache.rb +0 -40
  1900. package/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +0 -178
  1901. package/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +0 -30
  1902. package/Binaries/Ruby/Windows/X64/core/protocol/type_deserializer.rb +0 -65
  1903. package/Binaries/Ruby/Windows/X64/core/protocol/type_serializer.rb +0 -98
  1904. package/Binaries/Ruby/Windows/X64/core/receiver/receiver.rb +0 -22
  1905. package/Binaries/Ruby/Windows/X64/core/reference_cache/references_cache.rb +0 -33
  1906. package/Binaries/Ruby/Windows/X64/core/transmitter/transmitter.rb +0 -58
  1907. package/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +0 -32
  1908. package/Binaries/Ruby/Windows/X64/core/type_cache/type_cache.rb +0 -40
  1909. package/Binaries/Ruby/Windows/X64/external_lib/random/formatter.rb +0 -373
  1910. package/Binaries/Ruby/Windows/X64/external_lib/securerandom.rb +0 -96
  1911. package/Binaries/Ruby/Windows/X64/external_lib/singleton.rb +0 -172
  1912. package/Binaries/Ruby/Windows/X64/utils/command.rb +0 -93
  1913. package/Binaries/Ruby/Windows/X64/utils/command_type.rb +0 -135
  1914. package/Binaries/Ruby/Windows/X64/utils/connection_type.rb +0 -4
  1915. package/Binaries/Ruby/Windows/X64/utils/exceptions/exception_serializer.rb +0 -93
  1916. package/Binaries/Ruby/Windows/X64/utils/exceptions/exception_thrower.rb +0 -65
  1917. package/Binaries/Ruby/Windows/X64/utils/exceptions/exception_type.rb +0 -10
  1918. package/Binaries/Ruby/Windows/X64/utils/runtime_logger.rb +0 -30
  1919. package/Binaries/Ruby/Windows/X64/utils/runtime_name.rb +0 -11
  1920. package/Binaries/Ruby/Windows/X64/utils/runtime_name_handler.rb +0 -34
  1921. package/Binaries/Ruby/Windows/X64/utils/string_encoding_mode.rb +0 -6
  1922. package/Binaries/Ruby/Windows/X64/utils/tcp_connection_data.rb +0 -37
  1923. package/Binaries/Ruby/Windows/X64/utils/type.rb +0 -14
  1924. package/Binaries/version.txt +0 -1
  1925. package/addon/JavonetNodejsRuntimeAddon.cpp +0 -299
  1926. package/addon/JavonetNodejsRuntimeAddon.h +0 -70
  1927. package/binding.gyp +0 -8
  1928. package/dist/Javonet.d.ts +0 -4821
  1929. package/dist/index.js +0 -66
  1930. package/dist/lib/core/delegatesCache/DelegatesCache.js +0 -35
  1931. package/dist/lib/core/handler/AbstractHandler.js +0 -41
  1932. package/dist/lib/core/handler/ArrayGetItemHandler.js +0 -38
  1933. package/dist/lib/core/handler/ArrayGetRankHandler.js +0 -28
  1934. package/dist/lib/core/handler/ArrayGetSizeHandler.js +0 -29
  1935. package/dist/lib/core/handler/ArrayHandler.js +0 -18
  1936. package/dist/lib/core/handler/ArraySetItemHandler.js +0 -43
  1937. package/dist/lib/core/handler/CastingHandler.js +0 -10
  1938. package/dist/lib/core/handler/ConvertTypeHandler.js +0 -38
  1939. package/dist/lib/core/handler/CreateClassInstanceHandler.js +0 -36
  1940. package/dist/lib/core/handler/DestructReferenceHandler.js +0 -19
  1941. package/dist/lib/core/handler/EnableNamespaceHandler.js +0 -34
  1942. package/dist/lib/core/handler/EnableTypeHandler.js +0 -35
  1943. package/dist/lib/core/handler/GetGlobalStaticFieldHandler.js +0 -37
  1944. package/dist/lib/core/handler/GetInstanceFieldHandler.js +0 -35
  1945. package/dist/lib/core/handler/GetInstanceMethodAsDelegateHandler.js +0 -73
  1946. package/dist/lib/core/handler/GetStaticFieldHandler.js +0 -36
  1947. package/dist/lib/core/handler/GetStaticMethodAsDelegateHandler.js +0 -74
  1948. package/dist/lib/core/handler/GetTypeHandler.js +0 -63
  1949. package/dist/lib/core/handler/Handler.js +0 -98
  1950. package/dist/lib/core/handler/InvokeDelegateHandler.js +0 -36
  1951. package/dist/lib/core/handler/InvokeGlobalFunctionHandler.js +0 -39
  1952. package/dist/lib/core/handler/InvokeInstanceMethodHandler.js +0 -38
  1953. package/dist/lib/core/handler/InvokeStaticMethodHandler.js +0 -38
  1954. package/dist/lib/core/handler/LoadLibraryHandler.js +0 -48
  1955. package/dist/lib/core/handler/PassDelegateHandler.js +0 -157
  1956. package/dist/lib/core/handler/ResolveReferenceHandler.js +0 -13
  1957. package/dist/lib/core/handler/SetGlobalStaticFieldHandler.js +0 -38
  1958. package/dist/lib/core/handler/SetInstanceFieldHandler.js +0 -35
  1959. package/dist/lib/core/handler/SetStaticFieldHandler.js +0 -33
  1960. package/dist/lib/core/handler/ValueHandler.js +0 -13
  1961. package/dist/lib/core/interpreter/Interpreter.js +0 -142
  1962. package/dist/lib/core/namespaceCache/NamespaceCache.js +0 -39
  1963. package/dist/lib/core/protocol/CommandDeserializer.js +0 -181
  1964. package/dist/lib/core/protocol/CommandSerializer.js +0 -50
  1965. package/dist/lib/core/protocol/TypeDeserializer.js +0 -83
  1966. package/dist/lib/core/protocol/TypeSerializer.js +0 -143
  1967. package/dist/lib/core/receiver/Receiver.js +0 -32
  1968. package/dist/lib/core/receiver/ReceiverNative.js +0 -13
  1969. package/dist/lib/core/referenceCache/ReferencesCache.js +0 -30
  1970. package/dist/lib/core/transmitter/Transmitter.js +0 -21
  1971. package/dist/lib/core/transmitter/TransmitterWebsocket.js +0 -33
  1972. package/dist/lib/core/transmitter/TransmitterWrapper.js +0 -47
  1973. package/dist/lib/core/typeCache/TypeCache.js +0 -39
  1974. package/dist/lib/core/webSocketClient/WebSocketClient.js +0 -136
  1975. package/dist/lib/declarations.d.ts +0 -64
  1976. package/dist/lib/sdk/ConfigRuntimeFactory.js +0 -145
  1977. package/dist/lib/sdk/InvocationContext.js +0 -485
  1978. package/dist/lib/sdk/Javonet.js +0 -105
  1979. package/dist/lib/sdk/RuntimeContext.js +0 -300
  1980. package/dist/lib/sdk/RuntimeFactory.js +0 -78
  1981. package/dist/lib/sdk/tools/JsonFileResolver.js +0 -101
  1982. package/dist/lib/sdk/tools/SdkExceptionHelper.js +0 -79
  1983. package/dist/lib/utils/Command.js +0 -69
  1984. package/dist/lib/utils/CommandType.js +0 -47
  1985. package/dist/lib/utils/ConnectionType.js +0 -8
  1986. package/dist/lib/utils/CustomError.js +0 -8
  1987. package/dist/lib/utils/ExceptionType.js +0 -13
  1988. package/dist/lib/utils/RuntimeLogger.js +0 -30
  1989. package/dist/lib/utils/RuntimeName.js +0 -14
  1990. package/dist/lib/utils/RuntimeNameHandler.js +0 -34
  1991. package/dist/lib/utils/StringEncodingMode.js +0 -9
  1992. package/dist/lib/utils/Type.js +0 -17
  1993. package/dist/lib/utils/TypesConverter.js +0 -91
  1994. package/dist/lib/utils/connectionData/IConnectionData.js +0 -15
  1995. package/dist/lib/utils/connectionData/InMemoryConnectionData.js +0 -35
  1996. package/dist/lib/utils/connectionData/TcpConnectionData.js +0 -77
  1997. package/dist/lib/utils/connectionData/WsConnectionData.js +0 -50
  1998. package/dist/lib/utils/exception/ExceptionSerializer.js +0 -64
  1999. package/dist/lib/utils/exception/ExceptionThrower.js +0 -95
  2000. package/dist/lib/utils/guid/generateGuid.js +0 -9
  2001. package/dist/lib/utils/uuid/REGEX.js +0 -2
  2002. package/dist/lib/utils/uuid/rng.js +0 -12
  2003. package/dist/lib/utils/uuid/stringify.js +0 -51
  2004. package/dist/lib/utils/uuid/v4.js +0 -27
  2005. package/dist/lib/utils/uuid/validate.js +0 -6
  2006. package/lib/sdk/tools/JsonFileResolver.js +0 -101
  2007. package/lib/sdk/tools/SdkExceptionHelper.js +0 -79
  2008. package/lib/utils/TypesConverter.js +0 -91
  2009. package/lib/utils/connectionData/TcpConnectionData.js +0 -77
  2010. package/lib/utils/uuid/REGEX.js +0 -2
  2011. package/lib/utils/uuid/rng.js +0 -12
  2012. package/lib/utils/uuid/stringify.js +0 -51
  2013. package/lib/utils/uuid/v4.js +0 -27
  2014. package/lib/utils/uuid/validate.js +0 -6
@@ -1,3946 +0,0 @@
1
- use 5.008001;
2
- use strict;
3
- use warnings;
4
-
5
- package Path::Tiny;
6
- # ABSTRACT: File path utility
7
-
8
- our $VERSION = '0.148';
9
-
10
- # Dependencies
11
- use Config;
12
- use Exporter 5.57 (qw/import/);
13
- use File::Spec 0.86 (); # shipped with 5.8.1
14
- use Carp ();
15
-
16
- our @EXPORT = qw/path/;
17
- our @EXPORT_OK = qw/cwd rootdir tempfile tempdir/;
18
-
19
- use constant {
20
- PATH => 0,
21
- CANON => 1,
22
- VOL => 2,
23
- DIR => 3,
24
- FILE => 4,
25
- TEMP => 5,
26
- IS_WIN32 => ( $^O eq 'MSWin32' ),
27
- };
28
-
29
- use overload (
30
- q{""} => 'stringify',
31
- bool => sub () { 1 },
32
- fallback => 1,
33
- );
34
-
35
- # FREEZE/THAW per Sereal/CBOR/Types::Serialiser protocol
36
- sub THAW { return path( $_[2] ) }
37
- { no warnings 'once'; *TO_JSON = *FREEZE = \&stringify };
38
-
39
- my $HAS_UU; # has Unicode::UTF8; lazily populated
40
-
41
- sub _check_UU {
42
- local $SIG{__DIE__}; # prevent outer handler from being called
43
- !!eval {
44
- require Unicode::UTF8;
45
- Unicode::UTF8->VERSION(0.58);
46
- 1;
47
- };
48
- }
49
-
50
- my $HAS_PU; # has PerlIO::utf8_strict; lazily populated
51
-
52
- sub _check_PU {
53
- local $SIG{__DIE__}; # prevent outer handler from being called
54
- !!eval {
55
- # MUST preload Encode or $SIG{__DIE__} localization fails
56
- # on some Perl 5.8.8 (maybe other 5.8.*) compiled with -O2.
57
- require Encode;
58
- require PerlIO::utf8_strict;
59
- PerlIO::utf8_strict->VERSION(0.003);
60
- 1;
61
- };
62
- }
63
-
64
- my $HAS_FLOCK = $Config{d_flock} || $Config{d_fcntl_can_lock} || $Config{d_lockf};
65
-
66
- # notions of "root" directories differ on Win32: \\server\dir\ or C:\ or \
67
- my $SLASH = qr{[\\/]};
68
- my $NOTSLASH = qr{[^\\/]};
69
- my $DRV_VOL = qr{[a-z]:}i;
70
- my $UNC_VOL = qr{$SLASH $SLASH $NOTSLASH+ $SLASH $NOTSLASH+}x;
71
- my $WIN32_ROOT = qr{(?: $UNC_VOL $SLASH | $DRV_VOL $SLASH | $SLASH )}x;
72
-
73
- sub _win32_vol {
74
- my ( $path, $drv ) = @_;
75
- require Cwd;
76
- my $dcwd = eval { Cwd::getdcwd($drv) }; # C: -> C:\some\cwd
77
- # getdcwd on non-existent drive returns empty string
78
- # so just use the original drive Z: -> Z:
79
- $dcwd = "$drv" unless defined $dcwd && length $dcwd;
80
- # normalize dwcd to end with a slash: might be C:\some\cwd or D:\ or Z:
81
- $dcwd =~ s{$SLASH?\z}{/};
82
- # make the path absolute with dcwd
83
- $path =~ s{^$DRV_VOL}{$dcwd};
84
- return $path;
85
- }
86
-
87
- # This is a string test for before we have the object; see is_rootdir for well-formed
88
- # object test
89
- sub _is_root {
90
- return IS_WIN32() ? ( $_[0] =~ /^$WIN32_ROOT\z/ ) : ( $_[0] eq '/' );
91
- }
92
-
93
- BEGIN {
94
- *_same = IS_WIN32() ? sub { lc( $_[0] ) eq lc( $_[1] ) } : sub { $_[0] eq $_[1] };
95
- }
96
-
97
- # mode bits encoded for chmod in symbolic mode
98
- my %MODEBITS = ( om => 0007, gm => 0070, um => 0700 ); ## no critic
99
- { my $m = 0; $MODEBITS{$_} = ( 1 << $m++ ) for qw/ox ow or gx gw gr ux uw ur/ };
100
-
101
- sub _symbolic_chmod {
102
- my ( $mode, $symbolic ) = @_;
103
- for my $clause ( split /,\s*/, $symbolic ) {
104
- if ( $clause =~ m{\A([augo]+)([=+-])([rwx]+)\z} ) {
105
- my ( $who, $action, $perms ) = ( $1, $2, $3 );
106
- $who =~ s/a/ugo/g;
107
- for my $w ( split //, $who ) {
108
- my $p = 0;
109
- $p |= $MODEBITS{"$w$_"} for split //, $perms;
110
- if ( $action eq '=' ) {
111
- $mode = ( $mode & ~$MODEBITS{"${w}m"} ) | $p;
112
- }
113
- else {
114
- $mode = $action eq "+" ? ( $mode | $p ) : ( $mode & ~$p );
115
- }
116
- }
117
- }
118
- else {
119
- Carp::croak("Invalid mode clause '$clause' for chmod()");
120
- }
121
- }
122
- return $mode;
123
- }
124
-
125
- # flock doesn't work on NFS on BSD or on some filesystems like lustre.
126
- # Since program authors often can't control or detect that, we warn once
127
- # instead of being fatal if we can detect it and people who need it strict
128
- # can fatalize the 'flock' category
129
-
130
- #<<< No perltidy
131
- { package flock; use warnings::register }
132
- #>>>
133
-
134
- my $WARNED_NO_FLOCK = 0;
135
-
136
- sub _throw {
137
- my ( $self, $function, $file, $msg ) = @_;
138
- if ( $function =~ /^flock/
139
- && $! =~ /operation not supported|function not implemented/i
140
- && !warnings::fatal_enabled('flock') )
141
- {
142
- if ( !$WARNED_NO_FLOCK ) {
143
- warnings::warn( flock => "Flock not available: '$!': continuing in unsafe mode" );
144
- $WARNED_NO_FLOCK++;
145
- }
146
- }
147
- else {
148
- $msg = $! unless defined $msg;
149
- Path::Tiny::Error->throw( $function, ( defined $file ? $file : $self->[PATH] ),
150
- $msg );
151
- }
152
- return;
153
- }
154
-
155
- # cheapo option validation
156
- sub _get_args {
157
- my ( $raw, @valid ) = @_;
158
- if ( defined($raw) && ref($raw) ne 'HASH' ) {
159
- my ( undef, undef, undef, $called_as ) = caller(1);
160
- $called_as =~ s{^.*::}{};
161
- Carp::croak("Options for $called_as must be a hash reference");
162
- }
163
- my $cooked = {};
164
- for my $k (@valid) {
165
- $cooked->{$k} = delete $raw->{$k} if exists $raw->{$k};
166
- }
167
- if ( keys %$raw ) {
168
- my ( undef, undef, undef, $called_as ) = caller(1);
169
- $called_as =~ s{^.*::}{};
170
- Carp::croak( "Invalid option(s) for $called_as: " . join( ", ", keys %$raw ) );
171
- }
172
- return $cooked;
173
- }
174
-
175
- #--------------------------------------------------------------------------#
176
- # Constructors
177
- #--------------------------------------------------------------------------#
178
-
179
- #pod =construct path
180
- #pod
181
- #pod $path = path("foo/bar");
182
- #pod $path = path("/tmp", "file.txt"); # list
183
- #pod $path = path("."); # cwd
184
- #pod
185
- #pod Constructs a C<Path::Tiny> object. It doesn't matter if you give a file or
186
- #pod directory path. It's still up to you to call directory-like methods only on
187
- #pod directories and file-like methods only on files. This function is exported
188
- #pod automatically by default.
189
- #pod
190
- #pod The first argument must be defined and have non-zero length or an exception
191
- #pod will be thrown. This prevents subtle, dangerous errors with code like
192
- #pod C<< path( maybe_undef() )->remove_tree >>.
193
- #pod
194
- #pod B<DEPRECATED>: If and only if the B<first> character of the B<first> argument
195
- #pod to C<path> is a tilde ('~'), then tilde replacement will be applied to the
196
- #pod first path segment. A single tilde will be replaced with C<glob('~')> and a
197
- #pod tilde followed by a username will be replaced with output of
198
- #pod C<glob('~username')>. B<No other method does tilde expansion on its arguments>.
199
- #pod See L</Tilde expansion (deprecated)> for more.
200
- #pod
201
- #pod On Windows, if the path consists of a drive identifier without a path component
202
- #pod (C<C:> or C<D:>), it will be expanded to the absolute path of the current
203
- #pod directory on that volume using C<Cwd::getdcwd()>.
204
- #pod
205
- #pod If called with a single C<Path::Tiny> argument, the original is returned unless
206
- #pod the original is holding a temporary file or directory reference in which case a
207
- #pod stringified copy is made.
208
- #pod
209
- #pod $path = path("foo/bar");
210
- #pod $temp = Path::Tiny->tempfile;
211
- #pod
212
- #pod $p2 = path($path); # like $p2 = $path
213
- #pod $t2 = path($temp); # like $t2 = path( "$temp" )
214
- #pod
215
- #pod This optimizes copies without proliferating references unexpectedly if a copy is
216
- #pod made by code outside your control.
217
- #pod
218
- #pod Current API available since 0.017.
219
- #pod
220
- #pod =cut
221
-
222
- sub path {
223
- my $path = shift;
224
- Carp::croak("Path::Tiny paths require defined, positive-length parts")
225
- unless 1 + @_ == grep { defined && length } $path, @_;
226
-
227
- # non-temp Path::Tiny objects are effectively immutable and can be reused
228
- if ( !@_ && ref($path) eq __PACKAGE__ && !$path->[TEMP] ) {
229
- return $path;
230
- }
231
-
232
- # stringify objects
233
- $path = "$path";
234
-
235
- # do any tilde expansions
236
- my ($tilde) = $path =~ m{^(~[^/]*)};
237
- if ( defined $tilde ) {
238
- # Escape File::Glob metacharacters
239
- (my $escaped = $tilde) =~ s/([\[\{\*\?\\])/\\$1/g;
240
- require File::Glob;
241
- my ($homedir) = File::Glob::bsd_glob($escaped);
242
- if (defined $homedir && ! $File::Glob::ERROR) {
243
- $homedir =~ tr[\\][/] if IS_WIN32();
244
- $path =~ s{^\Q$tilde\E}{$homedir};
245
- }
246
- }
247
-
248
- unshift @_, $path;
249
- goto &_pathify;
250
- }
251
-
252
- # _path is like path but without tilde expansion
253
- sub _path {
254
- my $path = shift;
255
- Carp::croak("Path::Tiny paths require defined, positive-length parts")
256
- unless 1 + @_ == grep { defined && length } $path, @_;
257
-
258
- # non-temp Path::Tiny objects are effectively immutable and can be reused
259
- if ( !@_ && ref($path) eq __PACKAGE__ && !$path->[TEMP] ) {
260
- return $path;
261
- }
262
-
263
- # stringify objects
264
- $path = "$path";
265
-
266
- unshift @_, $path;
267
- goto &_pathify;
268
- }
269
-
270
- # _pathify expects one or more string arguments, then joins and canonicalizes
271
- # them into an object.
272
- sub _pathify {
273
- my $path = shift;
274
-
275
- # expand relative volume paths on windows; put trailing slash on UNC root
276
- if ( IS_WIN32() ) {
277
- $path = _win32_vol( $path, $1 ) if $path =~ m{^($DRV_VOL)(?:$NOTSLASH|\z)};
278
- $path .= "/" if $path =~ m{^$UNC_VOL\z};
279
- }
280
-
281
- # concatenations stringifies objects, too
282
- if (@_) {
283
- $path .= ( _is_root($path) ? "" : "/" ) . join( "/", @_ );
284
- }
285
-
286
-
287
- # canonicalize, but with unix slashes and put back trailing volume slash
288
- my $cpath = $path = File::Spec->canonpath($path);
289
- $path =~ tr[\\][/] if IS_WIN32();
290
- $path = "/" if $path eq '/..'; # for old File::Spec
291
- $path .= "/" if IS_WIN32() && $path =~ m{^$UNC_VOL\z};
292
-
293
- # root paths must always have a trailing slash, but other paths must not
294
- if ( _is_root($path) ) {
295
- $path =~ s{/?\z}{/};
296
- }
297
- else {
298
- $path =~ s{/\z}{};
299
- }
300
-
301
- bless [ $path, $cpath ], __PACKAGE__;
302
- }
303
-
304
- #pod =construct new
305
- #pod
306
- #pod $path = Path::Tiny->new("foo/bar");
307
- #pod
308
- #pod This is just like C<path>, but with method call overhead. (Why would you
309
- #pod do that?)
310
- #pod
311
- #pod Current API available since 0.001.
312
- #pod
313
- #pod =cut
314
-
315
- sub new { shift; path(@_) }
316
-
317
- #pod =construct cwd
318
- #pod
319
- #pod $path = Path::Tiny->cwd; # path( Cwd::getcwd )
320
- #pod $path = cwd; # optional export
321
- #pod
322
- #pod Gives you the absolute path to the current directory as a C<Path::Tiny> object.
323
- #pod This is slightly faster than C<< path(".")->absolute >>.
324
- #pod
325
- #pod C<cwd> may be exported on request and used as a function instead of as a
326
- #pod method.
327
- #pod
328
- #pod Current API available since 0.018.
329
- #pod
330
- #pod =cut
331
-
332
- sub cwd {
333
- require Cwd;
334
- return _path( Cwd::getcwd() );
335
- }
336
-
337
- #pod =construct rootdir
338
- #pod
339
- #pod $path = Path::Tiny->rootdir; # /
340
- #pod $path = rootdir; # optional export
341
- #pod
342
- #pod Gives you C<< File::Spec->rootdir >> as a C<Path::Tiny> object if you're too
343
- #pod picky for C<path("/")>.
344
- #pod
345
- #pod C<rootdir> may be exported on request and used as a function instead of as a
346
- #pod method.
347
- #pod
348
- #pod Current API available since 0.018.
349
- #pod
350
- #pod =cut
351
-
352
- sub rootdir { _path( File::Spec->rootdir ) }
353
-
354
- #pod =construct tempfile, tempdir
355
- #pod
356
- #pod $temp = Path::Tiny->tempfile( @options );
357
- #pod $temp = Path::Tiny->tempdir( @options );
358
- #pod $temp = $dirpath->tempfile( @options );
359
- #pod $temp = $dirpath->tempdir( @options );
360
- #pod $temp = tempfile( @options ); # optional export
361
- #pod $temp = tempdir( @options ); # optional export
362
- #pod
363
- #pod C<tempfile> passes the options to C<< File::Temp->new >> and returns a
364
- #pod C<Path::Tiny> object with the file name. The C<TMPDIR> option will be enabled
365
- #pod by default, but you can override that by passing C<< TMPDIR => 0 >> along with
366
- #pod the options. (If you use an absolute C<TEMPLATE> option, you will want to
367
- #pod disable C<TMPDIR>.)
368
- #pod
369
- #pod The resulting C<File::Temp> object is cached. When the C<Path::Tiny> object is
370
- #pod destroyed, the C<File::Temp> object will be as well.
371
- #pod
372
- #pod C<File::Temp> annoyingly requires you to specify a custom template in slightly
373
- #pod different ways depending on which function or method you call, but
374
- #pod C<Path::Tiny> lets you ignore that and can take either a leading template or a
375
- #pod C<TEMPLATE> option and does the right thing.
376
- #pod
377
- #pod $temp = Path::Tiny->tempfile( "customXXXXXXXX" ); # ok
378
- #pod $temp = Path::Tiny->tempfile( TEMPLATE => "customXXXXXXXX" ); # ok
379
- #pod
380
- #pod The tempfile path object will be normalized to have an absolute path, even if
381
- #pod created in a relative directory using C<DIR>. If you want it to have
382
- #pod the C<realpath> instead, pass a leading options hash like this:
383
- #pod
384
- #pod $real_temp = tempfile({realpath => 1}, @options);
385
- #pod
386
- #pod C<tempdir> is just like C<tempfile>, except it calls
387
- #pod C<< File::Temp->newdir >> instead.
388
- #pod
389
- #pod Both C<tempfile> and C<tempdir> may be exported on request and used as
390
- #pod functions instead of as methods.
391
- #pod
392
- #pod The methods can be called on an instances representing a
393
- #pod directory. In this case, the directory is used as the base to create the
394
- #pod temporary file/directory, setting the C<DIR> option in File::Temp.
395
- #pod
396
- #pod my $target_dir = path('/to/destination');
397
- #pod my $tempfile = $target_dir->tempfile('foobarXXXXXX');
398
- #pod $tempfile->spew('A lot of data...'); # not atomic
399
- #pod $tempfile->move($target_dir->child('foobar')); # hopefully atomic
400
- #pod
401
- #pod In this case, any value set for option C<DIR> is ignored.
402
- #pod
403
- #pod B<Note>: for tempfiles, the filehandles from File::Temp are closed and not
404
- #pod reused. This is not as secure as using File::Temp handles directly, but is
405
- #pod less prone to deadlocks or access problems on some platforms. Think of what
406
- #pod C<Path::Tiny> gives you to be just a temporary file B<name> that gets cleaned
407
- #pod up.
408
- #pod
409
- #pod B<Note 2>: if you don't want these cleaned up automatically when the object
410
- #pod is destroyed, File::Temp requires different options for directories and
411
- #pod files. Use C<< CLEANUP => 0 >> for directories and C<< UNLINK => 0 >> for
412
- #pod files.
413
- #pod
414
- #pod B<Note 3>: Don't lose the temporary object by chaining a method call instead
415
- #pod of storing it:
416
- #pod
417
- #pod my $lost = tempdir()->child("foo"); # tempdir cleaned up right away
418
- #pod
419
- #pod B<Note 4>: The cached object may be accessed with the L</cached_temp> method.
420
- #pod Keeping a reference to, or modifying the cached object may break the
421
- #pod behavior documented above and is not supported. Use at your own risk.
422
- #pod
423
- #pod Current API available since 0.119.
424
- #pod
425
- #pod =cut
426
-
427
- sub tempfile {
428
- my ( $opts, $maybe_template, $args )
429
- = _parse_file_temp_args(tempfile => @_);
430
-
431
- # File::Temp->new demands TEMPLATE
432
- $args->{TEMPLATE} = $maybe_template->[0] if @$maybe_template;
433
-
434
- require File::Temp;
435
- my $temp = File::Temp->new( TMPDIR => 1, %$args );
436
- close $temp;
437
- my $self = $opts->{realpath} ? _path($temp)->realpath : _path($temp)->absolute;
438
- $self->[TEMP] = $temp; # keep object alive while we are
439
- return $self;
440
- }
441
-
442
- sub tempdir {
443
- my ( $opts, $maybe_template, $args )
444
- = _parse_file_temp_args(tempdir => @_);
445
-
446
- require File::Temp;
447
- my $temp = File::Temp->newdir( @$maybe_template, TMPDIR => 1, %$args );
448
- my $self = $opts->{realpath} ? _path($temp)->realpath : _path($temp)->absolute;
449
- $self->[TEMP] = $temp; # keep object alive while we are
450
- # Some ActiveState Perls for Windows break Cwd in ways that lead
451
- # File::Temp to get confused about what path to remove; this
452
- # monkey-patches the object with our own view of the absolute path
453
- $temp->{REALNAME} = $self->[CANON] if IS_WIN32;
454
- return $self;
455
- }
456
-
457
- # normalize the various ways File::Temp does templates
458
- sub _parse_file_temp_args {
459
- my $called_as = shift;
460
- if ( @_ && $_[0] eq 'Path::Tiny' ) { shift } # class method
461
- elsif ( @_ && eval{$_[0]->isa('Path::Tiny')} ) {
462
- my $dir = shift;
463
- if (! $dir->is_dir) {
464
- $dir->_throw( $called_as, $dir, "is not a directory object" );
465
- }
466
- push @_, DIR => $dir->stringify; # no overriding
467
- }
468
- my $opts = ( @_ && ref $_[0] eq 'HASH' ) ? shift @_ : {};
469
- $opts = _get_args( $opts, qw/realpath/ );
470
-
471
- my $leading_template = ( scalar(@_) % 2 == 1 ? shift(@_) : '' );
472
- my %args = @_;
473
- %args = map { uc($_), $args{$_} } keys %args;
474
- my @template = (
475
- exists $args{TEMPLATE} ? delete $args{TEMPLATE}
476
- : $leading_template ? $leading_template
477
- : ()
478
- );
479
-
480
- return ( $opts, \@template, \%args );
481
- }
482
-
483
- #--------------------------------------------------------------------------#
484
- # Private methods
485
- #--------------------------------------------------------------------------#
486
-
487
- sub _splitpath {
488
- my ($self) = @_;
489
- @{$self}[ VOL, DIR, FILE ] = File::Spec->splitpath( $self->[PATH] );
490
- }
491
-
492
- sub _resolve_symlinks {
493
- my ($self) = @_;
494
- my $new = $self;
495
- my ( $count, %seen ) = 0;
496
- while ( -l $new->[PATH] ) {
497
- if ( $seen{ $new->[PATH] }++ ) {
498
- $self->_throw( 'readlink', $self->[PATH], "symlink loop detected" );
499
- }
500
- if ( ++$count > 100 ) {
501
- $self->_throw( 'readlink', $self->[PATH], "maximum symlink depth exceeded" );
502
- }
503
- my $resolved = readlink $new->[PATH];
504
- $new->_throw( 'readlink', $new->[PATH] ) unless defined $resolved;
505
- $resolved = _path($resolved);
506
- $new = $resolved->is_absolute ? $resolved : $new->sibling($resolved);
507
- }
508
- return $new;
509
- }
510
-
511
- sub _replacement_path {
512
- my ($self) = @_;
513
-
514
- my $unique_suffix = $$ . int( rand( 2**31 ) );
515
- my $temp = _path( $self . $unique_suffix );
516
-
517
- # If filename with process+random suffix is too long, use a shorter
518
- # version that doesn't preserve the basename.
519
- if ( length $temp->basename > 255 ) {
520
- $temp = $self->sibling( "temp" . $unique_suffix );
521
- }
522
-
523
- return $temp;
524
- }
525
-
526
- #--------------------------------------------------------------------------#
527
- # Public methods
528
- #--------------------------------------------------------------------------#
529
-
530
- #pod =method absolute
531
- #pod
532
- #pod $abs = path("foo/bar")->absolute;
533
- #pod $abs = path("foo/bar")->absolute("/tmp");
534
- #pod
535
- #pod Returns a new C<Path::Tiny> object with an absolute path (or itself if already
536
- #pod absolute). If no argument is given, the current directory is used as the
537
- #pod absolute base path. If an argument is given, it will be converted to an
538
- #pod absolute path (if it is not already) and used as the absolute base path.
539
- #pod
540
- #pod This will not resolve upward directories ("foo/../bar") unless C<canonpath>
541
- #pod in L<File::Spec> would normally do so on your platform. If you need them
542
- #pod resolved, you must call the more expensive C<realpath> method instead.
543
- #pod
544
- #pod On Windows, an absolute path without a volume component will have it added
545
- #pod based on the current drive.
546
- #pod
547
- #pod Current API available since 0.101.
548
- #pod
549
- #pod =cut
550
-
551
- sub absolute {
552
- my ( $self, $base ) = @_;
553
-
554
- # absolute paths handled differently by OS
555
- if (IS_WIN32) {
556
- return $self if length $self->volume;
557
- # add missing volume
558
- if ( $self->is_absolute ) {
559
- require Cwd;
560
- # use Win32::GetCwd not Cwd::getdcwd because we're sure
561
- # to have the former but not necessarily the latter
562
- my ($drv) = Win32::GetCwd() =~ /^($DRV_VOL | $UNC_VOL)/x;
563
- return _path( $drv . $self->[PATH] );
564
- }
565
- }
566
- else {
567
- return $self if $self->is_absolute;
568
- }
569
-
570
- # no base means use current directory as base
571
- require Cwd;
572
- return _path( Cwd::getcwd(), $_[0]->[PATH] ) unless defined $base;
573
-
574
- # relative base should be made absolute; we check is_absolute rather
575
- # than unconditionally make base absolute so that "/foo" doesn't become
576
- # "C:/foo" on Windows.
577
- $base = _path($base);
578
- return _path( ( $base->is_absolute ? $base : $base->absolute ), $_[0]->[PATH] );
579
- }
580
-
581
- #pod =method append, append_raw, append_utf8
582
- #pod
583
- #pod path("foo.txt")->append(@data);
584
- #pod path("foo.txt")->append(\@data);
585
- #pod path("foo.txt")->append({binmode => ":raw"}, @data);
586
- #pod path("foo.txt")->append_raw(@data);
587
- #pod path("foo.txt")->append_utf8(@data);
588
- #pod
589
- #pod Appends data to a file. The file is locked with C<flock> prior to writing
590
- #pod and closed afterwards. An optional hash reference may be used to pass
591
- #pod options. Valid options are:
592
- #pod
593
- #pod =for :list
594
- #pod * C<binmode>: passed to C<binmode()> on the handle used for writing.
595
- #pod * C<truncate>: truncates the file after locking and before appending
596
- #pod
597
- #pod The C<truncate> option is a way to replace the contents of a file
598
- #pod B<in place>, unlike L</spew> which writes to a temporary file and then
599
- #pod replaces the original (if it exists).
600
- #pod
601
- #pod C<append_raw> is like C<append> with a C<binmode> of C<:unix> for a fast,
602
- #pod unbuffered, raw write.
603
- #pod
604
- #pod C<append_utf8> is like C<append> with an unbuffered C<binmode>
605
- #pod C<:unix:encoding(UTF-8)> (or C<:unix:utf8_strict> with
606
- #pod L<PerlIO::utf8_strict>). If L<Unicode::UTF8> 0.58+ is installed, an
607
- #pod unbuffered, raw append will be done instead on the data encoded with
608
- #pod C<Unicode::UTF8>.
609
- #pod
610
- #pod Current API available since 0.060.
611
- #pod
612
- #pod =cut
613
-
614
- sub append {
615
- my ( $self, @data ) = @_;
616
- my $args = ( @data && ref $data[0] eq 'HASH' ) ? shift @data : {};
617
- $args = _get_args( $args, qw/binmode truncate/ );
618
- my $binmode = $args->{binmode};
619
- $binmode = ( ( caller(0) )[10] || {} )->{'open>'} unless defined $binmode;
620
- my $mode = $args->{truncate} ? ">" : ">>";
621
- my $fh = $self->filehandle( { locked => 1 }, $mode, $binmode );
622
- print( {$fh} map { ref eq 'ARRAY' ? @$_ : $_ } @data ) or $self->_throw('print');
623
- close $fh or $self->_throw('close');
624
- }
625
-
626
- sub append_raw {
627
- my ( $self, @data ) = @_;
628
- my $args = ( @data && ref $data[0] eq 'HASH' ) ? shift @data : {};
629
- $args = _get_args( $args, qw/binmode truncate/ );
630
- $args->{binmode} = ':unix';
631
- append( $self, $args, @data );
632
- }
633
-
634
- sub append_utf8 {
635
- my ( $self, @data ) = @_;
636
- my $args = ( @data && ref $data[0] eq 'HASH' ) ? shift @data : {};
637
- $args = _get_args( $args, qw/binmode truncate/ );
638
- if ( defined($HAS_UU) ? $HAS_UU : ( $HAS_UU = _check_UU() ) ) {
639
- $args->{binmode} = ":unix";
640
- append( $self, $args, map { Unicode::UTF8::encode_utf8($_) } @data );
641
- }
642
- elsif ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
643
- $args->{binmode} = ":unix:utf8_strict";
644
- append( $self, $args, @data );
645
- }
646
- else {
647
- $args->{binmode} = ":unix:encoding(UTF-8)";
648
- append( $self, $args, @data );
649
- }
650
- }
651
-
652
- #pod =method assert
653
- #pod
654
- #pod $path = path("foo.txt")->assert( sub { $_->exists } );
655
- #pod
656
- #pod Returns the invocant after asserting that a code reference argument returns
657
- #pod true. When the assertion code reference runs, it will have the invocant
658
- #pod object in the C<$_> variable. If it returns false, an exception will be
659
- #pod thrown. The assertion code reference may also throw its own exception.
660
- #pod
661
- #pod If no assertion is provided, the invocant is returned without error.
662
- #pod
663
- #pod Current API available since 0.062.
664
- #pod
665
- #pod =cut
666
-
667
- sub assert {
668
- my ( $self, $assertion ) = @_;
669
- return $self unless $assertion;
670
- if ( ref $assertion eq 'CODE' ) {
671
- local $_ = $self;
672
- $assertion->()
673
- or Path::Tiny::Error->throw( "assert", $self->[PATH], "failed assertion" );
674
- }
675
- else {
676
- Carp::croak("argument to assert must be a code reference argument");
677
- }
678
- return $self;
679
- }
680
-
681
- #pod =method basename
682
- #pod
683
- #pod $name = path("foo/bar.txt")->basename; # bar.txt
684
- #pod $name = path("foo.txt")->basename('.txt'); # foo
685
- #pod $name = path("foo.txt")->basename(qr/.txt/); # foo
686
- #pod $name = path("foo.txt")->basename(@suffixes);
687
- #pod
688
- #pod Returns the file portion or last directory portion of a path.
689
- #pod
690
- #pod Given a list of suffixes as strings or regular expressions, any that match at
691
- #pod the end of the file portion or last directory portion will be removed before
692
- #pod the result is returned.
693
- #pod
694
- #pod Current API available since 0.054.
695
- #pod
696
- #pod =cut
697
-
698
- sub basename {
699
- my ( $self, @suffixes ) = @_;
700
- $self->_splitpath unless defined $self->[FILE];
701
- my $file = $self->[FILE];
702
- for my $s (@suffixes) {
703
- my $re = ref($s) eq 'Regexp' ? qr/$s\z/ : qr/\Q$s\E\z/;
704
- last if $file =~ s/$re//;
705
- }
706
- return $file;
707
- }
708
-
709
- #pod =method canonpath
710
- #pod
711
- #pod $canonical = path("foo/bar")->canonpath; # foo\bar on Windows
712
- #pod
713
- #pod Returns a string with the canonical format of the path name for
714
- #pod the platform. In particular, this means directory separators
715
- #pod will be C<\> on Windows.
716
- #pod
717
- #pod Current API available since 0.001.
718
- #pod
719
- #pod =cut
720
-
721
- sub canonpath { $_[0]->[CANON] }
722
-
723
- #pod =method cached_temp
724
- #pod
725
- #pod Returns the cached C<File::Temp> or C<File::Temp::Dir> object if the
726
- #pod C<Path::Tiny> object was created with C</tempfile> or C</tempdir>.
727
- #pod If there is no such object, this method throws.
728
- #pod
729
- #pod B<WARNING>: Keeping a reference to, or modifying the cached object may
730
- #pod break the behavior documented for temporary files and directories created
731
- #pod with C<Path::Tiny> and is not supported. Use at your own risk.
732
- #pod
733
- #pod Current API available since 0.101.
734
- #pod
735
- #pod =cut
736
-
737
- sub cached_temp {
738
- my $self = shift;
739
- $self->_throw( "cached_temp", $self, "has no cached File::Temp object" )
740
- unless defined $self->[TEMP];
741
- return $self->[TEMP];
742
- }
743
-
744
- #pod =method child
745
- #pod
746
- #pod $file = path("/tmp")->child("foo.txt"); # "/tmp/foo.txt"
747
- #pod $file = path("/tmp")->child(@parts);
748
- #pod
749
- #pod Returns a new C<Path::Tiny> object relative to the original. Works
750
- #pod like C<catfile> or C<catdir> from File::Spec, but without caring about
751
- #pod file or directories.
752
- #pod
753
- #pod B<WARNING>: because the argument could contain C<..> or refer to symlinks,
754
- #pod there is no guarantee that the new path refers to an actual descendent of
755
- #pod the original. If this is important to you, transform parent and child with
756
- #pod L</realpath> and check them with L</subsumes>.
757
- #pod
758
- #pod Current API available since 0.001.
759
- #pod
760
- #pod =cut
761
-
762
- sub child {
763
- my ( $self, @parts ) = @_;
764
- return _path( $self->[PATH], @parts );
765
- }
766
-
767
- #pod =method children
768
- #pod
769
- #pod @paths = path("/tmp")->children;
770
- #pod @paths = path("/tmp")->children( qr/\.txt\z/ );
771
- #pod
772
- #pod Returns a list of C<Path::Tiny> objects for all files and directories
773
- #pod within a directory. Excludes "." and ".." automatically.
774
- #pod
775
- #pod If an optional C<qr//> argument is provided, it only returns objects for child
776
- #pod names that match the given regular expression. Only the base name is used
777
- #pod for matching:
778
- #pod
779
- #pod @paths = path("/tmp")->children( qr/^foo/ );
780
- #pod # matches children like the glob foo*
781
- #pod
782
- #pod Current API available since 0.028.
783
- #pod
784
- #pod =cut
785
-
786
- sub children {
787
- my ( $self, $filter ) = @_;
788
- my $dh;
789
- opendir $dh, $self->[PATH] or $self->_throw('opendir');
790
- my @children = readdir $dh;
791
- closedir $dh or $self->_throw('closedir');
792
-
793
- if ( not defined $filter ) {
794
- @children = grep { $_ ne '.' && $_ ne '..' } @children;
795
- }
796
- elsif ( $filter && ref($filter) eq 'Regexp' ) {
797
- @children = grep { $_ ne '.' && $_ ne '..' && $_ =~ $filter } @children;
798
- }
799
- else {
800
- Carp::croak("Invalid argument '$filter' for children()");
801
- }
802
-
803
- return map { _path( $self->[PATH], $_ ) } @children;
804
- }
805
-
806
- #pod =method chmod
807
- #pod
808
- #pod path("foo.txt")->chmod(0777);
809
- #pod path("foo.txt")->chmod("0755");
810
- #pod path("foo.txt")->chmod("go-w");
811
- #pod path("foo.txt")->chmod("a=r,u+wx");
812
- #pod
813
- #pod Sets file or directory permissions. The argument can be a numeric mode, a
814
- #pod octal string beginning with a "0" or a limited subset of the symbolic mode use
815
- #pod by F</bin/chmod>.
816
- #pod
817
- #pod The symbolic mode must be a comma-delimited list of mode clauses. Clauses must
818
- #pod match C<< qr/\A([augo]+)([=+-])([rwx]+)\z/ >>, which defines "who", "op" and
819
- #pod "perms" parameters for each clause. Unlike F</bin/chmod>, all three parameters
820
- #pod are required for each clause, multiple ops are not allowed and permissions
821
- #pod C<stugoX> are not supported. (See L<File::chmod> for more complex needs.)
822
- #pod
823
- #pod Current API available since 0.053.
824
- #pod
825
- #pod =cut
826
-
827
- sub chmod {
828
- my ( $self, $new_mode ) = @_;
829
-
830
- my $mode;
831
- if ( $new_mode =~ /\d/ ) {
832
- $mode = ( $new_mode =~ /^0/ ? oct($new_mode) : $new_mode );
833
- }
834
- elsif ( $new_mode =~ /[=+-]/ ) {
835
- $mode = _symbolic_chmod( $self->stat->mode & 07777, $new_mode ); ## no critic
836
- }
837
- else {
838
- Carp::croak("Invalid mode argument '$new_mode' for chmod()");
839
- }
840
-
841
- CORE::chmod( $mode, $self->[PATH] ) or $self->_throw("chmod");
842
-
843
- return 1;
844
- }
845
-
846
- #pod =method copy
847
- #pod
848
- #pod path("/tmp/foo.txt")->copy("/tmp/bar.txt");
849
- #pod
850
- #pod Copies the current path to the given destination using L<File::Copy>'s
851
- #pod C<copy> function. Upon success, returns the C<Path::Tiny> object for the
852
- #pod newly copied file.
853
- #pod
854
- #pod Current API available since 0.070.
855
- #pod
856
- #pod =cut
857
-
858
- # XXX do recursively for directories?
859
- sub copy {
860
- my ( $self, $dest ) = @_;
861
- require File::Copy;
862
- File::Copy::copy( $self->[PATH], $dest )
863
- or Carp::croak("copy failed for $self to $dest: $!");
864
-
865
- return -d $dest ? _path( $dest, $self->basename ) : _path($dest);
866
- }
867
-
868
- #pod =method digest
869
- #pod
870
- #pod $obj = path("/tmp/foo.txt")->digest; # SHA-256
871
- #pod $obj = path("/tmp/foo.txt")->digest("MD5"); # user-selected
872
- #pod $obj = path("/tmp/foo.txt")->digest( { chunk_size => 1e6 }, "MD5" );
873
- #pod
874
- #pod Returns a hexadecimal digest for a file. An optional hash reference of options may
875
- #pod be given. The only option is C<chunk_size>. If C<chunk_size> is given, that many
876
- #pod bytes will be read at a time. If not provided, the entire file will be slurped
877
- #pod into memory to compute the digest.
878
- #pod
879
- #pod Any subsequent arguments are passed to the constructor for L<Digest> to select
880
- #pod an algorithm. If no arguments are given, the default is SHA-256.
881
- #pod
882
- #pod Current API available since 0.056.
883
- #pod
884
- #pod =cut
885
-
886
- sub digest {
887
- my ( $self, @opts ) = @_;
888
- my $args = ( @opts && ref $opts[0] eq 'HASH' ) ? shift @opts : {};
889
- $args = _get_args( $args, qw/chunk_size/ );
890
- unshift @opts, 'SHA-256' unless @opts;
891
- require Digest;
892
- my $digest = Digest->new(@opts);
893
- if ( $args->{chunk_size} ) {
894
- my $fh = $self->filehandle( { locked => 1 }, "<", ":unix" );
895
- my $buf;
896
- while (!eof($fh)) {
897
- my $rc = read $fh, $buf, $args->{chunk_size};
898
- $self->_throw('read') unless defined $rc;
899
- $digest->add($buf);
900
- }
901
- }
902
- else {
903
- $digest->add( $self->slurp_raw );
904
- }
905
- return $digest->hexdigest;
906
- }
907
-
908
- #pod =method dirname (deprecated)
909
- #pod
910
- #pod $name = path("/tmp/foo.txt")->dirname; # "/tmp/"
911
- #pod
912
- #pod Returns the directory portion you would get from calling
913
- #pod C<< File::Spec->splitpath( $path->stringify ) >> or C<"."> for a path without a
914
- #pod parent directory portion. Because L<File::Spec> is inconsistent, the result
915
- #pod might or might not have a trailing slash. Because of this, this method is
916
- #pod B<deprecated>.
917
- #pod
918
- #pod A better, more consistently approach is likely C<< $path->parent->stringify >>,
919
- #pod which will not have a trailing slash except for a root directory.
920
- #pod
921
- #pod Deprecated in 0.056.
922
- #pod
923
- #pod =cut
924
-
925
- sub dirname {
926
- my ($self) = @_;
927
- $self->_splitpath unless defined $self->[DIR];
928
- return length $self->[DIR] ? $self->[DIR] : ".";
929
- }
930
-
931
- #pod =method edit, edit_raw, edit_utf8
932
- #pod
933
- #pod path("foo.txt")->edit( \&callback, $options );
934
- #pod path("foo.txt")->edit_utf8( \&callback );
935
- #pod path("foo.txt")->edit_raw( \&callback );
936
- #pod
937
- #pod These are convenience methods that allow "editing" a file using a single
938
- #pod callback argument. They slurp the file using C<slurp>, place the contents
939
- #pod inside a localized C<$_> variable, call the callback function (without
940
- #pod arguments), and then write C<$_> (presumably mutated) back to the
941
- #pod file with C<spew>.
942
- #pod
943
- #pod An optional hash reference may be used to pass options. The only option is
944
- #pod C<binmode>, which is passed to C<slurp> and C<spew>.
945
- #pod
946
- #pod C<edit_utf8> and C<edit_raw> act like their respective C<slurp_*> and
947
- #pod C<spew_*> methods.
948
- #pod
949
- #pod Current API available since 0.077.
950
- #pod
951
- #pod =cut
952
-
953
- sub edit {
954
- my $self = shift;
955
- my $cb = shift;
956
- my $args = _get_args( shift, qw/binmode/ );
957
- Carp::croak("Callback for edit() must be a code reference")
958
- unless defined($cb) && ref($cb) eq 'CODE';
959
-
960
- local $_ =
961
- $self->slurp( exists( $args->{binmode} ) ? { binmode => $args->{binmode} } : () );
962
- $cb->();
963
- $self->spew( $args, $_ );
964
-
965
- return;
966
- }
967
-
968
- # this is done long-hand to benefit from slurp_utf8 optimizations
969
- sub edit_utf8 {
970
- my ( $self, $cb ) = @_;
971
- Carp::croak("Callback for edit_utf8() must be a code reference")
972
- unless defined($cb) && ref($cb) eq 'CODE';
973
-
974
- local $_ = $self->slurp_utf8;
975
- $cb->();
976
- $self->spew_utf8($_);
977
-
978
- return;
979
- }
980
-
981
- sub edit_raw { $_[2] = { binmode => ":unix" }; goto &edit }
982
-
983
- #pod =method edit_lines, edit_lines_utf8, edit_lines_raw
984
- #pod
985
- #pod path("foo.txt")->edit_lines( \&callback, $options );
986
- #pod path("foo.txt")->edit_lines_utf8( \&callback );
987
- #pod path("foo.txt")->edit_lines_raw( \&callback );
988
- #pod
989
- #pod These are convenience methods that allow "editing" a file's lines using a
990
- #pod single callback argument. They iterate over the file: for each line, the
991
- #pod line is put into a localized C<$_> variable, the callback function is
992
- #pod executed (without arguments) and then C<$_> is written to a temporary file.
993
- #pod When iteration is finished, the temporary file is atomically renamed over
994
- #pod the original.
995
- #pod
996
- #pod An optional hash reference may be used to pass options. The only option is
997
- #pod C<binmode>, which is passed to the method that open handles for reading and
998
- #pod writing.
999
- #pod
1000
- #pod C<edit_lines_raw> is like C<edit_lines> with a buffered C<binmode> of
1001
- #pod C<:raw>.
1002
- #pod
1003
- #pod C<edit_lines_utf8> is like C<edit_lines> with a buffered C<binmode>
1004
- #pod C<:raw:encoding(UTF-8)> (or C<:raw:utf8_strict> with
1005
- #pod L<PerlIO::utf8_strict>).
1006
- #pod
1007
- #pod Current API available since 0.077.
1008
- #pod
1009
- #pod =cut
1010
-
1011
- sub edit_lines {
1012
- my $self = shift;
1013
- my $cb = shift;
1014
- my $args = _get_args( shift, qw/binmode/ );
1015
- Carp::croak("Callback for edit_lines() must be a code reference")
1016
- unless defined($cb) && ref($cb) eq 'CODE';
1017
-
1018
- my $binmode = $args->{binmode};
1019
- # get default binmode from caller's lexical scope (see "perldoc open")
1020
- $binmode = ( ( caller(0) )[10] || {} )->{'open>'} unless defined $binmode;
1021
-
1022
- # writing needs to follow the link and create the tempfile in the same
1023
- # dir for later atomic rename
1024
- my $resolved_path = $self->_resolve_symlinks;
1025
- my $temp = $resolved_path->_replacement_path;
1026
-
1027
- my $temp_fh = $temp->filehandle( { exclusive => 1, locked => 1 }, ">", $binmode );
1028
- my $in_fh = $self->filehandle( { locked => 1 }, '<', $binmode );
1029
-
1030
- local $_;
1031
- while (! eof($in_fh) ) {
1032
- defined( $_ = readline($in_fh) ) or $self->_throw('readline');
1033
- $cb->();
1034
- $temp_fh->print($_) or $self->_throw('print', $temp);
1035
- }
1036
-
1037
- close $temp_fh or $self->_throw( 'close', $temp );
1038
- close $in_fh or $self->_throw('close');
1039
-
1040
- return $temp->move($resolved_path);
1041
- }
1042
-
1043
- sub edit_lines_raw { $_[2] = { binmode => ":raw" }; goto &edit_lines }
1044
-
1045
- sub edit_lines_utf8 {
1046
- if ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
1047
- $_[2] = { binmode => ":raw:utf8_strict" };
1048
- }
1049
- else {
1050
- $_[2] = { binmode => ":raw:encoding(UTF-8)" };
1051
- }
1052
- goto &edit_lines;
1053
- }
1054
-
1055
- #pod =method exists, is_file, is_dir
1056
- #pod
1057
- #pod if ( path("/tmp")->exists ) { ... } # -e
1058
- #pod if ( path("/tmp")->is_dir ) { ... } # -d
1059
- #pod if ( path("/tmp")->is_file ) { ... } # -e && ! -d
1060
- #pod
1061
- #pod Implements file test operations, this means the file or directory actually has
1062
- #pod to exist on the filesystem. Until then, it's just a path.
1063
- #pod
1064
- #pod B<Note>: C<is_file> is not C<-f> because C<-f> is not the opposite of C<-d>.
1065
- #pod C<-f> means "plain file", excluding symlinks, devices, etc. that often can be
1066
- #pod read just like files.
1067
- #pod
1068
- #pod Use C<-f> instead if you really mean to check for a plain file.
1069
- #pod
1070
- #pod Current API available since 0.053.
1071
- #pod
1072
- #pod =cut
1073
-
1074
- sub exists { -e $_[0]->[PATH] }
1075
-
1076
- sub is_file { -e $_[0]->[PATH] && !-d _ }
1077
-
1078
- sub is_dir { -d $_[0]->[PATH] }
1079
-
1080
- #pod =method filehandle
1081
- #pod
1082
- #pod $fh = path("/tmp/foo.txt")->filehandle($mode, $binmode);
1083
- #pod $fh = path("/tmp/foo.txt")->filehandle({ locked => 1 }, $mode, $binmode);
1084
- #pod $fh = path("/tmp/foo.txt")->filehandle({ exclusive => 1 }, $mode, $binmode);
1085
- #pod
1086
- #pod Returns an open file handle. The C<$mode> argument must be a Perl-style
1087
- #pod read/write mode string ("<" ,">", ">>", etc.). If a C<$binmode>
1088
- #pod is given, it is set during the C<open> call.
1089
- #pod
1090
- #pod An optional hash reference may be used to pass options.
1091
- #pod
1092
- #pod The C<locked> option governs file locking; if true, handles opened for writing,
1093
- #pod appending or read-write are locked with C<LOCK_EX>; otherwise, they are
1094
- #pod locked with C<LOCK_SH>. When using C<locked>, ">" or "+>" modes will delay
1095
- #pod truncation until after the lock is acquired.
1096
- #pod
1097
- #pod The C<exclusive> option causes the open() call to fail if the file already
1098
- #pod exists. This corresponds to the O_EXCL flag to sysopen / open(2).
1099
- #pod C<exclusive> implies C<locked> and will set it for you if you forget it.
1100
- #pod
1101
- #pod See C<openr>, C<openw>, C<openrw>, and C<opena> for sugar.
1102
- #pod
1103
- #pod Current API available since 0.066.
1104
- #pod
1105
- #pod =cut
1106
-
1107
- # Note: must put binmode on open line, not subsequent binmode() call, so things
1108
- # like ":unix" actually stop perlio/crlf from being added
1109
-
1110
- sub filehandle {
1111
- my ( $self, @args ) = @_;
1112
- my $args = ( @args && ref $args[0] eq 'HASH' ) ? shift @args : {};
1113
- $args = _get_args( $args, qw/locked exclusive/ );
1114
- $args->{locked} = 1 if $args->{exclusive};
1115
- my ( $opentype, $binmode ) = @args;
1116
-
1117
- $opentype = "<" unless defined $opentype;
1118
- Carp::croak("Invalid file mode '$opentype'")
1119
- unless grep { $opentype eq $_ } qw/< +< > +> >> +>>/;
1120
-
1121
- $binmode = ( ( caller(0) )[10] || {} )->{ 'open' . substr( $opentype, -1, 1 ) }
1122
- unless defined $binmode;
1123
- $binmode = "" unless defined $binmode;
1124
-
1125
- my ( $fh, $lock, $trunc );
1126
- if ( $HAS_FLOCK && $args->{locked} && !$ENV{PERL_PATH_TINY_NO_FLOCK} ) {
1127
- require Fcntl;
1128
- # truncating file modes shouldn't truncate until lock acquired
1129
- if ( grep { $opentype eq $_ } qw( > +> ) ) {
1130
- # sysopen in write mode without truncation
1131
- my $flags = $opentype eq ">" ? Fcntl::O_WRONLY() : Fcntl::O_RDWR();
1132
- $flags |= Fcntl::O_CREAT();
1133
- $flags |= Fcntl::O_EXCL() if $args->{exclusive};
1134
- sysopen( $fh, $self->[PATH], $flags ) or $self->_throw("sysopen");
1135
-
1136
- # fix up the binmode since sysopen() can't specify layers like
1137
- # open() and binmode() can't start with just :unix like open()
1138
- if ( $binmode =~ s/^:unix// ) {
1139
- # eliminate pseudo-layers
1140
- binmode( $fh, ":raw" ) or $self->_throw("binmode (:raw)");
1141
- # strip off real layers until only :unix is left
1142
- while ( 1 < ( my $layers =()= PerlIO::get_layers( $fh, output => 1 ) ) ) {
1143
- binmode( $fh, ":pop" ) or $self->_throw("binmode (:pop)");
1144
- }
1145
- }
1146
-
1147
- # apply any remaining binmode layers
1148
- if ( length $binmode ) {
1149
- binmode( $fh, $binmode ) or $self->_throw("binmode ($binmode)");
1150
- }
1151
-
1152
- # ask for lock and truncation
1153
- $lock = Fcntl::LOCK_EX();
1154
- $trunc = 1;
1155
- }
1156
- elsif ( $^O eq 'aix' && $opentype eq "<" ) {
1157
- # AIX can only lock write handles, so upgrade to RW and LOCK_EX if
1158
- # the file is writable; otherwise give up on locking. N.B.
1159
- # checking -w before open to determine the open mode is an
1160
- # unavoidable race condition
1161
- if ( -w $self->[PATH] ) {
1162
- $opentype = "+<";
1163
- $lock = Fcntl::LOCK_EX();
1164
- }
1165
- }
1166
- else {
1167
- $lock = $opentype eq "<" ? Fcntl::LOCK_SH() : Fcntl::LOCK_EX();
1168
- }
1169
- }
1170
-
1171
- unless ($fh) {
1172
- my $mode = $opentype . $binmode;
1173
- open $fh, $mode, $self->[PATH] or $self->_throw("open ($mode)");
1174
- }
1175
-
1176
- do { flock( $fh, $lock ) or $self->_throw("flock ($lock)") } if $lock;
1177
- do { truncate( $fh, 0 ) or $self->_throw("truncate") } if $trunc;
1178
-
1179
- return $fh;
1180
- }
1181
-
1182
- #pod =method has_same_bytes
1183
- #pod
1184
- #pod if ( path("foo.txt")->has_same_bytes("bar.txt") ) {
1185
- #pod # ...
1186
- #pod }
1187
- #pod
1188
- #pod This method returns true if both the invocant and the argument can be opened as
1189
- #pod file handles and the handles contain the same bytes. It returns false if their
1190
- #pod contents differ. If either can't be opened as a file (e.g. a directory or
1191
- #pod non-existent file), the method throws an exception. If both can be opened and
1192
- #pod both have the same C<realpath>, the method returns true without scanning any
1193
- #pod data.
1194
- #pod
1195
- #pod Current API available since 0.125.
1196
- #pod
1197
- #pod =cut
1198
-
1199
- sub has_same_bytes {
1200
- my ($self, $other_path) = @_;
1201
- my $other = _path($other_path);
1202
-
1203
- my $fh1 = $self->openr_raw({ locked => 1 });
1204
- my $fh2 = $other->openr_raw({ locked => 1 });
1205
-
1206
- # check for directories
1207
- if (-d $fh1) {
1208
- $self->_throw('has_same_bytes', $self->[PATH], "directory not allowed");
1209
- }
1210
- if (-d $fh2) {
1211
- $self->_throw('has_same_bytes', $other->[PATH], "directory not allowed");
1212
- }
1213
-
1214
- # Now that handles are open, we know the inputs are readable files that
1215
- # exist, so it's safe to compare via realpath
1216
- if ($self->realpath eq $other->realpath) {
1217
- return 1
1218
- }
1219
-
1220
- # result is 0 for equal, 1 for unequal, -1 for error
1221
- require File::Compare;
1222
- my $res = File::Compare::compare($fh1, $fh2, 65536);
1223
- if ($res < 0) {
1224
- $self->_throw('has_same_bytes')
1225
- }
1226
-
1227
- return $res == 0;
1228
- }
1229
-
1230
- #pod =method is_absolute, is_relative
1231
- #pod
1232
- #pod if ( path("/tmp")->is_absolute ) { ... }
1233
- #pod if ( path("/tmp")->is_relative ) { ... }
1234
- #pod
1235
- #pod Booleans for whether the path appears absolute or relative.
1236
- #pod
1237
- #pod Current API available since 0.001.
1238
- #pod
1239
- #pod =cut
1240
-
1241
- sub is_absolute { substr( $_[0]->dirname, 0, 1 ) eq '/' }
1242
-
1243
- sub is_relative { substr( $_[0]->dirname, 0, 1 ) ne '/' }
1244
-
1245
- #pod =method is_rootdir
1246
- #pod
1247
- #pod while ( ! $path->is_rootdir ) {
1248
- #pod $path = $path->parent;
1249
- #pod ...
1250
- #pod }
1251
- #pod
1252
- #pod Boolean for whether the path is the root directory of the volume. I.e. the
1253
- #pod C<dirname> is C<q[/]> and the C<basename> is C<q[]>.
1254
- #pod
1255
- #pod This works even on C<MSWin32> with drives and UNC volumes:
1256
- #pod
1257
- #pod path("C:/")->is_rootdir; # true
1258
- #pod path("//server/share/")->is_rootdir; #true
1259
- #pod
1260
- #pod Current API available since 0.038.
1261
- #pod
1262
- #pod =cut
1263
-
1264
- sub is_rootdir {
1265
- my ($self) = @_;
1266
- $self->_splitpath unless defined $self->[DIR];
1267
- return $self->[DIR] eq '/' && $self->[FILE] eq '';
1268
- }
1269
-
1270
- #pod =method iterator
1271
- #pod
1272
- #pod $iter = path("/tmp")->iterator( \%options );
1273
- #pod
1274
- #pod Returns a code reference that walks a directory lazily. Each invocation
1275
- #pod returns a C<Path::Tiny> object or undef when the iterator is exhausted.
1276
- #pod
1277
- #pod $iter = path("/tmp")->iterator;
1278
- #pod while ( $path = $iter->() ) {
1279
- #pod ...
1280
- #pod }
1281
- #pod
1282
- #pod The current and parent directory entries ("." and "..") will not
1283
- #pod be included.
1284
- #pod
1285
- #pod If the C<recurse> option is true, the iterator will walk the directory
1286
- #pod recursively, breadth-first. If the C<follow_symlinks> option is also true,
1287
- #pod directory links will be followed recursively. There is no protection against
1288
- #pod loops when following links. If a directory is not readable, it will not be
1289
- #pod followed.
1290
- #pod
1291
- #pod The default is the same as:
1292
- #pod
1293
- #pod $iter = path("/tmp")->iterator( {
1294
- #pod recurse => 0,
1295
- #pod follow_symlinks => 0,
1296
- #pod } );
1297
- #pod
1298
- #pod For a more powerful, recursive iterator with built-in loop avoidance, see
1299
- #pod L<Path::Iterator::Rule>.
1300
- #pod
1301
- #pod See also L</visit>.
1302
- #pod
1303
- #pod Current API available since 0.016.
1304
- #pod
1305
- #pod =cut
1306
-
1307
- sub iterator {
1308
- my $self = shift;
1309
- my $args = _get_args( shift, qw/recurse follow_symlinks/ );
1310
- my @dirs = $self;
1311
- my $current;
1312
- return sub {
1313
- my $next;
1314
- while (@dirs) {
1315
- if ( ref $dirs[0] eq 'Path::Tiny' ) {
1316
- if ( !-r $dirs[0] ) {
1317
- # Directory is missing or not readable, so skip it. There
1318
- # is still a race condition possible between the check and
1319
- # the opendir, but we can't easily differentiate between
1320
- # error cases that are OK to skip and those that we want
1321
- # to be exceptions, so we live with the race and let opendir
1322
- # be fatal.
1323
- shift @dirs and next;
1324
- }
1325
- $current = $dirs[0];
1326
- my $dh;
1327
- opendir( $dh, $current->[PATH] )
1328
- or $self->_throw( 'opendir', $current->[PATH] );
1329
- $dirs[0] = $dh;
1330
- if ( -l $current->[PATH] && !$args->{follow_symlinks} ) {
1331
- # Symlink attack! It was a real dir, but is now a symlink!
1332
- # N.B. we check *after* opendir so the attacker has to win
1333
- # two races: replace dir with symlink before opendir and
1334
- # replace symlink with dir before -l check above
1335
- shift @dirs and next;
1336
- }
1337
- }
1338
- while ( defined( $next = readdir $dirs[0] ) ) {
1339
- next if $next eq '.' || $next eq '..';
1340
- my $path = $current->child($next);
1341
- push @dirs, $path
1342
- if $args->{recurse} && -d $path && !( !$args->{follow_symlinks} && -l $path );
1343
- return $path;
1344
- }
1345
- shift @dirs;
1346
- }
1347
- return;
1348
- };
1349
- }
1350
-
1351
- #pod =method lines, lines_raw, lines_utf8
1352
- #pod
1353
- #pod @contents = path("/tmp/foo.txt")->lines;
1354
- #pod @contents = path("/tmp/foo.txt")->lines(\%options);
1355
- #pod @contents = path("/tmp/foo.txt")->lines_raw;
1356
- #pod @contents = path("/tmp/foo.txt")->lines_utf8;
1357
- #pod
1358
- #pod @contents = path("/tmp/foo.txt")->lines( { chomp => 1, count => 4 } );
1359
- #pod
1360
- #pod Returns a list of lines from a file. Optionally takes a hash-reference of
1361
- #pod options. Valid options are C<binmode>, C<count> and C<chomp>.
1362
- #pod
1363
- #pod If C<binmode> is provided, it will be set on the handle prior to reading.
1364
- #pod
1365
- #pod If a positive C<count> is provided, that many lines will be returned from the
1366
- #pod start of the file. If a negative C<count> is provided, the entire file will be
1367
- #pod read, but only C<abs(count)> will be kept and returned. If C<abs(count)>
1368
- #pod exceeds the number of lines in the file, all lines will be returned.
1369
- #pod
1370
- #pod If C<chomp> is set, any end-of-line character sequences (C<CR>, C<CRLF>, or
1371
- #pod C<LF>) will be removed from the lines returned.
1372
- #pod
1373
- #pod Because the return is a list, C<lines> in scalar context will return the number
1374
- #pod of lines (and throw away the data).
1375
- #pod
1376
- #pod $number_of_lines = path("/tmp/foo.txt")->lines;
1377
- #pod
1378
- #pod C<lines_raw> is like C<lines> with a C<binmode> of C<:raw>. We use C<:raw>
1379
- #pod instead of C<:unix> so PerlIO buffering can manage reading by line.
1380
- #pod
1381
- #pod C<lines_utf8> is like C<lines> with a C<binmode> of C<:raw:encoding(UTF-8)>
1382
- #pod (or C<:raw:utf8_strict> with L<PerlIO::utf8_strict>). If L<Unicode::UTF8>
1383
- #pod 0.58+ is installed, a raw, unbuffered UTF-8 slurp will be done and then the
1384
- #pod lines will be split. This is actually faster than relying on
1385
- #pod IO layers, though a bit memory intensive. If memory use is a
1386
- #pod concern, consider C<openr_utf8> and iterating directly on the handle.
1387
- #pod
1388
- #pod See also L</slurp> if you want to load a file as a whole chunk.
1389
- #pod
1390
- #pod Current API available since 0.065.
1391
- #pod
1392
- #pod =cut
1393
-
1394
- sub lines {
1395
- my $self = shift;
1396
- my $args = _get_args( shift, qw/binmode chomp count/ );
1397
- my $binmode = $args->{binmode};
1398
- $binmode = ( ( caller(0) )[10] || {} )->{'open<'} unless defined $binmode;
1399
- my $fh = $self->filehandle( { locked => 1 }, "<", $binmode );
1400
- my $chomp = $args->{chomp};
1401
- # XXX more efficient to read @lines then chomp(@lines) vs map?
1402
- if ( $args->{count} ) {
1403
- my ( $counter, $mod, @result ) = ( 0, abs( $args->{count} ) );
1404
- my $line;
1405
- while ( !eof($fh) ) {
1406
- defined( $line = readline($fh) ) or $self->_throw('readline');
1407
-
1408
- $line =~ s/(?:\x{0d}?\x{0a}|\x{0d})\z// if $chomp;
1409
- $result[ $counter++ ] = $line;
1410
- # for positive count, terminate after right number of lines
1411
- last if $counter == $args->{count};
1412
- # for negative count, eventually wrap around in the result array
1413
- $counter %= $mod;
1414
- }
1415
- # reorder results if full and wrapped somewhere in the middle
1416
- splice( @result, 0, 0, splice( @result, $counter ) )
1417
- if @result == $mod && $counter % $mod;
1418
- return @result;
1419
- }
1420
- elsif ($chomp) {
1421
- local $!;
1422
- my @lines = map { s/(?:\x{0d}?\x{0a}|\x{0d})\z//; $_ } <$fh>; ## no critic
1423
- $self->_throw('readline') if $!;
1424
- return @lines;
1425
- }
1426
- else {
1427
- if ( wantarray ) {
1428
- local $!;
1429
- my @lines = <$fh>;
1430
- $self->_throw('readline') if $!;
1431
- return @lines;
1432
- } else {
1433
- local $!;
1434
- my $count =()= <$fh>;
1435
- $self->_throw('readline') if $!;
1436
- return $count;
1437
- }
1438
- }
1439
- }
1440
-
1441
- sub lines_raw {
1442
- my $self = shift;
1443
- my $args = _get_args( shift, qw/binmode chomp count/ );
1444
- if ( $args->{chomp} && !$args->{count} ) {
1445
- return split /\n/, slurp_raw($self); ## no critic
1446
- }
1447
- else {
1448
- $args->{binmode} = ":raw";
1449
- return lines( $self, $args );
1450
- }
1451
- }
1452
-
1453
- my $CRLF = qr/(?:\x{0d}?\x{0a}|\x{0d})/;
1454
-
1455
- sub lines_utf8 {
1456
- my $self = shift;
1457
- my $args = _get_args( shift, qw/binmode chomp count/ );
1458
- if ( ( defined($HAS_UU) ? $HAS_UU : ( $HAS_UU = _check_UU() ) )
1459
- && $args->{chomp}
1460
- && !$args->{count} )
1461
- {
1462
- my $slurp = slurp_utf8($self);
1463
- $slurp =~ s/$CRLF\z//; # like chomp, but full CR?LF|CR
1464
- return split $CRLF, $slurp, -1; ## no critic
1465
- }
1466
- elsif ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
1467
- $args->{binmode} = ":raw:utf8_strict";
1468
- return lines( $self, $args );
1469
- }
1470
- else {
1471
- $args->{binmode} = ":raw:encoding(UTF-8)";
1472
- return lines( $self, $args );
1473
- }
1474
- }
1475
-
1476
- #pod =method mkdir
1477
- #pod
1478
- #pod path("foo/bar/baz")->mkdir;
1479
- #pod path("foo/bar/baz")->mkdir( \%options );
1480
- #pod
1481
- #pod Like calling C<make_path> from L<File::Path>. An optional hash reference
1482
- #pod is passed through to C<make_path>. Errors will be trapped and an exception
1483
- #pod thrown. Returns the the path object to facilitate chaining.
1484
- #pod
1485
- #pod B<NOTE>: unlike Perl's builtin C<mkdir>, this will create intermediate paths
1486
- #pod similar to the Unix C<mkdir -p> command. It will not error if applied to an
1487
- #pod existing directory.
1488
- #pod
1489
- #pod Passing a defined argument I<other> than a hash reference is an error, and an
1490
- #pod exception will be thrown.
1491
- #pod
1492
- #pod Current API available since 0.125.
1493
- #pod
1494
- #pod =cut
1495
-
1496
- sub mkdir {
1497
- my ( $self, $args, @rest ) = @_;
1498
-
1499
- $args = {} unless defined $args;
1500
- if (@rest || (defined $args && ref $args ne 'HASH')) {
1501
- $self->_throw('mkdir', undef, "method argument was given, but was not a hash reference");
1502
- }
1503
-
1504
- my $err;
1505
-
1506
- $args->{error} = \$err unless defined $args->{error};
1507
- require File::Path;
1508
- my @dirs;
1509
- my $ok = eval {
1510
- File::Path::make_path( $self->[PATH], $args );
1511
- 1;
1512
- };
1513
- if (!$ok) {
1514
- $self->_throw('mkdir', $self->[PATH], "error creating path: $@");
1515
- }
1516
- if ( $err && @$err ) {
1517
- my ( $file, $message ) = %{ $err->[0] };
1518
- $self->_throw('mkdir', $file, $message);
1519
- }
1520
- return $self;
1521
- }
1522
-
1523
- #pod =method mkpath (deprecated)
1524
- #pod
1525
- #pod Like calling C<mkdir>, but returns the list of directories created or an empty list if
1526
- #pod the directories already exist, just like C<make_path>.
1527
- #pod
1528
- #pod Passing a defined argument I<other> than a hash reference is an error, and an
1529
- #pod exception will be thrown.
1530
- #pod
1531
- #pod Deprecated in 0.125.
1532
- #pod
1533
- #pod =cut
1534
-
1535
- sub mkpath {
1536
- my ( $self, $args, @rest ) = @_;
1537
-
1538
- $args = {} unless defined $args;
1539
- if (@rest || (defined $args && ref $args ne 'HASH')) {
1540
- $self->_throw('mkdir', undef, "method argument was given, but was not a hash reference");
1541
- }
1542
-
1543
- my $err;
1544
- $args->{error} = \$err unless defined $args->{error};
1545
- require File::Path;
1546
- my @dirs = File::Path::make_path( $self->[PATH], $args );
1547
- if ( $err && @$err ) {
1548
- my ( $file, $message ) = %{ $err->[0] };
1549
- Carp::croak("mkpath failed for $file: $message");
1550
- }
1551
- return @dirs;
1552
- }
1553
-
1554
- #pod =method move
1555
- #pod
1556
- #pod path("foo.txt")->move("bar.txt");
1557
- #pod
1558
- #pod Moves the current path to the given destination using L<File::Copy>'s
1559
- #pod C<move> function. Upon success, returns the C<Path::Tiny> object for the
1560
- #pod newly moved file.
1561
- #pod
1562
- #pod If the destination already exists and is a directory, and the source is not a
1563
- #pod directory, then the source file will be renamed into the directory
1564
- #pod specified by the destination.
1565
- #pod
1566
- #pod If possible, move() will simply rename the file. Otherwise, it
1567
- #pod copies the file to the new location and deletes the original. If an
1568
- #pod error occurs during this copy-and-delete process, you may be left
1569
- #pod with a (possibly partial) copy of the file under the destination
1570
- #pod name.
1571
- #pod
1572
- #pod Current API available since 0.124. Prior versions used Perl's
1573
- #pod -built-in (and less robust) L<rename|perlfunc/rename> function
1574
- #pod and did not return an object.
1575
- #pod
1576
- #pod =cut
1577
-
1578
- sub move {
1579
- my ( $self, $dest ) = @_;
1580
- require File::Copy;
1581
- File::Copy::move( $self->[PATH], $dest )
1582
- or $self->_throw( 'move', $self->[PATH] . "' -> '$dest" );
1583
-
1584
- return -d $dest ? _path( $dest, $self->basename ) : _path($dest);
1585
- }
1586
-
1587
- #pod =method openr, openw, openrw, opena
1588
- #pod
1589
- #pod $fh = path("foo.txt")->openr($binmode); # read
1590
- #pod $fh = path("foo.txt")->openr_raw;
1591
- #pod $fh = path("foo.txt")->openr_utf8;
1592
- #pod
1593
- #pod $fh = path("foo.txt")->openw($binmode); # write
1594
- #pod $fh = path("foo.txt")->openw_raw;
1595
- #pod $fh = path("foo.txt")->openw_utf8;
1596
- #pod
1597
- #pod $fh = path("foo.txt")->opena($binmode); # append
1598
- #pod $fh = path("foo.txt")->opena_raw;
1599
- #pod $fh = path("foo.txt")->opena_utf8;
1600
- #pod
1601
- #pod $fh = path("foo.txt")->openrw($binmode); # read/write
1602
- #pod $fh = path("foo.txt")->openrw_raw;
1603
- #pod $fh = path("foo.txt")->openrw_utf8;
1604
- #pod
1605
- #pod Returns a file handle opened in the specified mode. The C<openr> style methods
1606
- #pod take a single C<binmode> argument. All of the C<open*> methods have
1607
- #pod C<open*_raw> and C<open*_utf8> equivalents that use buffered I/O layers C<:raw>
1608
- #pod and C<:raw:encoding(UTF-8)> (or C<:raw:utf8_strict> with
1609
- #pod L<PerlIO::utf8_strict>).
1610
- #pod
1611
- #pod An optional hash reference may be used to pass options. The only option is
1612
- #pod C<locked>. If true, handles opened for writing, appending or read-write are
1613
- #pod locked with C<LOCK_EX>; otherwise, they are locked for C<LOCK_SH>.
1614
- #pod
1615
- #pod $fh = path("foo.txt")->openrw_utf8( { locked => 1 } );
1616
- #pod
1617
- #pod See L</filehandle> for more on locking.
1618
- #pod
1619
- #pod Current API available since 0.011.
1620
- #pod
1621
- #pod =cut
1622
-
1623
- # map method names to corresponding open mode
1624
- my %opens = (
1625
- opena => ">>",
1626
- openr => "<",
1627
- openw => ">",
1628
- openrw => "+<"
1629
- );
1630
-
1631
- while ( my ( $k, $v ) = each %opens ) {
1632
- no strict 'refs';
1633
- # must check for lexical IO mode hint
1634
- *{$k} = sub {
1635
- my ( $self, @args ) = @_;
1636
- my $args = ( @args && ref $args[0] eq 'HASH' ) ? shift @args : {};
1637
- $args = _get_args( $args, qw/locked/ );
1638
- my ($binmode) = @args;
1639
- $binmode = ( ( caller(0) )[10] || {} )->{ 'open' . substr( $v, -1, 1 ) }
1640
- unless defined $binmode;
1641
- $self->filehandle( $args, $v, $binmode );
1642
- };
1643
- *{ $k . "_raw" } = sub {
1644
- my ( $self, @args ) = @_;
1645
- my $args = ( @args && ref $args[0] eq 'HASH' ) ? shift @args : {};
1646
- $args = _get_args( $args, qw/locked/ );
1647
- $self->filehandle( $args, $v, ":raw" );
1648
- };
1649
- *{ $k . "_utf8" } = sub {
1650
- my ( $self, @args ) = @_;
1651
- my $args = ( @args && ref $args[0] eq 'HASH' ) ? shift @args : {};
1652
- $args = _get_args( $args, qw/locked/ );
1653
- my $layer;
1654
- if ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
1655
- $layer = ":raw:utf8_strict";
1656
- }
1657
- else {
1658
- $layer = ":raw:encoding(UTF-8)";
1659
- }
1660
- $self->filehandle( $args, $v, $layer );
1661
- };
1662
- }
1663
-
1664
- #pod =method parent
1665
- #pod
1666
- #pod $parent = path("foo/bar/baz")->parent; # foo/bar
1667
- #pod $parent = path("foo/wibble.txt")->parent; # foo
1668
- #pod
1669
- #pod $parent = path("foo/bar/baz")->parent(2); # foo
1670
- #pod
1671
- #pod Returns a C<Path::Tiny> object corresponding to the parent directory of the
1672
- #pod original directory or file. An optional positive integer argument is the number
1673
- #pod of parent directories upwards to return. C<parent> by itself is equivalent to
1674
- #pod C<parent(1)>.
1675
- #pod
1676
- #pod Current API available since 0.014.
1677
- #pod
1678
- #pod =cut
1679
-
1680
- # XXX this is ugly and coverage is incomplete. I think it's there for windows
1681
- # so need to check coverage there and compare
1682
- sub parent {
1683
- my ( $self, $level ) = @_;
1684
- $level = 1 unless defined $level && $level > 0;
1685
- $self->_splitpath unless defined $self->[FILE];
1686
- my $parent;
1687
- if ( length $self->[FILE] ) {
1688
- if ( $self->[FILE] eq '.' || $self->[FILE] eq ".." ) {
1689
- $parent = _path( $self->[PATH] . "/.." );
1690
- }
1691
- else {
1692
- $parent = _path( _non_empty( $self->[VOL] . $self->[DIR] ) );
1693
- }
1694
- }
1695
- elsif ( length $self->[DIR] ) {
1696
- # because of symlinks, any internal updir requires us to
1697
- # just add more updirs at the end
1698
- if ( $self->[DIR] =~ m{(?:^\.\./|/\.\./|/\.\.\z)} ) {
1699
- $parent = _path( $self->[VOL] . $self->[DIR] . "/.." );
1700
- }
1701
- else {
1702
- ( my $dir = $self->[DIR] ) =~ s{/[^\/]+/\z}{/};
1703
- $parent = _path( $self->[VOL] . $dir );
1704
- }
1705
- }
1706
- else {
1707
- $parent = _path( _non_empty( $self->[VOL] ) );
1708
- }
1709
- return $level == 1 ? $parent : $parent->parent( $level - 1 );
1710
- }
1711
-
1712
- sub _non_empty {
1713
- my ($string) = shift;
1714
- return ( ( defined($string) && length($string) ) ? $string : "." );
1715
- }
1716
-
1717
- #pod =method realpath
1718
- #pod
1719
- #pod $real = path("/baz/foo/../bar")->realpath;
1720
- #pod $real = path("foo/../bar")->realpath;
1721
- #pod
1722
- #pod Returns a new C<Path::Tiny> object with all symbolic links and upward directory
1723
- #pod parts resolved using L<Cwd>'s C<realpath>. Compared to C<absolute>, this is
1724
- #pod more expensive as it must actually consult the filesystem.
1725
- #pod
1726
- #pod If the parent path can't be resolved (e.g. if it includes directories that
1727
- #pod don't exist), an exception will be thrown:
1728
- #pod
1729
- #pod $real = path("doesnt_exist/foo")->realpath; # dies
1730
- #pod
1731
- #pod However, if the parent path exists and only the last component (e.g. filename)
1732
- #pod doesn't exist, the realpath will be the realpath of the parent plus the
1733
- #pod non-existent last component:
1734
- #pod
1735
- #pod $real = path("./aasdlfasdlf")->realpath; # works
1736
- #pod
1737
- #pod The underlying L<Cwd> module usually worked this way on Unix, but died on
1738
- #pod Windows (and some Unixes) if the full path didn't exist. As of version 0.064,
1739
- #pod it's safe to use anywhere.
1740
- #pod
1741
- #pod Current API available since 0.001.
1742
- #pod
1743
- #pod =cut
1744
-
1745
- # Win32 and some Unixes need parent path resolved separately so realpath
1746
- # doesn't throw an error resolving non-existent basename
1747
- sub realpath {
1748
- my $self = shift;
1749
- $self = $self->_resolve_symlinks;
1750
- require Cwd;
1751
- $self->_splitpath if !defined $self->[FILE];
1752
- my $check_parent =
1753
- length $self->[FILE] && $self->[FILE] ne '.' && $self->[FILE] ne '..';
1754
- my $realpath = eval {
1755
- # pure-perl Cwd can carp
1756
- local $SIG{__WARN__} = sub { };
1757
- Cwd::realpath( $check_parent ? $self->parent->[PATH] : $self->[PATH] );
1758
- };
1759
- # parent realpath must exist; not all Cwd::realpath will error if it doesn't
1760
- $self->_throw("resolving realpath")
1761
- unless defined $realpath && length $realpath && -e $realpath;
1762
- return ( $check_parent ? _path( $realpath, $self->[FILE] ) : _path($realpath) );
1763
- }
1764
-
1765
- #pod =method relative
1766
- #pod
1767
- #pod $rel = path("/tmp/foo/bar")->relative("/tmp"); # foo/bar
1768
- #pod
1769
- #pod Returns a C<Path::Tiny> object with a path relative to a new base path
1770
- #pod given as an argument. If no argument is given, the current directory will
1771
- #pod be used as the new base path.
1772
- #pod
1773
- #pod If either path is already relative, it will be made absolute based on the
1774
- #pod current directly before determining the new relative path.
1775
- #pod
1776
- #pod The algorithm is roughly as follows:
1777
- #pod
1778
- #pod =for :list
1779
- #pod * If the original and new base path are on different volumes, an exception
1780
- #pod will be thrown.
1781
- #pod * If the original and new base are identical, the relative path is C<".">.
1782
- #pod * If the new base subsumes the original, the relative path is the original
1783
- #pod path with the new base chopped off the front
1784
- #pod * If the new base does not subsume the original, a common prefix path is
1785
- #pod determined (possibly the root directory) and the relative path will
1786
- #pod consist of updirs (C<"..">) to reach the common prefix, followed by the
1787
- #pod original path less the common prefix.
1788
- #pod
1789
- #pod Unlike C<File::Spec::abs2rel>, in the last case above, the calculation based
1790
- #pod on a common prefix takes into account symlinks that could affect the updir
1791
- #pod process. Given an original path "/A/B" and a new base "/A/C",
1792
- #pod (where "A", "B" and "C" could each have multiple path components):
1793
- #pod
1794
- #pod =for :list
1795
- #pod * Symlinks in "A" don't change the result unless the last component of A is
1796
- #pod a symlink and the first component of "C" is an updir.
1797
- #pod * Symlinks in "B" don't change the result and will exist in the result as
1798
- #pod given.
1799
- #pod * Symlinks and updirs in "C" must be resolved to actual paths, taking into
1800
- #pod account the possibility that not all path components might exist on the
1801
- #pod filesystem.
1802
- #pod
1803
- #pod Current API available since 0.001. New algorithm (that accounts for
1804
- #pod symlinks) available since 0.079.
1805
- #pod
1806
- #pod =cut
1807
-
1808
- sub relative {
1809
- my ( $self, $base ) = @_;
1810
- $base = _path( defined $base && length $base ? $base : '.' );
1811
-
1812
- # relative paths must be converted to absolute first
1813
- $self = $self->absolute if $self->is_relative;
1814
- $base = $base->absolute if $base->is_relative;
1815
-
1816
- # normalize volumes if they exist
1817
- $self = $self->absolute if !length $self->volume && length $base->volume;
1818
- $base = $base->absolute if length $self->volume && !length $base->volume;
1819
-
1820
- # can't make paths relative across volumes
1821
- if ( !_same( $self->volume, $base->volume ) ) {
1822
- Carp::croak("relative() can't cross volumes: '$self' vs '$base'");
1823
- }
1824
-
1825
- # if same absolute path, relative is current directory
1826
- return _path(".") if _same( $self->[PATH], $base->[PATH] );
1827
-
1828
- # if base is a prefix of self, chop prefix off self
1829
- if ( $base->subsumes($self) ) {
1830
- $base = "" if $base->is_rootdir;
1831
- my $relative = "$self";
1832
- $relative =~ s{\A\Q$base/}{};
1833
- return _path(".", $relative);
1834
- }
1835
-
1836
- # base is not a prefix, so must find a common prefix (even if root)
1837
- my ( @common, @self_parts, @base_parts );
1838
- @base_parts = split /\//, $base->_just_filepath;
1839
-
1840
- # if self is rootdir, then common directory is root (shown as empty
1841
- # string for later joins); otherwise, must be computed from path parts.
1842
- if ( $self->is_rootdir ) {
1843
- @common = ("");
1844
- shift @base_parts;
1845
- }
1846
- else {
1847
- @self_parts = split /\//, $self->_just_filepath;
1848
-
1849
- while ( @self_parts && @base_parts && _same( $self_parts[0], $base_parts[0] ) ) {
1850
- push @common, shift @base_parts;
1851
- shift @self_parts;
1852
- }
1853
- }
1854
-
1855
- # if there are any symlinks from common to base, we have a problem, as
1856
- # you can't guarantee that updir from base reaches the common prefix;
1857
- # we must resolve symlinks and try again; likewise, any updirs are
1858
- # a problem as it throws off calculation of updirs needed to get from
1859
- # self's path to the common prefix.
1860
- if ( my $new_base = $self->_resolve_between( \@common, \@base_parts ) ) {
1861
- return $self->relative($new_base);
1862
- }
1863
-
1864
- # otherwise, symlinks in common or from common to A don't matter as
1865
- # those don't involve updirs
1866
- my @new_path = ( ("..") x ( 0+ @base_parts ), @self_parts );
1867
- return _path(@new_path);
1868
- }
1869
-
1870
- sub _just_filepath {
1871
- my $self = shift;
1872
- my $self_vol = $self->volume;
1873
- return "$self" if !length $self_vol;
1874
-
1875
- ( my $self_path = "$self" ) =~ s{\A\Q$self_vol}{};
1876
-
1877
- return $self_path;
1878
- }
1879
-
1880
- sub _resolve_between {
1881
- my ( $self, $common, $base ) = @_;
1882
- my $path = $self->volume . join( "/", @$common );
1883
- my $changed = 0;
1884
- for my $p (@$base) {
1885
- $path .= "/$p";
1886
- if ( $p eq '..' ) {
1887
- $changed = 1;
1888
- if ( -e $path ) {
1889
- $path = _path($path)->realpath->[PATH];
1890
- }
1891
- else {
1892
- $path =~ s{/[^/]+/..\z}{/};
1893
- }
1894
- }
1895
- if ( -l $path ) {
1896
- $changed = 1;
1897
- $path = _path($path)->realpath->[PATH];
1898
- }
1899
- }
1900
- return $changed ? _path($path) : undef;
1901
- }
1902
-
1903
- #pod =method remove
1904
- #pod
1905
- #pod path("foo.txt")->remove;
1906
- #pod
1907
- #pod This is just like C<unlink>, except for its error handling: if the path does
1908
- #pod not exist, it returns false; if deleting the file fails, it throws an
1909
- #pod exception.
1910
- #pod
1911
- #pod Current API available since 0.012.
1912
- #pod
1913
- #pod =cut
1914
-
1915
- sub remove {
1916
- my $self = shift;
1917
-
1918
- return 0 if !-e $self->[PATH] && !-l $self->[PATH];
1919
-
1920
- return unlink( $self->[PATH] ) || $self->_throw('unlink');
1921
- }
1922
-
1923
- #pod =method remove_tree
1924
- #pod
1925
- #pod # directory
1926
- #pod path("foo/bar/baz")->remove_tree;
1927
- #pod path("foo/bar/baz")->remove_tree( \%options );
1928
- #pod path("foo/bar/baz")->remove_tree( { safe => 0 } ); # force remove
1929
- #pod
1930
- #pod Like calling C<remove_tree> from L<File::Path>, but defaults to C<safe> mode.
1931
- #pod An optional hash reference is passed through to C<remove_tree>. Errors will be
1932
- #pod trapped and an exception thrown. Returns the number of directories deleted,
1933
- #pod just like C<remove_tree>.
1934
- #pod
1935
- #pod If you want to remove a directory only if it is empty, use the built-in
1936
- #pod C<rmdir> function instead.
1937
- #pod
1938
- #pod rmdir path("foo/bar/baz/");
1939
- #pod
1940
- #pod Current API available since 0.013.
1941
- #pod
1942
- #pod Passing a defined argument I<other> than a hash reference is an error, and an
1943
- #pod exception will be thrown.
1944
- #pod
1945
- #pod =cut
1946
-
1947
- sub remove_tree {
1948
- my ( $self, $args, @rest ) = @_;
1949
-
1950
- $args = {} unless defined $args;
1951
- if (@rest || (defined $args && ref $args ne 'HASH')) {
1952
- $self->_throw('mkdir', undef, "method argument was given, but was not a hash reference");
1953
- }
1954
-
1955
- return 0 if !-e $self->[PATH] && !-l $self->[PATH];
1956
-
1957
- my $err;
1958
- $args->{error} = \$err unless defined $args->{error};
1959
- $args->{safe} = 1 unless defined $args->{safe};
1960
- require File::Path;
1961
- my $count = File::Path::remove_tree( $self->[PATH], $args );
1962
-
1963
- if ( $err && @$err ) {
1964
- my ( $file, $message ) = %{ $err->[0] };
1965
- Carp::croak("remove_tree failed for $file: $message");
1966
- }
1967
- return $count;
1968
- }
1969
-
1970
- #pod =method sibling
1971
- #pod
1972
- #pod $foo = path("/tmp/foo.txt");
1973
- #pod $sib = $foo->sibling("bar.txt"); # /tmp/bar.txt
1974
- #pod $sib = $foo->sibling("baz", "bam.txt"); # /tmp/baz/bam.txt
1975
- #pod
1976
- #pod Returns a new C<Path::Tiny> object relative to the parent of the original.
1977
- #pod This is slightly more efficient than C<< $path->parent->child(...) >>.
1978
- #pod
1979
- #pod Current API available since 0.058.
1980
- #pod
1981
- #pod =cut
1982
-
1983
- sub sibling {
1984
- my $self = shift;
1985
- return _path( $self->parent->[PATH], @_ );
1986
- }
1987
-
1988
- #pod =method size, size_human
1989
- #pod
1990
- #pod my $p = path("foo"); # with size 1025 bytes
1991
- #pod
1992
- #pod $p->size; # "1025"
1993
- #pod $p->size_human; # "1.1 K"
1994
- #pod $p->size_human( {format => "iec"} ); # "1.1 KiB"
1995
- #pod
1996
- #pod Returns the size of a file. The C<size> method is just a wrapper around C<-s>.
1997
- #pod
1998
- #pod The C<size_human> method provides a human-readable string similar to
1999
- #pod C<ls -lh>. Like C<ls>, it rounds upwards and provides one decimal place for
2000
- #pod single-digit sizes and no decimal places for larger sizes. The only available
2001
- #pod option is C<format>, which has three valid values:
2002
- #pod
2003
- #pod =for :list
2004
- #pod * 'ls' (the default): base-2 sizes, with C<ls> style single-letter suffixes (K, M, etc.)
2005
- #pod * 'iec': base-2 sizes, with IEC binary suffixes (KiB, MiB, etc.)
2006
- #pod * 'si': base-10 sizes, with SI decimal suffixes (kB, MB, etc.)
2007
- #pod
2008
- #pod If C<-s> would return C<undef>, C<size_human> returns the empty string.
2009
- #pod
2010
- #pod Current API available since 0.122.
2011
- #pod
2012
- #pod =cut
2013
-
2014
- sub size { -s $_[0]->[PATH] }
2015
-
2016
- my %formats = (
2017
- 'ls' => [ 1024, log(1024), [ "", map { " $_" } qw/K M G T/ ] ],
2018
- 'iec' => [ 1024, log(1024), [ "", map { " $_" } qw/KiB MiB GiB TiB/ ] ],
2019
- 'si' => [ 1000, log(1000), [ "", map { " $_" } qw/kB MB GB TB/ ] ],
2020
- );
2021
-
2022
- sub _formats { return $formats{$_[0]} }
2023
-
2024
- sub size_human {
2025
- my $self = shift;
2026
- my $args = _get_args( shift, qw/format/ );
2027
- my $format = defined $args->{format} ? $args->{format} : "ls";
2028
- my $fmt_opts = $formats{$format}
2029
- or Carp::croak("Invalid format '$format' for size_human()");
2030
- my $size = -s $self->[PATH];
2031
- return defined $size ? _human_size( $size, @$fmt_opts ) : "";
2032
- }
2033
-
2034
- sub _ceil {
2035
- return $_[0] == int($_[0]) ? $_[0] : int($_[0]+1);
2036
- }
2037
-
2038
- sub _human_size {
2039
- my ( $size, $base, $log_base, $suffixes ) = @_;
2040
- return "0" if $size == 0;
2041
-
2042
- my $mag = int( log($size) / $log_base );
2043
- $size /= $base**$mag;
2044
- $size =
2045
- $mag == 0 ? $size
2046
- : length( int($size) ) == 1 ? _ceil( $size * 10 ) / 10
2047
- : _ceil($size);
2048
- if ( $size >= $base ) {
2049
- $size /= $base;
2050
- $mag++;
2051
- }
2052
-
2053
- my $fmt = ( $mag == 0 || length( int($size) ) > 1 ) ? "%.0f%s" : "%.1f%s";
2054
- return sprintf( $fmt, $size, $suffixes->[$mag] );
2055
- }
2056
-
2057
- #pod =method slurp, slurp_raw, slurp_utf8
2058
- #pod
2059
- #pod $data = path("foo.txt")->slurp;
2060
- #pod $data = path("foo.txt")->slurp( {binmode => ":raw"} );
2061
- #pod $data = path("foo.txt")->slurp_raw;
2062
- #pod $data = path("foo.txt")->slurp_utf8;
2063
- #pod
2064
- #pod Reads file contents into a scalar. Takes an optional hash reference which may
2065
- #pod be used to pass options. The only available option is C<binmode>, which is
2066
- #pod passed to C<binmode()> on the handle used for reading.
2067
- #pod
2068
- #pod C<slurp_raw> is like C<slurp> with a C<binmode> of C<:unix> for
2069
- #pod a fast, unbuffered, raw read.
2070
- #pod
2071
- #pod C<slurp_utf8> is like C<slurp> with a C<binmode> of
2072
- #pod C<:unix:encoding(UTF-8)> (or C<:unix:utf8_strict> with
2073
- #pod L<PerlIO::utf8_strict>). If L<Unicode::UTF8> 0.58+ is installed, a
2074
- #pod unbuffered, raw slurp will be done instead and the result decoded with
2075
- #pod C<Unicode::UTF8>. This is just as strict and is roughly an order of
2076
- #pod magnitude faster than using C<:encoding(UTF-8)>.
2077
- #pod
2078
- #pod B<Note>: C<slurp> and friends lock the filehandle before slurping. If
2079
- #pod you plan to slurp from a file created with L<File::Temp>, be sure to
2080
- #pod close other handles or open without locking to avoid a deadlock:
2081
- #pod
2082
- #pod my $tempfile = File::Temp->new(EXLOCK => 0);
2083
- #pod my $guts = path($tempfile)->slurp;
2084
- #pod
2085
- #pod See also L</lines> if you want to slurp a file into a line array.
2086
- #pod
2087
- #pod Current API available since 0.004.
2088
- #pod
2089
- #pod =cut
2090
-
2091
- sub slurp {
2092
- my $self = shift;
2093
- my $args = _get_args( shift, qw/binmode/ );
2094
- my $binmode = $args->{binmode};
2095
- $binmode = ( ( caller(0) )[10] || {} )->{'open<'} unless defined $binmode;
2096
- my $fh = $self->filehandle( { locked => 1 }, "<", $binmode );
2097
- if ( ( defined($binmode) ? $binmode : "" ) eq ":unix"
2098
- and my $size = -s $fh )
2099
- {
2100
- my $buf;
2101
- my $rc = read $fh, $buf, $size; # File::Slurp in a nutshell
2102
- $self->_throw('read') unless defined $rc;
2103
- return $buf;
2104
- }
2105
- else {
2106
- local $/;
2107
- my $buf = scalar <$fh>;
2108
- $self->_throw('read') unless defined $buf;
2109
- return $buf;
2110
- }
2111
- }
2112
-
2113
- sub slurp_raw { $_[1] = { binmode => ":unix" }; goto &slurp }
2114
-
2115
- sub slurp_utf8 {
2116
- if ( defined($HAS_UU) ? $HAS_UU : ( $HAS_UU = _check_UU() ) ) {
2117
- return Unicode::UTF8::decode_utf8( slurp( $_[0], { binmode => ":unix" } ) );
2118
- }
2119
- elsif ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
2120
- $_[1] = { binmode => ":unix:utf8_strict" };
2121
- goto &slurp;
2122
- }
2123
- else {
2124
- $_[1] = { binmode => ":unix:encoding(UTF-8)" };
2125
- goto &slurp;
2126
- }
2127
- }
2128
-
2129
- #pod =method spew, spew_raw, spew_utf8
2130
- #pod
2131
- #pod path("foo.txt")->spew(@data);
2132
- #pod path("foo.txt")->spew(\@data);
2133
- #pod path("foo.txt")->spew({binmode => ":raw"}, @data);
2134
- #pod path("foo.txt")->spew_raw(@data);
2135
- #pod path("foo.txt")->spew_utf8(@data);
2136
- #pod
2137
- #pod Writes data to a file atomically. The file is written to a temporary file in
2138
- #pod the same directory, then renamed over the original. An optional hash reference
2139
- #pod may be used to pass options. The only option is C<binmode>, which is passed to
2140
- #pod C<binmode()> on the handle used for writing.
2141
- #pod
2142
- #pod C<spew_raw> is like C<spew> with a C<binmode> of C<:unix> for a fast,
2143
- #pod unbuffered, raw write.
2144
- #pod
2145
- #pod C<spew_utf8> is like C<spew> with a C<binmode> of C<:unix:encoding(UTF-8)>
2146
- #pod (or C<:unix:utf8_strict> with L<PerlIO::utf8_strict>). If L<Unicode::UTF8>
2147
- #pod 0.58+ is installed, a raw, unbuffered spew will be done instead on the data
2148
- #pod encoded with C<Unicode::UTF8>.
2149
- #pod
2150
- #pod B<NOTE>: because the file is written to a temporary file and then renamed, the
2151
- #pod new file will wind up with permissions based on your current umask. This is a
2152
- #pod feature to protect you from a race condition that would otherwise give
2153
- #pod different permissions than you might expect. If you really want to keep the
2154
- #pod original mode flags, use L</append> with the C<truncate> option.
2155
- #pod
2156
- #pod Current API available since 0.011.
2157
- #pod
2158
- #pod =cut
2159
-
2160
- sub spew {
2161
- my ( $self, @data ) = @_;
2162
- my $args = ( @data && ref $data[0] eq 'HASH' ) ? shift @data : {};
2163
- $args = _get_args( $args, qw/binmode/ );
2164
- my $binmode = $args->{binmode};
2165
- # get default binmode from caller's lexical scope (see "perldoc open")
2166
- $binmode = ( ( caller(0) )[10] || {} )->{'open>'} unless defined $binmode;
2167
-
2168
- # writing needs to follow the link and create the tempfile in the same
2169
- # dir for later atomic rename
2170
- my $resolved_path = $self->_resolve_symlinks;
2171
- my $temp = $resolved_path->_replacement_path;
2172
-
2173
- my $fh;
2174
- my $ok = eval { $fh = $temp->filehandle( { exclusive => 1, locked => 1 }, ">", $binmode ); 1 };
2175
- if (!$ok) {
2176
- my $msg = ref($@) eq 'Path::Tiny::Error'
2177
- ? "error opening temp file '$@->{file}' for atomic write: $@->{err}"
2178
- : "error opening temp file for atomic write: $@";
2179
- $self->_throw('spew', $self->[PATH], $msg);
2180
- }
2181
- print( {$fh} map { ref eq 'ARRAY' ? @$_ : $_ } @data) or $self->_throw('print', $temp->[PATH]);
2182
- close $fh or $self->_throw( 'close', $temp->[PATH] );
2183
-
2184
- return $temp->move($resolved_path);
2185
- }
2186
-
2187
- sub spew_raw { splice @_, 1, 0, { binmode => ":unix" }; goto &spew }
2188
-
2189
- sub spew_utf8 {
2190
- if ( defined($HAS_UU) ? $HAS_UU : ( $HAS_UU = _check_UU() ) ) {
2191
- my $self = shift;
2192
- spew(
2193
- $self,
2194
- { binmode => ":unix" },
2195
- map { Unicode::UTF8::encode_utf8($_) } map { ref eq 'ARRAY' ? @$_ : $_ } @_
2196
- );
2197
- }
2198
- elsif ( defined($HAS_PU) ? $HAS_PU : ( $HAS_PU = _check_PU() ) ) {
2199
- splice @_, 1, 0, { binmode => ":unix:utf8_strict" };
2200
- goto &spew;
2201
- }
2202
- else {
2203
- splice @_, 1, 0, { binmode => ":unix:encoding(UTF-8)" };
2204
- goto &spew;
2205
- }
2206
- }
2207
-
2208
- #pod =method stat, lstat
2209
- #pod
2210
- #pod $stat = path("foo.txt")->stat;
2211
- #pod $stat = path("/some/symlink")->lstat;
2212
- #pod
2213
- #pod Like calling C<stat> or C<lstat> from L<File::stat>.
2214
- #pod
2215
- #pod Current API available since 0.001.
2216
- #pod
2217
- #pod =cut
2218
-
2219
- # XXX break out individual stat() components as subs?
2220
- sub stat {
2221
- my $self = shift;
2222
- require File::stat;
2223
- return File::stat::stat( $self->[PATH] ) || $self->_throw('stat');
2224
- }
2225
-
2226
- sub lstat {
2227
- my $self = shift;
2228
- require File::stat;
2229
- return File::stat::lstat( $self->[PATH] ) || $self->_throw('lstat');
2230
- }
2231
-
2232
- #pod =method stringify
2233
- #pod
2234
- #pod $path = path("foo.txt");
2235
- #pod say $path->stringify; # same as "$path"
2236
- #pod
2237
- #pod Returns a string representation of the path. Unlike C<canonpath>, this method
2238
- #pod returns the path standardized with Unix-style C</> directory separators.
2239
- #pod
2240
- #pod Current API available since 0.001.
2241
- #pod
2242
- #pod =cut
2243
-
2244
- sub stringify { $_[0]->[PATH] =~ /^~/ ? './' . $_[0]->[PATH] : $_[0]->[PATH] }
2245
-
2246
- #pod =method subsumes
2247
- #pod
2248
- #pod path("foo/bar")->subsumes("foo/bar/baz"); # true
2249
- #pod path("/foo/bar")->subsumes("/foo/baz"); # false
2250
- #pod
2251
- #pod Returns true if the first path is a prefix of the second path at a directory
2252
- #pod boundary.
2253
- #pod
2254
- #pod This B<does not> resolve parent directory entries (C<..>) or symlinks:
2255
- #pod
2256
- #pod path("foo/bar")->subsumes("foo/bar/../baz"); # true
2257
- #pod
2258
- #pod If such things are important to you, ensure that both paths are resolved to
2259
- #pod the filesystem with C<realpath>:
2260
- #pod
2261
- #pod my $p1 = path("foo/bar")->realpath;
2262
- #pod my $p2 = path("foo/bar/../baz")->realpath;
2263
- #pod if ( $p1->subsumes($p2) ) { ... }
2264
- #pod
2265
- #pod Current API available since 0.048.
2266
- #pod
2267
- #pod =cut
2268
-
2269
- sub subsumes {
2270
- my $self = shift;
2271
- Carp::croak("subsumes() requires a defined, positive-length argument")
2272
- unless defined $_[0];
2273
- my $other = _path(shift);
2274
-
2275
- # normalize absolute vs relative
2276
- if ( $self->is_absolute && !$other->is_absolute ) {
2277
- $other = $other->absolute;
2278
- }
2279
- elsif ( $other->is_absolute && !$self->is_absolute ) {
2280
- $self = $self->absolute;
2281
- }
2282
-
2283
- # normalize volume vs non-volume; do this after absolute path
2284
- # adjustments above since that might add volumes already
2285
- if ( length $self->volume && !length $other->volume ) {
2286
- $other = $other->absolute;
2287
- }
2288
- elsif ( length $other->volume && !length $self->volume ) {
2289
- $self = $self->absolute;
2290
- }
2291
-
2292
- if ( $self->[PATH] eq '.' ) {
2293
- return !!1; # cwd subsumes everything relative
2294
- }
2295
- elsif ( $self->is_rootdir ) {
2296
- # a root directory ("/", "c:/") already ends with a separator
2297
- return $other->[PATH] =~ m{^\Q$self->[PATH]\E};
2298
- }
2299
- else {
2300
- # exact match or prefix breaking at a separator
2301
- return $other->[PATH] =~ m{^\Q$self->[PATH]\E(?:/|\z)};
2302
- }
2303
- }
2304
-
2305
- #pod =method touch
2306
- #pod
2307
- #pod path("foo.txt")->touch;
2308
- #pod path("foo.txt")->touch($epoch_secs);
2309
- #pod
2310
- #pod Like the Unix C<touch> utility. Creates the file if it doesn't exist, or else
2311
- #pod changes the modification and access times to the current time. If the first
2312
- #pod argument is the epoch seconds then it will be used.
2313
- #pod
2314
- #pod Returns the path object so it can be easily chained with other methods:
2315
- #pod
2316
- #pod # won't die if foo.txt doesn't exist
2317
- #pod $content = path("foo.txt")->touch->slurp;
2318
- #pod
2319
- #pod Current API available since 0.015.
2320
- #pod
2321
- #pod =cut
2322
-
2323
- sub touch {
2324
- my ( $self, $epoch ) = @_;
2325
- if ( !-e $self->[PATH] ) {
2326
- my $fh = $self->openw;
2327
- close $fh or $self->_throw('close');
2328
- }
2329
- if ( defined $epoch ) {
2330
- utime $epoch, $epoch, $self->[PATH]
2331
- or $self->_throw("utime ($epoch)");
2332
- }
2333
- else {
2334
- # literal undef prevents warnings :-(
2335
- utime undef, undef, $self->[PATH]
2336
- or $self->_throw("utime ()");
2337
- }
2338
- return $self;
2339
- }
2340
-
2341
- #pod =method touchpath
2342
- #pod
2343
- #pod path("bar/baz/foo.txt")->touchpath;
2344
- #pod
2345
- #pod Combines C<mkdir> and C<touch>. Creates the parent directory if it doesn't exist,
2346
- #pod before touching the file. Returns the path object like C<touch> does.
2347
- #pod
2348
- #pod If you need to pass options, use C<mkdir> and C<touch> separately:
2349
- #pod
2350
- #pod path("bar/baz")->mkdir( \%options )->child("foo.txt")->touch($epoch_secs);
2351
- #pod
2352
- #pod Current API available since 0.022.
2353
- #pod
2354
- #pod =cut
2355
-
2356
- sub touchpath {
2357
- my ($self) = @_;
2358
- my $parent = $self->parent;
2359
- $parent->mkdir unless $parent->exists;
2360
- $self->touch;
2361
- }
2362
-
2363
- #pod =method visit
2364
- #pod
2365
- #pod path("/tmp")->visit( \&callback, \%options );
2366
- #pod
2367
- #pod Executes a callback for each child of a directory. It returns a hash
2368
- #pod reference with any state accumulated during iteration.
2369
- #pod
2370
- #pod The options are the same as for L</iterator> (which it uses internally):
2371
- #pod C<recurse> and C<follow_symlinks>. Both default to false.
2372
- #pod
2373
- #pod The callback function will receive a C<Path::Tiny> object as the first argument
2374
- #pod and a hash reference to accumulate state as the second argument. For example:
2375
- #pod
2376
- #pod # collect files sizes
2377
- #pod my $sizes = path("/tmp")->visit(
2378
- #pod sub {
2379
- #pod my ($path, $state) = @_;
2380
- #pod return if $path->is_dir;
2381
- #pod $state->{$path} = -s $path;
2382
- #pod },
2383
- #pod { recurse => 1 }
2384
- #pod );
2385
- #pod
2386
- #pod For convenience, the C<Path::Tiny> object will also be locally aliased as the
2387
- #pod C<$_> global variable:
2388
- #pod
2389
- #pod # print paths matching /foo/
2390
- #pod path("/tmp")->visit( sub { say if /foo/ }, { recurse => 1} );
2391
- #pod
2392
- #pod If the callback returns a B<reference> to a false scalar value, iteration will
2393
- #pod terminate. This is not the same as "pruning" a directory search; this just
2394
- #pod stops all iteration and returns the state hash reference.
2395
- #pod
2396
- #pod # find up to 10 files larger than 100K
2397
- #pod my $files = path("/tmp")->visit(
2398
- #pod sub {
2399
- #pod my ($path, $state) = @_;
2400
- #pod $state->{$path}++ if -s $path > 102400
2401
- #pod return \0 if keys %$state == 10;
2402
- #pod },
2403
- #pod { recurse => 1 }
2404
- #pod );
2405
- #pod
2406
- #pod If you want more flexible iteration, use a module like L<Path::Iterator::Rule>.
2407
- #pod
2408
- #pod Current API available since 0.062.
2409
- #pod
2410
- #pod =cut
2411
-
2412
- sub visit {
2413
- my $self = shift;
2414
- my $cb = shift;
2415
- my $args = _get_args( shift, qw/recurse follow_symlinks/ );
2416
- Carp::croak("Callback for visit() must be a code reference")
2417
- unless defined($cb) && ref($cb) eq 'CODE';
2418
- my $next = $self->iterator($args);
2419
- my $state = {};
2420
- while ( my $file = $next->() ) {
2421
- local $_ = $file;
2422
- my $r = $cb->( $file, $state );
2423
- last if ref($r) eq 'SCALAR' && !$$r;
2424
- }
2425
- return $state;
2426
- }
2427
-
2428
- #pod =method volume
2429
- #pod
2430
- #pod $vol = path("/tmp/foo.txt")->volume; # ""
2431
- #pod $vol = path("C:/tmp/foo.txt")->volume; # "C:"
2432
- #pod
2433
- #pod Returns the volume portion of the path. This is equivalent
2434
- #pod to what L<File::Spec> would give from C<splitpath> and thus
2435
- #pod usually is the empty string on Unix-like operating systems or the
2436
- #pod drive letter for an absolute path on C<MSWin32>.
2437
- #pod
2438
- #pod Current API available since 0.001.
2439
- #pod
2440
- #pod =cut
2441
-
2442
- sub volume {
2443
- my ($self) = @_;
2444
- $self->_splitpath unless defined $self->[VOL];
2445
- return $self->[VOL];
2446
- }
2447
-
2448
- package Path::Tiny::Error;
2449
-
2450
- our @CARP_NOT = qw/Path::Tiny/;
2451
-
2452
- use overload ( q{""} => sub { (shift)->{msg} }, fallback => 1 );
2453
-
2454
- sub throw {
2455
- my ( $class, $op, $file, $err ) = @_;
2456
- chomp( my $trace = Carp::shortmess );
2457
- my $msg = "Error $op on '$file': $err$trace\n";
2458
- die bless { op => $op, file => $file, err => $err, msg => $msg }, $class;
2459
- }
2460
-
2461
- 1;
2462
-
2463
-
2464
- # vim: ts=4 sts=4 sw=4 et:
2465
-
2466
- __END__
2467
-
2468
- =pod
2469
-
2470
- =encoding UTF-8
2471
-
2472
- =head1 NAME
2473
-
2474
- Path::Tiny - File path utility
2475
-
2476
- =head1 VERSION
2477
-
2478
- version 0.148
2479
-
2480
- =head1 SYNOPSIS
2481
-
2482
- use Path::Tiny;
2483
-
2484
- # Creating Path::Tiny objects
2485
-
2486
- my $dir = path("/tmp");
2487
- my $foo = path("foo.txt");
2488
-
2489
- my $subdir = $dir->child("foo");
2490
- my $bar = $subdir->child("bar.txt");
2491
-
2492
- # Stringifies as cleaned up path
2493
-
2494
- my $file = path("./foo.txt");
2495
- print $file; # "foo.txt"
2496
-
2497
- # Reading files
2498
-
2499
- my $guts = $file->slurp;
2500
- $guts = $file->slurp_utf8;
2501
-
2502
- my @lines = $file->lines;
2503
- @lines = $file->lines_utf8;
2504
-
2505
- my ($head) = $file->lines( {count => 1} );
2506
- my ($tail) = $file->lines( {count => -1} );
2507
-
2508
- # Writing files
2509
-
2510
- $bar->spew( @data );
2511
- $bar->spew_utf8( @data );
2512
-
2513
- # Reading directories
2514
-
2515
- for ( $dir->children ) { ... }
2516
-
2517
- my $iter = $dir->iterator;
2518
- while ( my $next = $iter->() ) { ... }
2519
-
2520
- =head1 DESCRIPTION
2521
-
2522
- This module provides a small, fast utility for working with file paths. It is
2523
- friendlier to use than L<File::Spec> and provides easy access to functions from
2524
- several other core file handling modules. It aims to be smaller and faster
2525
- than many alternatives on CPAN, while helping people do many common things in
2526
- consistent and less error-prone ways.
2527
-
2528
- Path::Tiny does not try to work for anything except Unix-like and Win32
2529
- platforms. Even then, it might break if you try something particularly obscure
2530
- or tortuous. (Quick! What does this mean:
2531
- C<< ///../../..//./././a//b/.././c/././ >>? And how does it differ on Win32?)
2532
-
2533
- All paths are forced to have Unix-style forward slashes. Stringifying
2534
- the object gives you back the path (after some clean up).
2535
-
2536
- File input/output methods C<flock> handles before reading or writing,
2537
- as appropriate (if supported by the platform and/or filesystem).
2538
-
2539
- The C<*_utf8> methods (C<slurp_utf8>, C<lines_utf8>, etc.) operate in raw
2540
- mode. On Windows, that means they will not have CRLF translation from the
2541
- C<:crlf> IO layer. Installing L<Unicode::UTF8> 0.58 or later will speed up
2542
- C<*_utf8> situations in many cases and is highly recommended.
2543
- Alternatively, installing L<PerlIO::utf8_strict> 0.003 or later will be
2544
- used in place of the default C<:encoding(UTF-8)>.
2545
-
2546
- This module depends heavily on PerlIO layers for correct operation and thus
2547
- requires Perl 5.008001 or later.
2548
-
2549
- =head1 CONSTRUCTORS
2550
-
2551
- =head2 path
2552
-
2553
- $path = path("foo/bar");
2554
- $path = path("/tmp", "file.txt"); # list
2555
- $path = path("."); # cwd
2556
-
2557
- Constructs a C<Path::Tiny> object. It doesn't matter if you give a file or
2558
- directory path. It's still up to you to call directory-like methods only on
2559
- directories and file-like methods only on files. This function is exported
2560
- automatically by default.
2561
-
2562
- The first argument must be defined and have non-zero length or an exception
2563
- will be thrown. This prevents subtle, dangerous errors with code like
2564
- C<< path( maybe_undef() )->remove_tree >>.
2565
-
2566
- B<DEPRECATED>: If and only if the B<first> character of the B<first> argument
2567
- to C<path> is a tilde ('~'), then tilde replacement will be applied to the
2568
- first path segment. A single tilde will be replaced with C<glob('~')> and a
2569
- tilde followed by a username will be replaced with output of
2570
- C<glob('~username')>. B<No other method does tilde expansion on its arguments>.
2571
- See L</Tilde expansion (deprecated)> for more.
2572
-
2573
- On Windows, if the path consists of a drive identifier without a path component
2574
- (C<C:> or C<D:>), it will be expanded to the absolute path of the current
2575
- directory on that volume using C<Cwd::getdcwd()>.
2576
-
2577
- If called with a single C<Path::Tiny> argument, the original is returned unless
2578
- the original is holding a temporary file or directory reference in which case a
2579
- stringified copy is made.
2580
-
2581
- $path = path("foo/bar");
2582
- $temp = Path::Tiny->tempfile;
2583
-
2584
- $p2 = path($path); # like $p2 = $path
2585
- $t2 = path($temp); # like $t2 = path( "$temp" )
2586
-
2587
- This optimizes copies without proliferating references unexpectedly if a copy is
2588
- made by code outside your control.
2589
-
2590
- Current API available since 0.017.
2591
-
2592
- =head2 new
2593
-
2594
- $path = Path::Tiny->new("foo/bar");
2595
-
2596
- This is just like C<path>, but with method call overhead. (Why would you
2597
- do that?)
2598
-
2599
- Current API available since 0.001.
2600
-
2601
- =head2 cwd
2602
-
2603
- $path = Path::Tiny->cwd; # path( Cwd::getcwd )
2604
- $path = cwd; # optional export
2605
-
2606
- Gives you the absolute path to the current directory as a C<Path::Tiny> object.
2607
- This is slightly faster than C<< path(".")->absolute >>.
2608
-
2609
- C<cwd> may be exported on request and used as a function instead of as a
2610
- method.
2611
-
2612
- Current API available since 0.018.
2613
-
2614
- =head2 rootdir
2615
-
2616
- $path = Path::Tiny->rootdir; # /
2617
- $path = rootdir; # optional export
2618
-
2619
- Gives you C<< File::Spec->rootdir >> as a C<Path::Tiny> object if you're too
2620
- picky for C<path("/")>.
2621
-
2622
- C<rootdir> may be exported on request and used as a function instead of as a
2623
- method.
2624
-
2625
- Current API available since 0.018.
2626
-
2627
- =head2 tempfile, tempdir
2628
-
2629
- $temp = Path::Tiny->tempfile( @options );
2630
- $temp = Path::Tiny->tempdir( @options );
2631
- $temp = $dirpath->tempfile( @options );
2632
- $temp = $dirpath->tempdir( @options );
2633
- $temp = tempfile( @options ); # optional export
2634
- $temp = tempdir( @options ); # optional export
2635
-
2636
- C<tempfile> passes the options to C<< File::Temp->new >> and returns a
2637
- C<Path::Tiny> object with the file name. The C<TMPDIR> option will be enabled
2638
- by default, but you can override that by passing C<< TMPDIR => 0 >> along with
2639
- the options. (If you use an absolute C<TEMPLATE> option, you will want to
2640
- disable C<TMPDIR>.)
2641
-
2642
- The resulting C<File::Temp> object is cached. When the C<Path::Tiny> object is
2643
- destroyed, the C<File::Temp> object will be as well.
2644
-
2645
- C<File::Temp> annoyingly requires you to specify a custom template in slightly
2646
- different ways depending on which function or method you call, but
2647
- C<Path::Tiny> lets you ignore that and can take either a leading template or a
2648
- C<TEMPLATE> option and does the right thing.
2649
-
2650
- $temp = Path::Tiny->tempfile( "customXXXXXXXX" ); # ok
2651
- $temp = Path::Tiny->tempfile( TEMPLATE => "customXXXXXXXX" ); # ok
2652
-
2653
- The tempfile path object will be normalized to have an absolute path, even if
2654
- created in a relative directory using C<DIR>. If you want it to have
2655
- the C<realpath> instead, pass a leading options hash like this:
2656
-
2657
- $real_temp = tempfile({realpath => 1}, @options);
2658
-
2659
- C<tempdir> is just like C<tempfile>, except it calls
2660
- C<< File::Temp->newdir >> instead.
2661
-
2662
- Both C<tempfile> and C<tempdir> may be exported on request and used as
2663
- functions instead of as methods.
2664
-
2665
- The methods can be called on an instances representing a
2666
- directory. In this case, the directory is used as the base to create the
2667
- temporary file/directory, setting the C<DIR> option in File::Temp.
2668
-
2669
- my $target_dir = path('/to/destination');
2670
- my $tempfile = $target_dir->tempfile('foobarXXXXXX');
2671
- $tempfile->spew('A lot of data...'); # not atomic
2672
- $tempfile->move($target_dir->child('foobar')); # hopefully atomic
2673
-
2674
- In this case, any value set for option C<DIR> is ignored.
2675
-
2676
- B<Note>: for tempfiles, the filehandles from File::Temp are closed and not
2677
- reused. This is not as secure as using File::Temp handles directly, but is
2678
- less prone to deadlocks or access problems on some platforms. Think of what
2679
- C<Path::Tiny> gives you to be just a temporary file B<name> that gets cleaned
2680
- up.
2681
-
2682
- B<Note 2>: if you don't want these cleaned up automatically when the object
2683
- is destroyed, File::Temp requires different options for directories and
2684
- files. Use C<< CLEANUP => 0 >> for directories and C<< UNLINK => 0 >> for
2685
- files.
2686
-
2687
- B<Note 3>: Don't lose the temporary object by chaining a method call instead
2688
- of storing it:
2689
-
2690
- my $lost = tempdir()->child("foo"); # tempdir cleaned up right away
2691
-
2692
- B<Note 4>: The cached object may be accessed with the L</cached_temp> method.
2693
- Keeping a reference to, or modifying the cached object may break the
2694
- behavior documented above and is not supported. Use at your own risk.
2695
-
2696
- Current API available since 0.119.
2697
-
2698
- =head1 METHODS
2699
-
2700
- =head2 absolute
2701
-
2702
- $abs = path("foo/bar")->absolute;
2703
- $abs = path("foo/bar")->absolute("/tmp");
2704
-
2705
- Returns a new C<Path::Tiny> object with an absolute path (or itself if already
2706
- absolute). If no argument is given, the current directory is used as the
2707
- absolute base path. If an argument is given, it will be converted to an
2708
- absolute path (if it is not already) and used as the absolute base path.
2709
-
2710
- This will not resolve upward directories ("foo/../bar") unless C<canonpath>
2711
- in L<File::Spec> would normally do so on your platform. If you need them
2712
- resolved, you must call the more expensive C<realpath> method instead.
2713
-
2714
- On Windows, an absolute path without a volume component will have it added
2715
- based on the current drive.
2716
-
2717
- Current API available since 0.101.
2718
-
2719
- =head2 append, append_raw, append_utf8
2720
-
2721
- path("foo.txt")->append(@data);
2722
- path("foo.txt")->append(\@data);
2723
- path("foo.txt")->append({binmode => ":raw"}, @data);
2724
- path("foo.txt")->append_raw(@data);
2725
- path("foo.txt")->append_utf8(@data);
2726
-
2727
- Appends data to a file. The file is locked with C<flock> prior to writing
2728
- and closed afterwards. An optional hash reference may be used to pass
2729
- options. Valid options are:
2730
-
2731
- =over 4
2732
-
2733
- =item *
2734
-
2735
- C<binmode>: passed to C<binmode()> on the handle used for writing.
2736
-
2737
- =item *
2738
-
2739
- C<truncate>: truncates the file after locking and before appending
2740
-
2741
- =back
2742
-
2743
- The C<truncate> option is a way to replace the contents of a file
2744
- B<in place>, unlike L</spew> which writes to a temporary file and then
2745
- replaces the original (if it exists).
2746
-
2747
- C<append_raw> is like C<append> with a C<binmode> of C<:unix> for a fast,
2748
- unbuffered, raw write.
2749
-
2750
- C<append_utf8> is like C<append> with an unbuffered C<binmode>
2751
- C<:unix:encoding(UTF-8)> (or C<:unix:utf8_strict> with
2752
- L<PerlIO::utf8_strict>). If L<Unicode::UTF8> 0.58+ is installed, an
2753
- unbuffered, raw append will be done instead on the data encoded with
2754
- C<Unicode::UTF8>.
2755
-
2756
- Current API available since 0.060.
2757
-
2758
- =head2 assert
2759
-
2760
- $path = path("foo.txt")->assert( sub { $_->exists } );
2761
-
2762
- Returns the invocant after asserting that a code reference argument returns
2763
- true. When the assertion code reference runs, it will have the invocant
2764
- object in the C<$_> variable. If it returns false, an exception will be
2765
- thrown. The assertion code reference may also throw its own exception.
2766
-
2767
- If no assertion is provided, the invocant is returned without error.
2768
-
2769
- Current API available since 0.062.
2770
-
2771
- =head2 basename
2772
-
2773
- $name = path("foo/bar.txt")->basename; # bar.txt
2774
- $name = path("foo.txt")->basename('.txt'); # foo
2775
- $name = path("foo.txt")->basename(qr/.txt/); # foo
2776
- $name = path("foo.txt")->basename(@suffixes);
2777
-
2778
- Returns the file portion or last directory portion of a path.
2779
-
2780
- Given a list of suffixes as strings or regular expressions, any that match at
2781
- the end of the file portion or last directory portion will be removed before
2782
- the result is returned.
2783
-
2784
- Current API available since 0.054.
2785
-
2786
- =head2 canonpath
2787
-
2788
- $canonical = path("foo/bar")->canonpath; # foo\bar on Windows
2789
-
2790
- Returns a string with the canonical format of the path name for
2791
- the platform. In particular, this means directory separators
2792
- will be C<\> on Windows.
2793
-
2794
- Current API available since 0.001.
2795
-
2796
- =head2 cached_temp
2797
-
2798
- Returns the cached C<File::Temp> or C<File::Temp::Dir> object if the
2799
- C<Path::Tiny> object was created with C</tempfile> or C</tempdir>.
2800
- If there is no such object, this method throws.
2801
-
2802
- B<WARNING>: Keeping a reference to, or modifying the cached object may
2803
- break the behavior documented for temporary files and directories created
2804
- with C<Path::Tiny> and is not supported. Use at your own risk.
2805
-
2806
- Current API available since 0.101.
2807
-
2808
- =head2 child
2809
-
2810
- $file = path("/tmp")->child("foo.txt"); # "/tmp/foo.txt"
2811
- $file = path("/tmp")->child(@parts);
2812
-
2813
- Returns a new C<Path::Tiny> object relative to the original. Works
2814
- like C<catfile> or C<catdir> from File::Spec, but without caring about
2815
- file or directories.
2816
-
2817
- B<WARNING>: because the argument could contain C<..> or refer to symlinks,
2818
- there is no guarantee that the new path refers to an actual descendent of
2819
- the original. If this is important to you, transform parent and child with
2820
- L</realpath> and check them with L</subsumes>.
2821
-
2822
- Current API available since 0.001.
2823
-
2824
- =head2 children
2825
-
2826
- @paths = path("/tmp")->children;
2827
- @paths = path("/tmp")->children( qr/\.txt\z/ );
2828
-
2829
- Returns a list of C<Path::Tiny> objects for all files and directories
2830
- within a directory. Excludes "." and ".." automatically.
2831
-
2832
- If an optional C<qr//> argument is provided, it only returns objects for child
2833
- names that match the given regular expression. Only the base name is used
2834
- for matching:
2835
-
2836
- @paths = path("/tmp")->children( qr/^foo/ );
2837
- # matches children like the glob foo*
2838
-
2839
- Current API available since 0.028.
2840
-
2841
- =head2 chmod
2842
-
2843
- path("foo.txt")->chmod(0777);
2844
- path("foo.txt")->chmod("0755");
2845
- path("foo.txt")->chmod("go-w");
2846
- path("foo.txt")->chmod("a=r,u+wx");
2847
-
2848
- Sets file or directory permissions. The argument can be a numeric mode, a
2849
- octal string beginning with a "0" or a limited subset of the symbolic mode use
2850
- by F</bin/chmod>.
2851
-
2852
- The symbolic mode must be a comma-delimited list of mode clauses. Clauses must
2853
- match C<< qr/\A([augo]+)([=+-])([rwx]+)\z/ >>, which defines "who", "op" and
2854
- "perms" parameters for each clause. Unlike F</bin/chmod>, all three parameters
2855
- are required for each clause, multiple ops are not allowed and permissions
2856
- C<stugoX> are not supported. (See L<File::chmod> for more complex needs.)
2857
-
2858
- Current API available since 0.053.
2859
-
2860
- =head2 copy
2861
-
2862
- path("/tmp/foo.txt")->copy("/tmp/bar.txt");
2863
-
2864
- Copies the current path to the given destination using L<File::Copy>'s
2865
- C<copy> function. Upon success, returns the C<Path::Tiny> object for the
2866
- newly copied file.
2867
-
2868
- Current API available since 0.070.
2869
-
2870
- =head2 digest
2871
-
2872
- $obj = path("/tmp/foo.txt")->digest; # SHA-256
2873
- $obj = path("/tmp/foo.txt")->digest("MD5"); # user-selected
2874
- $obj = path("/tmp/foo.txt")->digest( { chunk_size => 1e6 }, "MD5" );
2875
-
2876
- Returns a hexadecimal digest for a file. An optional hash reference of options may
2877
- be given. The only option is C<chunk_size>. If C<chunk_size> is given, that many
2878
- bytes will be read at a time. If not provided, the entire file will be slurped
2879
- into memory to compute the digest.
2880
-
2881
- Any subsequent arguments are passed to the constructor for L<Digest> to select
2882
- an algorithm. If no arguments are given, the default is SHA-256.
2883
-
2884
- Current API available since 0.056.
2885
-
2886
- =head2 dirname (deprecated)
2887
-
2888
- $name = path("/tmp/foo.txt")->dirname; # "/tmp/"
2889
-
2890
- Returns the directory portion you would get from calling
2891
- C<< File::Spec->splitpath( $path->stringify ) >> or C<"."> for a path without a
2892
- parent directory portion. Because L<File::Spec> is inconsistent, the result
2893
- might or might not have a trailing slash. Because of this, this method is
2894
- B<deprecated>.
2895
-
2896
- A better, more consistently approach is likely C<< $path->parent->stringify >>,
2897
- which will not have a trailing slash except for a root directory.
2898
-
2899
- Deprecated in 0.056.
2900
-
2901
- =head2 edit, edit_raw, edit_utf8
2902
-
2903
- path("foo.txt")->edit( \&callback, $options );
2904
- path("foo.txt")->edit_utf8( \&callback );
2905
- path("foo.txt")->edit_raw( \&callback );
2906
-
2907
- These are convenience methods that allow "editing" a file using a single
2908
- callback argument. They slurp the file using C<slurp>, place the contents
2909
- inside a localized C<$_> variable, call the callback function (without
2910
- arguments), and then write C<$_> (presumably mutated) back to the
2911
- file with C<spew>.
2912
-
2913
- An optional hash reference may be used to pass options. The only option is
2914
- C<binmode>, which is passed to C<slurp> and C<spew>.
2915
-
2916
- C<edit_utf8> and C<edit_raw> act like their respective C<slurp_*> and
2917
- C<spew_*> methods.
2918
-
2919
- Current API available since 0.077.
2920
-
2921
- =head2 edit_lines, edit_lines_utf8, edit_lines_raw
2922
-
2923
- path("foo.txt")->edit_lines( \&callback, $options );
2924
- path("foo.txt")->edit_lines_utf8( \&callback );
2925
- path("foo.txt")->edit_lines_raw( \&callback );
2926
-
2927
- These are convenience methods that allow "editing" a file's lines using a
2928
- single callback argument. They iterate over the file: for each line, the
2929
- line is put into a localized C<$_> variable, the callback function is
2930
- executed (without arguments) and then C<$_> is written to a temporary file.
2931
- When iteration is finished, the temporary file is atomically renamed over
2932
- the original.
2933
-
2934
- An optional hash reference may be used to pass options. The only option is
2935
- C<binmode>, which is passed to the method that open handles for reading and
2936
- writing.
2937
-
2938
- C<edit_lines_raw> is like C<edit_lines> with a buffered C<binmode> of
2939
- C<:raw>.
2940
-
2941
- C<edit_lines_utf8> is like C<edit_lines> with a buffered C<binmode>
2942
- C<:raw:encoding(UTF-8)> (or C<:raw:utf8_strict> with
2943
- L<PerlIO::utf8_strict>).
2944
-
2945
- Current API available since 0.077.
2946
-
2947
- =head2 exists, is_file, is_dir
2948
-
2949
- if ( path("/tmp")->exists ) { ... } # -e
2950
- if ( path("/tmp")->is_dir ) { ... } # -d
2951
- if ( path("/tmp")->is_file ) { ... } # -e && ! -d
2952
-
2953
- Implements file test operations, this means the file or directory actually has
2954
- to exist on the filesystem. Until then, it's just a path.
2955
-
2956
- B<Note>: C<is_file> is not C<-f> because C<-f> is not the opposite of C<-d>.
2957
- C<-f> means "plain file", excluding symlinks, devices, etc. that often can be
2958
- read just like files.
2959
-
2960
- Use C<-f> instead if you really mean to check for a plain file.
2961
-
2962
- Current API available since 0.053.
2963
-
2964
- =head2 filehandle
2965
-
2966
- $fh = path("/tmp/foo.txt")->filehandle($mode, $binmode);
2967
- $fh = path("/tmp/foo.txt")->filehandle({ locked => 1 }, $mode, $binmode);
2968
- $fh = path("/tmp/foo.txt")->filehandle({ exclusive => 1 }, $mode, $binmode);
2969
-
2970
- Returns an open file handle. The C<$mode> argument must be a Perl-style
2971
- read/write mode string ("<" ,">", ">>", etc.). If a C<$binmode>
2972
- is given, it is set during the C<open> call.
2973
-
2974
- An optional hash reference may be used to pass options.
2975
-
2976
- The C<locked> option governs file locking; if true, handles opened for writing,
2977
- appending or read-write are locked with C<LOCK_EX>; otherwise, they are
2978
- locked with C<LOCK_SH>. When using C<locked>, ">" or "+>" modes will delay
2979
- truncation until after the lock is acquired.
2980
-
2981
- The C<exclusive> option causes the open() call to fail if the file already
2982
- exists. This corresponds to the O_EXCL flag to sysopen / open(2).
2983
- C<exclusive> implies C<locked> and will set it for you if you forget it.
2984
-
2985
- See C<openr>, C<openw>, C<openrw>, and C<opena> for sugar.
2986
-
2987
- Current API available since 0.066.
2988
-
2989
- =head2 has_same_bytes
2990
-
2991
- if ( path("foo.txt")->has_same_bytes("bar.txt") ) {
2992
- # ...
2993
- }
2994
-
2995
- This method returns true if both the invocant and the argument can be opened as
2996
- file handles and the handles contain the same bytes. It returns false if their
2997
- contents differ. If either can't be opened as a file (e.g. a directory or
2998
- non-existent file), the method throws an exception. If both can be opened and
2999
- both have the same C<realpath>, the method returns true without scanning any
3000
- data.
3001
-
3002
- Current API available since 0.125.
3003
-
3004
- =head2 is_absolute, is_relative
3005
-
3006
- if ( path("/tmp")->is_absolute ) { ... }
3007
- if ( path("/tmp")->is_relative ) { ... }
3008
-
3009
- Booleans for whether the path appears absolute or relative.
3010
-
3011
- Current API available since 0.001.
3012
-
3013
- =head2 is_rootdir
3014
-
3015
- while ( ! $path->is_rootdir ) {
3016
- $path = $path->parent;
3017
- ...
3018
- }
3019
-
3020
- Boolean for whether the path is the root directory of the volume. I.e. the
3021
- C<dirname> is C<q[/]> and the C<basename> is C<q[]>.
3022
-
3023
- This works even on C<MSWin32> with drives and UNC volumes:
3024
-
3025
- path("C:/")->is_rootdir; # true
3026
- path("//server/share/")->is_rootdir; #true
3027
-
3028
- Current API available since 0.038.
3029
-
3030
- =head2 iterator
3031
-
3032
- $iter = path("/tmp")->iterator( \%options );
3033
-
3034
- Returns a code reference that walks a directory lazily. Each invocation
3035
- returns a C<Path::Tiny> object or undef when the iterator is exhausted.
3036
-
3037
- $iter = path("/tmp")->iterator;
3038
- while ( $path = $iter->() ) {
3039
- ...
3040
- }
3041
-
3042
- The current and parent directory entries ("." and "..") will not
3043
- be included.
3044
-
3045
- If the C<recurse> option is true, the iterator will walk the directory
3046
- recursively, breadth-first. If the C<follow_symlinks> option is also true,
3047
- directory links will be followed recursively. There is no protection against
3048
- loops when following links. If a directory is not readable, it will not be
3049
- followed.
3050
-
3051
- The default is the same as:
3052
-
3053
- $iter = path("/tmp")->iterator( {
3054
- recurse => 0,
3055
- follow_symlinks => 0,
3056
- } );
3057
-
3058
- For a more powerful, recursive iterator with built-in loop avoidance, see
3059
- L<Path::Iterator::Rule>.
3060
-
3061
- See also L</visit>.
3062
-
3063
- Current API available since 0.016.
3064
-
3065
- =head2 lines, lines_raw, lines_utf8
3066
-
3067
- @contents = path("/tmp/foo.txt")->lines;
3068
- @contents = path("/tmp/foo.txt")->lines(\%options);
3069
- @contents = path("/tmp/foo.txt")->lines_raw;
3070
- @contents = path("/tmp/foo.txt")->lines_utf8;
3071
-
3072
- @contents = path("/tmp/foo.txt")->lines( { chomp => 1, count => 4 } );
3073
-
3074
- Returns a list of lines from a file. Optionally takes a hash-reference of
3075
- options. Valid options are C<binmode>, C<count> and C<chomp>.
3076
-
3077
- If C<binmode> is provided, it will be set on the handle prior to reading.
3078
-
3079
- If a positive C<count> is provided, that many lines will be returned from the
3080
- start of the file. If a negative C<count> is provided, the entire file will be
3081
- read, but only C<abs(count)> will be kept and returned. If C<abs(count)>
3082
- exceeds the number of lines in the file, all lines will be returned.
3083
-
3084
- If C<chomp> is set, any end-of-line character sequences (C<CR>, C<CRLF>, or
3085
- C<LF>) will be removed from the lines returned.
3086
-
3087
- Because the return is a list, C<lines> in scalar context will return the number
3088
- of lines (and throw away the data).
3089
-
3090
- $number_of_lines = path("/tmp/foo.txt")->lines;
3091
-
3092
- C<lines_raw> is like C<lines> with a C<binmode> of C<:raw>. We use C<:raw>
3093
- instead of C<:unix> so PerlIO buffering can manage reading by line.
3094
-
3095
- C<lines_utf8> is like C<lines> with a C<binmode> of C<:raw:encoding(UTF-8)>
3096
- (or C<:raw:utf8_strict> with L<PerlIO::utf8_strict>). If L<Unicode::UTF8>
3097
- 0.58+ is installed, a raw, unbuffered UTF-8 slurp will be done and then the
3098
- lines will be split. This is actually faster than relying on
3099
- IO layers, though a bit memory intensive. If memory use is a
3100
- concern, consider C<openr_utf8> and iterating directly on the handle.
3101
-
3102
- See also L</slurp> if you want to load a file as a whole chunk.
3103
-
3104
- Current API available since 0.065.
3105
-
3106
- =head2 mkdir
3107
-
3108
- path("foo/bar/baz")->mkdir;
3109
- path("foo/bar/baz")->mkdir( \%options );
3110
-
3111
- Like calling C<make_path> from L<File::Path>. An optional hash reference
3112
- is passed through to C<make_path>. Errors will be trapped and an exception
3113
- thrown. Returns the the path object to facilitate chaining.
3114
-
3115
- B<NOTE>: unlike Perl's builtin C<mkdir>, this will create intermediate paths
3116
- similar to the Unix C<mkdir -p> command. It will not error if applied to an
3117
- existing directory.
3118
-
3119
- Passing a defined argument I<other> than a hash reference is an error, and an
3120
- exception will be thrown.
3121
-
3122
- Current API available since 0.125.
3123
-
3124
- =head2 mkpath (deprecated)
3125
-
3126
- Like calling C<mkdir>, but returns the list of directories created or an empty list if
3127
- the directories already exist, just like C<make_path>.
3128
-
3129
- Passing a defined argument I<other> than a hash reference is an error, and an
3130
- exception will be thrown.
3131
-
3132
- Deprecated in 0.125.
3133
-
3134
- =head2 move
3135
-
3136
- path("foo.txt")->move("bar.txt");
3137
-
3138
- Moves the current path to the given destination using L<File::Copy>'s
3139
- C<move> function. Upon success, returns the C<Path::Tiny> object for the
3140
- newly moved file.
3141
-
3142
- If the destination already exists and is a directory, and the source is not a
3143
- directory, then the source file will be renamed into the directory
3144
- specified by the destination.
3145
-
3146
- If possible, move() will simply rename the file. Otherwise, it
3147
- copies the file to the new location and deletes the original. If an
3148
- error occurs during this copy-and-delete process, you may be left
3149
- with a (possibly partial) copy of the file under the destination
3150
- name.
3151
-
3152
- Current API available since 0.124. Prior versions used Perl's
3153
- -built-in (and less robust) L<rename|perlfunc/rename> function
3154
- and did not return an object.
3155
-
3156
- =head2 openr, openw, openrw, opena
3157
-
3158
- $fh = path("foo.txt")->openr($binmode); # read
3159
- $fh = path("foo.txt")->openr_raw;
3160
- $fh = path("foo.txt")->openr_utf8;
3161
-
3162
- $fh = path("foo.txt")->openw($binmode); # write
3163
- $fh = path("foo.txt")->openw_raw;
3164
- $fh = path("foo.txt")->openw_utf8;
3165
-
3166
- $fh = path("foo.txt")->opena($binmode); # append
3167
- $fh = path("foo.txt")->opena_raw;
3168
- $fh = path("foo.txt")->opena_utf8;
3169
-
3170
- $fh = path("foo.txt")->openrw($binmode); # read/write
3171
- $fh = path("foo.txt")->openrw_raw;
3172
- $fh = path("foo.txt")->openrw_utf8;
3173
-
3174
- Returns a file handle opened in the specified mode. The C<openr> style methods
3175
- take a single C<binmode> argument. All of the C<open*> methods have
3176
- C<open*_raw> and C<open*_utf8> equivalents that use buffered I/O layers C<:raw>
3177
- and C<:raw:encoding(UTF-8)> (or C<:raw:utf8_strict> with
3178
- L<PerlIO::utf8_strict>).
3179
-
3180
- An optional hash reference may be used to pass options. The only option is
3181
- C<locked>. If true, handles opened for writing, appending or read-write are
3182
- locked with C<LOCK_EX>; otherwise, they are locked for C<LOCK_SH>.
3183
-
3184
- $fh = path("foo.txt")->openrw_utf8( { locked => 1 } );
3185
-
3186
- See L</filehandle> for more on locking.
3187
-
3188
- Current API available since 0.011.
3189
-
3190
- =head2 parent
3191
-
3192
- $parent = path("foo/bar/baz")->parent; # foo/bar
3193
- $parent = path("foo/wibble.txt")->parent; # foo
3194
-
3195
- $parent = path("foo/bar/baz")->parent(2); # foo
3196
-
3197
- Returns a C<Path::Tiny> object corresponding to the parent directory of the
3198
- original directory or file. An optional positive integer argument is the number
3199
- of parent directories upwards to return. C<parent> by itself is equivalent to
3200
- C<parent(1)>.
3201
-
3202
- Current API available since 0.014.
3203
-
3204
- =head2 realpath
3205
-
3206
- $real = path("/baz/foo/../bar")->realpath;
3207
- $real = path("foo/../bar")->realpath;
3208
-
3209
- Returns a new C<Path::Tiny> object with all symbolic links and upward directory
3210
- parts resolved using L<Cwd>'s C<realpath>. Compared to C<absolute>, this is
3211
- more expensive as it must actually consult the filesystem.
3212
-
3213
- If the parent path can't be resolved (e.g. if it includes directories that
3214
- don't exist), an exception will be thrown:
3215
-
3216
- $real = path("doesnt_exist/foo")->realpath; # dies
3217
-
3218
- However, if the parent path exists and only the last component (e.g. filename)
3219
- doesn't exist, the realpath will be the realpath of the parent plus the
3220
- non-existent last component:
3221
-
3222
- $real = path("./aasdlfasdlf")->realpath; # works
3223
-
3224
- The underlying L<Cwd> module usually worked this way on Unix, but died on
3225
- Windows (and some Unixes) if the full path didn't exist. As of version 0.064,
3226
- it's safe to use anywhere.
3227
-
3228
- Current API available since 0.001.
3229
-
3230
- =head2 relative
3231
-
3232
- $rel = path("/tmp/foo/bar")->relative("/tmp"); # foo/bar
3233
-
3234
- Returns a C<Path::Tiny> object with a path relative to a new base path
3235
- given as an argument. If no argument is given, the current directory will
3236
- be used as the new base path.
3237
-
3238
- If either path is already relative, it will be made absolute based on the
3239
- current directly before determining the new relative path.
3240
-
3241
- The algorithm is roughly as follows:
3242
-
3243
- =over 4
3244
-
3245
- =item *
3246
-
3247
- If the original and new base path are on different volumes, an exception will be thrown.
3248
-
3249
- =item *
3250
-
3251
- If the original and new base are identical, the relative path is C<".">.
3252
-
3253
- =item *
3254
-
3255
- If the new base subsumes the original, the relative path is the original path with the new base chopped off the front
3256
-
3257
- =item *
3258
-
3259
- If the new base does not subsume the original, a common prefix path is determined (possibly the root directory) and the relative path will consist of updirs (C<"..">) to reach the common prefix, followed by the original path less the common prefix.
3260
-
3261
- =back
3262
-
3263
- Unlike C<File::Spec::abs2rel>, in the last case above, the calculation based
3264
- on a common prefix takes into account symlinks that could affect the updir
3265
- process. Given an original path "/A/B" and a new base "/A/C",
3266
- (where "A", "B" and "C" could each have multiple path components):
3267
-
3268
- =over 4
3269
-
3270
- =item *
3271
-
3272
- Symlinks in "A" don't change the result unless the last component of A is a symlink and the first component of "C" is an updir.
3273
-
3274
- =item *
3275
-
3276
- Symlinks in "B" don't change the result and will exist in the result as given.
3277
-
3278
- =item *
3279
-
3280
- Symlinks and updirs in "C" must be resolved to actual paths, taking into account the possibility that not all path components might exist on the filesystem.
3281
-
3282
- =back
3283
-
3284
- Current API available since 0.001. New algorithm (that accounts for
3285
- symlinks) available since 0.079.
3286
-
3287
- =head2 remove
3288
-
3289
- path("foo.txt")->remove;
3290
-
3291
- This is just like C<unlink>, except for its error handling: if the path does
3292
- not exist, it returns false; if deleting the file fails, it throws an
3293
- exception.
3294
-
3295
- Current API available since 0.012.
3296
-
3297
- =head2 remove_tree
3298
-
3299
- # directory
3300
- path("foo/bar/baz")->remove_tree;
3301
- path("foo/bar/baz")->remove_tree( \%options );
3302
- path("foo/bar/baz")->remove_tree( { safe => 0 } ); # force remove
3303
-
3304
- Like calling C<remove_tree> from L<File::Path>, but defaults to C<safe> mode.
3305
- An optional hash reference is passed through to C<remove_tree>. Errors will be
3306
- trapped and an exception thrown. Returns the number of directories deleted,
3307
- just like C<remove_tree>.
3308
-
3309
- If you want to remove a directory only if it is empty, use the built-in
3310
- C<rmdir> function instead.
3311
-
3312
- rmdir path("foo/bar/baz/");
3313
-
3314
- Current API available since 0.013.
3315
-
3316
- Passing a defined argument I<other> than a hash reference is an error, and an
3317
- exception will be thrown.
3318
-
3319
- =head2 sibling
3320
-
3321
- $foo = path("/tmp/foo.txt");
3322
- $sib = $foo->sibling("bar.txt"); # /tmp/bar.txt
3323
- $sib = $foo->sibling("baz", "bam.txt"); # /tmp/baz/bam.txt
3324
-
3325
- Returns a new C<Path::Tiny> object relative to the parent of the original.
3326
- This is slightly more efficient than C<< $path->parent->child(...) >>.
3327
-
3328
- Current API available since 0.058.
3329
-
3330
- =head2 size, size_human
3331
-
3332
- my $p = path("foo"); # with size 1025 bytes
3333
-
3334
- $p->size; # "1025"
3335
- $p->size_human; # "1.1 K"
3336
- $p->size_human( {format => "iec"} ); # "1.1 KiB"
3337
-
3338
- Returns the size of a file. The C<size> method is just a wrapper around C<-s>.
3339
-
3340
- The C<size_human> method provides a human-readable string similar to
3341
- C<ls -lh>. Like C<ls>, it rounds upwards and provides one decimal place for
3342
- single-digit sizes and no decimal places for larger sizes. The only available
3343
- option is C<format>, which has three valid values:
3344
-
3345
- =over 4
3346
-
3347
- =item *
3348
-
3349
- 'ls' (the default): base-2 sizes, with C<ls> style single-letter suffixes (K, M, etc.)
3350
-
3351
- =item *
3352
-
3353
- 'iec': base-2 sizes, with IEC binary suffixes (KiB, MiB, etc.)
3354
-
3355
- =item *
3356
-
3357
- 'si': base-10 sizes, with SI decimal suffixes (kB, MB, etc.)
3358
-
3359
- =back
3360
-
3361
- If C<-s> would return C<undef>, C<size_human> returns the empty string.
3362
-
3363
- Current API available since 0.122.
3364
-
3365
- =head2 slurp, slurp_raw, slurp_utf8
3366
-
3367
- $data = path("foo.txt")->slurp;
3368
- $data = path("foo.txt")->slurp( {binmode => ":raw"} );
3369
- $data = path("foo.txt")->slurp_raw;
3370
- $data = path("foo.txt")->slurp_utf8;
3371
-
3372
- Reads file contents into a scalar. Takes an optional hash reference which may
3373
- be used to pass options. The only available option is C<binmode>, which is
3374
- passed to C<binmode()> on the handle used for reading.
3375
-
3376
- C<slurp_raw> is like C<slurp> with a C<binmode> of C<:unix> for
3377
- a fast, unbuffered, raw read.
3378
-
3379
- C<slurp_utf8> is like C<slurp> with a C<binmode> of
3380
- C<:unix:encoding(UTF-8)> (or C<:unix:utf8_strict> with
3381
- L<PerlIO::utf8_strict>). If L<Unicode::UTF8> 0.58+ is installed, a
3382
- unbuffered, raw slurp will be done instead and the result decoded with
3383
- C<Unicode::UTF8>. This is just as strict and is roughly an order of
3384
- magnitude faster than using C<:encoding(UTF-8)>.
3385
-
3386
- B<Note>: C<slurp> and friends lock the filehandle before slurping. If
3387
- you plan to slurp from a file created with L<File::Temp>, be sure to
3388
- close other handles or open without locking to avoid a deadlock:
3389
-
3390
- my $tempfile = File::Temp->new(EXLOCK => 0);
3391
- my $guts = path($tempfile)->slurp;
3392
-
3393
- See also L</lines> if you want to slurp a file into a line array.
3394
-
3395
- Current API available since 0.004.
3396
-
3397
- =head2 spew, spew_raw, spew_utf8
3398
-
3399
- path("foo.txt")->spew(@data);
3400
- path("foo.txt")->spew(\@data);
3401
- path("foo.txt")->spew({binmode => ":raw"}, @data);
3402
- path("foo.txt")->spew_raw(@data);
3403
- path("foo.txt")->spew_utf8(@data);
3404
-
3405
- Writes data to a file atomically. The file is written to a temporary file in
3406
- the same directory, then renamed over the original. An optional hash reference
3407
- may be used to pass options. The only option is C<binmode>, which is passed to
3408
- C<binmode()> on the handle used for writing.
3409
-
3410
- C<spew_raw> is like C<spew> with a C<binmode> of C<:unix> for a fast,
3411
- unbuffered, raw write.
3412
-
3413
- C<spew_utf8> is like C<spew> with a C<binmode> of C<:unix:encoding(UTF-8)>
3414
- (or C<:unix:utf8_strict> with L<PerlIO::utf8_strict>). If L<Unicode::UTF8>
3415
- 0.58+ is installed, a raw, unbuffered spew will be done instead on the data
3416
- encoded with C<Unicode::UTF8>.
3417
-
3418
- B<NOTE>: because the file is written to a temporary file and then renamed, the
3419
- new file will wind up with permissions based on your current umask. This is a
3420
- feature to protect you from a race condition that would otherwise give
3421
- different permissions than you might expect. If you really want to keep the
3422
- original mode flags, use L</append> with the C<truncate> option.
3423
-
3424
- Current API available since 0.011.
3425
-
3426
- =head2 stat, lstat
3427
-
3428
- $stat = path("foo.txt")->stat;
3429
- $stat = path("/some/symlink")->lstat;
3430
-
3431
- Like calling C<stat> or C<lstat> from L<File::stat>.
3432
-
3433
- Current API available since 0.001.
3434
-
3435
- =head2 stringify
3436
-
3437
- $path = path("foo.txt");
3438
- say $path->stringify; # same as "$path"
3439
-
3440
- Returns a string representation of the path. Unlike C<canonpath>, this method
3441
- returns the path standardized with Unix-style C</> directory separators.
3442
-
3443
- Current API available since 0.001.
3444
-
3445
- =head2 subsumes
3446
-
3447
- path("foo/bar")->subsumes("foo/bar/baz"); # true
3448
- path("/foo/bar")->subsumes("/foo/baz"); # false
3449
-
3450
- Returns true if the first path is a prefix of the second path at a directory
3451
- boundary.
3452
-
3453
- This B<does not> resolve parent directory entries (C<..>) or symlinks:
3454
-
3455
- path("foo/bar")->subsumes("foo/bar/../baz"); # true
3456
-
3457
- If such things are important to you, ensure that both paths are resolved to
3458
- the filesystem with C<realpath>:
3459
-
3460
- my $p1 = path("foo/bar")->realpath;
3461
- my $p2 = path("foo/bar/../baz")->realpath;
3462
- if ( $p1->subsumes($p2) ) { ... }
3463
-
3464
- Current API available since 0.048.
3465
-
3466
- =head2 touch
3467
-
3468
- path("foo.txt")->touch;
3469
- path("foo.txt")->touch($epoch_secs);
3470
-
3471
- Like the Unix C<touch> utility. Creates the file if it doesn't exist, or else
3472
- changes the modification and access times to the current time. If the first
3473
- argument is the epoch seconds then it will be used.
3474
-
3475
- Returns the path object so it can be easily chained with other methods:
3476
-
3477
- # won't die if foo.txt doesn't exist
3478
- $content = path("foo.txt")->touch->slurp;
3479
-
3480
- Current API available since 0.015.
3481
-
3482
- =head2 touchpath
3483
-
3484
- path("bar/baz/foo.txt")->touchpath;
3485
-
3486
- Combines C<mkdir> and C<touch>. Creates the parent directory if it doesn't exist,
3487
- before touching the file. Returns the path object like C<touch> does.
3488
-
3489
- If you need to pass options, use C<mkdir> and C<touch> separately:
3490
-
3491
- path("bar/baz")->mkdir( \%options )->child("foo.txt")->touch($epoch_secs);
3492
-
3493
- Current API available since 0.022.
3494
-
3495
- =head2 visit
3496
-
3497
- path("/tmp")->visit( \&callback, \%options );
3498
-
3499
- Executes a callback for each child of a directory. It returns a hash
3500
- reference with any state accumulated during iteration.
3501
-
3502
- The options are the same as for L</iterator> (which it uses internally):
3503
- C<recurse> and C<follow_symlinks>. Both default to false.
3504
-
3505
- The callback function will receive a C<Path::Tiny> object as the first argument
3506
- and a hash reference to accumulate state as the second argument. For example:
3507
-
3508
- # collect files sizes
3509
- my $sizes = path("/tmp")->visit(
3510
- sub {
3511
- my ($path, $state) = @_;
3512
- return if $path->is_dir;
3513
- $state->{$path} = -s $path;
3514
- },
3515
- { recurse => 1 }
3516
- );
3517
-
3518
- For convenience, the C<Path::Tiny> object will also be locally aliased as the
3519
- C<$_> global variable:
3520
-
3521
- # print paths matching /foo/
3522
- path("/tmp")->visit( sub { say if /foo/ }, { recurse => 1} );
3523
-
3524
- If the callback returns a B<reference> to a false scalar value, iteration will
3525
- terminate. This is not the same as "pruning" a directory search; this just
3526
- stops all iteration and returns the state hash reference.
3527
-
3528
- # find up to 10 files larger than 100K
3529
- my $files = path("/tmp")->visit(
3530
- sub {
3531
- my ($path, $state) = @_;
3532
- $state->{$path}++ if -s $path > 102400
3533
- return \0 if keys %$state == 10;
3534
- },
3535
- { recurse => 1 }
3536
- );
3537
-
3538
- If you want more flexible iteration, use a module like L<Path::Iterator::Rule>.
3539
-
3540
- Current API available since 0.062.
3541
-
3542
- =head2 volume
3543
-
3544
- $vol = path("/tmp/foo.txt")->volume; # ""
3545
- $vol = path("C:/tmp/foo.txt")->volume; # "C:"
3546
-
3547
- Returns the volume portion of the path. This is equivalent
3548
- to what L<File::Spec> would give from C<splitpath> and thus
3549
- usually is the empty string on Unix-like operating systems or the
3550
- drive letter for an absolute path on C<MSWin32>.
3551
-
3552
- Current API available since 0.001.
3553
-
3554
- =for Pod::Coverage openr_utf8 opena_utf8 openw_utf8 openrw_utf8
3555
- openr_raw opena_raw openw_raw openrw_raw
3556
- IS_WIN32 FREEZE THAW TO_JSON abs2rel
3557
-
3558
- =head1 EXCEPTION HANDLING
3559
-
3560
- Simple usage errors will generally croak. Failures of underlying Perl
3561
- functions will be thrown as exceptions in the class
3562
- C<Path::Tiny::Error>.
3563
-
3564
- A C<Path::Tiny::Error> object will be a hash reference with the following fields:
3565
-
3566
- =over 4
3567
-
3568
- =item *
3569
-
3570
- C<op> — a description of the operation, usually function call and any extra info
3571
-
3572
- =item *
3573
-
3574
- C<file> — the file or directory relating to the error
3575
-
3576
- =item *
3577
-
3578
- C<err> — hold C<$!> at the time the error was thrown
3579
-
3580
- =item *
3581
-
3582
- C<msg> — a string combining the above data and a Carp-like short stack trace
3583
-
3584
- =back
3585
-
3586
- Exception objects will stringify as the C<msg> field.
3587
-
3588
- =head1 ENVIRONMENT
3589
-
3590
- =head2 PERL_PATH_TINY_NO_FLOCK
3591
-
3592
- If the environment variable C<PERL_PATH_TINY_NO_FLOCK> is set to a true
3593
- value then flock will NOT be used when accessing files (this is not
3594
- recommended).
3595
-
3596
- =head1 CAVEATS
3597
-
3598
- =head2 Subclassing not supported
3599
-
3600
- For speed, this class is implemented as an array based object and uses many
3601
- direct function calls internally. You must not subclass it and expect
3602
- things to work properly.
3603
-
3604
- =head2 Tilde expansion (deprecated)
3605
-
3606
- Tilde expansion was a nice idea, but it can't easily be applied consistently
3607
- across the entire API. This was a source of bugs and confusion for users.
3608
- Therefore, it is B<deprecated> and its use is discouraged. Limitations to the
3609
- existing, legacy behavior follow.
3610
-
3611
- Tilde expansion will only occur if the B<first> argument to C<path> begins with
3612
- a tilde. B<No other method does tilde expansion on its arguments>. If you want
3613
- tilde expansion on arguments, you must explicitly wrap them in a call to
3614
- C<path>.
3615
-
3616
- path( "~/foo.txt" )->copy( path( "~/bar.txt" ) );
3617
-
3618
- If you need a literal leading tilde, use C<path("./~whatever")> so that the
3619
- argument to C<path> doesn't start with a tilde, but the path still resolves to
3620
- the current directory.
3621
-
3622
- Behaviour of tilde expansion with a username for non-existent users depends on
3623
- the output of C<glob> on the system.
3624
-
3625
- =head2 File locking
3626
-
3627
- If flock is not supported on a platform, it will not be used, even if
3628
- locking is requested.
3629
-
3630
- In situations where a platform normally would support locking, but the
3631
- flock fails due to a filesystem limitation, Path::Tiny has some heuristics
3632
- to detect this and will warn once and continue in an unsafe mode. If you
3633
- want this failure to be fatal, you can fatalize the 'flock' warnings
3634
- category:
3635
-
3636
- use warnings FATAL => 'flock';
3637
-
3638
- See additional caveats below.
3639
-
3640
- =head3 NFS and BSD
3641
-
3642
- On BSD, Perl's flock implementation may not work to lock files on an
3643
- NFS filesystem. If detected, this situation will warn once, as described
3644
- above.
3645
-
3646
- =head3 Lustre
3647
-
3648
- The Lustre filesystem does not support flock. If detected, this situation
3649
- will warn once, as described above.
3650
-
3651
- =head3 AIX and locking
3652
-
3653
- AIX requires a write handle for locking. Therefore, calls that normally
3654
- open a read handle and take a shared lock instead will open a read-write
3655
- handle and take an exclusive lock. If the user does not have write
3656
- permission, no lock will be used.
3657
-
3658
- =head2 utf8 vs UTF-8
3659
-
3660
- All the C<*_utf8> methods by default use C<:encoding(UTF-8)> -- either as
3661
- C<:unix:encoding(UTF-8)> (unbuffered, for whole file operations) or
3662
- C<:raw:encoding(UTF-8)> (buffered, for line-by-line operations). These are
3663
- strict against the Unicode spec and disallows illegal Unicode codepoints or
3664
- UTF-8 sequences.
3665
-
3666
- Unfortunately, C<:encoding(UTF-8)> is very, very slow. If you install
3667
- L<Unicode::UTF8> 0.58 or later, that module will be used by some C<*_utf8>
3668
- methods to encode or decode data after a raw, binary input/output operation,
3669
- which is much faster. Alternatively, if you install L<PerlIO::utf8_strict>,
3670
- that will be used instead of C<:encoding(UTF-8)> and is also very fast.
3671
-
3672
- If you need the performance and can accept the security risk,
3673
- C<< slurp({binmode => ":unix:utf8"}) >> will be faster than C<:unix:encoding(UTF-8)>
3674
- (but not as fast as C<Unicode::UTF8>).
3675
-
3676
- Note that the C<*_utf8> methods read in B<raw> mode. There is no CRLF
3677
- translation on Windows. If you must have CRLF translation, use the regular
3678
- input/output methods with an appropriate binmode:
3679
-
3680
- $path->spew_utf8($data); # raw
3681
- $path->spew({binmode => ":encoding(UTF-8)"}, $data; # LF -> CRLF
3682
-
3683
- =head2 Default IO layers and the open pragma
3684
-
3685
- If you have Perl 5.10 or later, file input/output methods (C<slurp>, C<spew>,
3686
- etc.) and high-level handle opening methods ( C<filehandle>, C<openr>,
3687
- C<openw>, etc. ) respect default encodings set by the C<-C> switch or lexical
3688
- L<open> settings of the caller. For UTF-8, this is almost certainly slower
3689
- than using the dedicated C<_utf8> methods if you have L<Unicode::UTF8> or
3690
- L<PerlIP::utf8_strict>.
3691
-
3692
- =head1 TYPE CONSTRAINTS AND COERCION
3693
-
3694
- A standard L<MooseX::Types> library is available at
3695
- L<MooseX::Types::Path::Tiny>. A L<Type::Tiny> equivalent is available as
3696
- L<Types::Path::Tiny>.
3697
-
3698
- =head1 SEE ALSO
3699
-
3700
- These are other file/path utilities, which may offer a different feature
3701
- set than C<Path::Tiny>.
3702
-
3703
- =over 4
3704
-
3705
- =item *
3706
-
3707
- L<File::chmod>
3708
-
3709
- =item *
3710
-
3711
- L<File::Fu>
3712
-
3713
- =item *
3714
-
3715
- L<IO::All>
3716
-
3717
- =item *
3718
-
3719
- L<Path::Class>
3720
-
3721
- =back
3722
-
3723
- These iterators may be slightly faster than the recursive iterator in
3724
- C<Path::Tiny>:
3725
-
3726
- =over 4
3727
-
3728
- =item *
3729
-
3730
- L<Path::Iterator::Rule>
3731
-
3732
- =item *
3733
-
3734
- L<File::Next>
3735
-
3736
- =back
3737
-
3738
- There are probably comparable, non-Tiny tools. Let me know if you want me to
3739
- add a module to the list.
3740
-
3741
- This module was featured in the L<2013 Perl Advent Calendar|http://www.perladvent.org/2013/2013-12-18.html>.
3742
-
3743
- =for :stopwords cpan testmatrix url bugtracker rt cpants kwalitee diff irc mailto metadata placeholders metacpan
3744
-
3745
- =head1 SUPPORT
3746
-
3747
- =head2 Bugs / Feature Requests
3748
-
3749
- Please report any bugs or feature requests through the issue tracker
3750
- at L<https://github.com/dagolden/Path-Tiny/issues>.
3751
- You will be notified automatically of any progress on your issue.
3752
-
3753
- =head2 Source Code
3754
-
3755
- This is open source software. The code repository is available for
3756
- public review and contribution under the terms of the license.
3757
-
3758
- L<https://github.com/dagolden/Path-Tiny>
3759
-
3760
- git clone https://github.com/dagolden/Path-Tiny.git
3761
-
3762
- =head1 AUTHOR
3763
-
3764
- David Golden <dagolden@cpan.org>
3765
-
3766
- =head1 CONTRIBUTORS
3767
-
3768
- =for stopwords Alex Efros Aristotle Pagaltzis Chris Williams Dan Book Dave Rolsky David Steinbrunner Doug Bell Elvin Aslanov Flavio Poletti Gabor Szabo Gabriel Andrade George Hartzell Geraud Continsouzas Goro Fuji Graham Knop Ollis Ian Sillitoe James Hunt John Karr Karen Etheridge Mark Ellis Martin H. Sluka Kjeldsen Mary Ehlers Michael G. Schwern NATARAJ (Nikolay Shaplov) Nicolas R Rochelemagne Nigel Gregoire Philippe Bruhat (BooK) regina-verbae Ricardo Signes Roy Ivy III Shlomi Fish Smylers Tatsuhiko Miyagawa Toby Inkster Yanick Champoux yoshikazusawa 김도형 - Keedi Kim
3769
-
3770
- =over 4
3771
-
3772
- =item *
3773
-
3774
- Alex Efros <powerman@powerman.name>
3775
-
3776
- =item *
3777
-
3778
- Aristotle Pagaltzis <pagaltzis@gmx.de>
3779
-
3780
- =item *
3781
-
3782
- Chris Williams <bingos@cpan.org>
3783
-
3784
- =item *
3785
-
3786
- Dan Book <grinnz@grinnz.com>
3787
-
3788
- =item *
3789
-
3790
- Dave Rolsky <autarch@urth.org>
3791
-
3792
- =item *
3793
-
3794
- David Steinbrunner <dsteinbrunner@pobox.com>
3795
-
3796
- =item *
3797
-
3798
- Doug Bell <madcityzen@gmail.com>
3799
-
3800
- =item *
3801
-
3802
- Elvin Aslanov <rwp.primary@gmail.com>
3803
-
3804
- =item *
3805
-
3806
- Flavio Poletti <flavio@polettix.it>
3807
-
3808
- =item *
3809
-
3810
- Gabor Szabo <szabgab@cpan.org>
3811
-
3812
- =item *
3813
-
3814
- Gabriel Andrade <gabiruh@gmail.com>
3815
-
3816
- =item *
3817
-
3818
- George Hartzell <hartzell@cpan.org>
3819
-
3820
- =item *
3821
-
3822
- Geraud Continsouzas <geraud@scsi.nc>
3823
-
3824
- =item *
3825
-
3826
- Goro Fuji <gfuji@cpan.org>
3827
-
3828
- =item *
3829
-
3830
- Graham Knop <haarg@haarg.org>
3831
-
3832
- =item *
3833
-
3834
- Graham Ollis <plicease@cpan.org>
3835
-
3836
- =item *
3837
-
3838
- Ian Sillitoe <ian@sillit.com>
3839
-
3840
- =item *
3841
-
3842
- James Hunt <james@niftylogic.com>
3843
-
3844
- =item *
3845
-
3846
- John Karr <brainbuz@brainbuz.org>
3847
-
3848
- =item *
3849
-
3850
- Karen Etheridge <ether@cpan.org>
3851
-
3852
- =item *
3853
-
3854
- Mark Ellis <mark.ellis@cartridgesave.co.uk>
3855
-
3856
- =item *
3857
-
3858
- Martin H. Sluka <fany@cpan.org>
3859
-
3860
- =item *
3861
-
3862
- Martin Kjeldsen <mk@bluepipe.dk>
3863
-
3864
- =item *
3865
-
3866
- Martin Sluka <martin@sluka.de>
3867
-
3868
- =item *
3869
-
3870
- Mary Ehlers <regina.verb.ae@gmail.com>
3871
-
3872
- =item *
3873
-
3874
- Michael G. Schwern <mschwern@cpan.org>
3875
-
3876
- =item *
3877
-
3878
- NATARAJ (Nikolay Shaplov) <dhyan@nataraj.su>
3879
-
3880
- =item *
3881
-
3882
- Nicolas R <nicolas@atoomic.org>
3883
-
3884
- =item *
3885
-
3886
- Nicolas Rochelemagne <rochelemagne@cpanel.net>
3887
-
3888
- =item *
3889
-
3890
- Nigel Gregoire <nigelgregoire@gmail.com>
3891
-
3892
- =item *
3893
-
3894
- Philippe Bruhat (BooK) <book@cpan.org>
3895
-
3896
- =item *
3897
-
3898
- regina-verbae <regina-verbae@users.noreply.github.com>
3899
-
3900
- =item *
3901
-
3902
- Ricardo Signes <rjbs@semiotic.systems>
3903
-
3904
- =item *
3905
-
3906
- Roy Ivy III <rivy@cpan.org>
3907
-
3908
- =item *
3909
-
3910
- Shlomi Fish <shlomif@shlomifish.org>
3911
-
3912
- =item *
3913
-
3914
- Smylers <Smylers@stripey.com>
3915
-
3916
- =item *
3917
-
3918
- Tatsuhiko Miyagawa <miyagawa@bulknews.net>
3919
-
3920
- =item *
3921
-
3922
- Toby Inkster <tobyink@cpan.org>
3923
-
3924
- =item *
3925
-
3926
- Yanick Champoux <yanick@babyl.dyndns.org>
3927
-
3928
- =item *
3929
-
3930
- yoshikazusawa <883514+yoshikazusawa@users.noreply.github.com>
3931
-
3932
- =item *
3933
-
3934
- 김도형 - Keedi Kim <keedi@cpan.org>
3935
-
3936
- =back
3937
-
3938
- =head1 COPYRIGHT AND LICENSE
3939
-
3940
- This software is Copyright (c) 2014 by David Golden.
3941
-
3942
- This is free software, licensed under:
3943
-
3944
- The Apache License, Version 2.0, January 2004
3945
-
3946
- =cut