graphite-code 0.3.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- graphite/__init__.py +41 -0
- graphite/__main__.py +7 -0
- graphite/_cleanup_worker.py +525 -0
- graphite/activation.py +164 -0
- graphite/agent_hooks.py +577 -0
- graphite/agent_settings.py +226 -0
- graphite/analyze.py +146 -0
- graphite/answer_contract.py +420 -0
- graphite/bootstrap.py +210 -0
- graphite/buildlock.py +99 -0
- graphite/cache.py +131 -0
- graphite/channel.py +1325 -0
- graphite/cli.py +3053 -0
- graphite/cluster.py +111 -0
- graphite/config.py +209 -0
- graphite/context.py +355 -0
- graphite/daemon.py +745 -0
- graphite/daemon_health.py +733 -0
- graphite/debt.py +118 -0
- graphite/dependency_install.py +1597 -0
- graphite/detach.py +33 -0
- graphite/doctor.py +678 -0
- graphite/doctor_probes.py +2100 -0
- graphite/engine_identity.py +238 -0
- graphite/export/__init__.py +6 -0
- graphite/export/html.py +244 -0
- graphite/export/json.py +39 -0
- graphite/export/md.py +68 -0
- graphite/extract/__init__.py +4 -0
- graphite/extract/ast.py +1964 -0
- graphite/freshness.py +127 -0
- graphite/git.py +406 -0
- graphite/graph.py +117 -0
- graphite/graph_io.py +188 -0
- graphite/health.py +147 -0
- graphite/hook_entry.py +68 -0
- graphite/hookinstall.py +224 -0
- graphite/hookshim.py +86 -0
- graphite/incident_ledger.py +247 -0
- graphite/ingest.py +279 -0
- graphite/init.py +791 -0
- graphite/io.py +32 -0
- graphite/listing.py +51 -0
- graphite/llm.py +518 -0
- graphite/llm_probe.py +157 -0
- graphite/mcp.py +7 -0
- graphite/mcp_server.py +450 -0
- graphite/natural_query.py +252 -0
- graphite/overlays.py +713 -0
- graphite/probe_process.py +879 -0
- graphite/probe_workspace.py +728 -0
- graphite/process_contracts.py +22 -0
- graphite/provider_observer.py +397 -0
- graphite/query.py +646 -0
- graphite/query_plan.py +97 -0
- graphite/replacement_audit.py +291 -0
- graphite/resolve.py +660 -0
- graphite/review.py +782 -0
- graphite/routing/__init__.py +5 -0
- graphite/routing/approval.py +362 -0
- graphite/routing/classifier.py +169 -0
- graphite/routing/claude_executor.py +419 -0
- graphite/routing/claude_probe.py +102 -0
- graphite/routing/cli_identity.py +84 -0
- graphite/routing/codex_executor.py +383 -0
- graphite/routing/codex_probe.py +93 -0
- graphite/routing/context_builder.py +327 -0
- graphite/routing/contracts.py +802 -0
- graphite/routing/diff_policy.py +468 -0
- graphite/routing/edit_apply.py +166 -0
- graphite/routing/effort.py +43 -0
- graphite/routing/lifecycle.py +771 -0
- graphite/routing/lifecycle_operator.py +227 -0
- graphite/routing/lifecycle_service.py +555 -0
- graphite/routing/lifecycle_storage.py +977 -0
- graphite/routing/ollama_executor.py +341 -0
- graphite/routing/ollama_probe.py +72 -0
- graphite/routing/openrouter_executor.py +338 -0
- graphite/routing/openrouter_probe.py +188 -0
- graphite/routing/policy.py +815 -0
- graphite/routing/probe_runner.py +543 -0
- graphite/routing/process_runner.py +523 -0
- graphite/routing/profiles.py +554 -0
- graphite/routing/prompt.py +58 -0
- graphite/routing/registry.py +444 -0
- graphite/routing/route_pool.py +629 -0
- graphite/routing/route_pool_execution.py +275 -0
- graphite/routing/schema_validation.py +169 -0
- graphite/routing/service.py +1263 -0
- graphite/routing/settings.py +99 -0
- graphite/routing/shadow.py +201 -0
- graphite/routing/storage.py +4001 -0
- graphite/routing/telemetry.py +346 -0
- graphite/routing/worktree.py +259 -0
- graphite/routing/zai_edit.py +113 -0
- graphite/routing/zai_executor.py +191 -0
- graphite/routing/zai_probe.py +126 -0
- graphite/savings.py +84 -0
- graphite/ts_bridge.py +142 -0
- graphite/ts_resolver.mjs +314 -0
- graphite/typescript_activation.py +1586 -0
- graphite/usage_ledger.py +156 -0
- graphite/validation.py +148 -0
- graphite/watch.py +167 -0
- graphite/windows_job.py +368 -0
- graphite/windows_startup.py +144 -0
- graphite/windows_task.py +212 -0
- graphite_code-0.3.0.dist-info/METADATA +743 -0
- graphite_code-0.3.0.dist-info/RECORD +112 -0
- graphite_code-0.3.0.dist-info/WHEEL +4 -0
- graphite_code-0.3.0.dist-info/entry_points.txt +3 -0
- graphite_code-0.3.0.dist-info/licenses/LICENSE +21 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
graphite/__init__.py,sha256=jZUTFi2XY4CQG89ulBRo_vypbS5DHeM_EllD_N4T14w,2181
|
|
2
|
+
graphite/__main__.py,sha256=Bp5bcXE6M0AnuNW1LjOXOEvGG5r0fXZoeRb_k5Yxphs,149
|
|
3
|
+
graphite/_cleanup_worker.py,sha256=8ApB6cG6_rupUR8yPXlg0ary0GG88jOHCiC_VSvL1uI,18964
|
|
4
|
+
graphite/activation.py,sha256=u2LdJt1kpvrBKZoK9QIp6AY-c3dHGdu5AOdyCf8bNoY,5217
|
|
5
|
+
graphite/agent_hooks.py,sha256=zKluT-d-_RhVoaqXRGOcGEw2sG_bCu57oqmpHXX4mEI,24182
|
|
6
|
+
graphite/agent_settings.py,sha256=Lw2dGV74wvuuD3J65Vyqz0ljg4feYPrl6ZHKtyfH7xI,10455
|
|
7
|
+
graphite/analyze.py,sha256=a5ST3iIoSBEstqFEAu8_FU_XT_uTGwp9qc-GGJmialk,5402
|
|
8
|
+
graphite/answer_contract.py,sha256=y70W-0HcFuk7o9SCw72OE2dTBZoKJNbypP56ainToyY,19942
|
|
9
|
+
graphite/bootstrap.py,sha256=OPDzN9jSr8IE1N7xOnVKk3FgO2UqBTOUNcNV-pZAsus,8448
|
|
10
|
+
graphite/buildlock.py,sha256=LkyRvAFgvNjjJ4AiZ0kBQQ41DJrpIXP9m4f7oGvFxDM,3257
|
|
11
|
+
graphite/cache.py,sha256=Idyaw1TtbrZV18pZsm2Ad4nqCz1DmonqEokIJWqbQM4,5044
|
|
12
|
+
graphite/channel.py,sha256=xYu6gjYF7O0X_L6meuGxYzBHDx63yGdgQ-_ri3jknF8,54220
|
|
13
|
+
graphite/cli.py,sha256=qREhxPm5feDfkv8Zevby8Q6tIyZTjbLPKEqc0edKVyw,136730
|
|
14
|
+
graphite/cluster.py,sha256=j5dFT40DD7scD4h8d7XJoAGQIcJKpsKsrFceiJkOuzw,4066
|
|
15
|
+
graphite/config.py,sha256=yh0YxtKFrXNJA8IZjh7ut79PgE-2jeC28ME-qs-jgyU,9476
|
|
16
|
+
graphite/context.py,sha256=2PHkt26JC51OQifxEOmcTJKIFEXpnon6KBb_Kr6UJ4E,12854
|
|
17
|
+
graphite/daemon.py,sha256=_MvOrbzffRazeSnHQGms3jbH6T7Bdfztaby06VrJCDM,29622
|
|
18
|
+
graphite/daemon_health.py,sha256=l2jHdkVWVsUOs3Ob4_Zcs6M8PrgAADDKdoDjhIx9N4Y,29018
|
|
19
|
+
graphite/debt.py,sha256=mvxoFrICwbWP19YKlf1cZIPFg8qIf7Jgyr9kIweVBbE,4664
|
|
20
|
+
graphite/dependency_install.py,sha256=wlI5TOqyWZE0qJHU1KvUCAShqr1JPHgJo_Kmz_gr4YI,58310
|
|
21
|
+
graphite/detach.py,sha256=wlRfPpxk-c8-9plRKyZcUUQpk5GBM5Qw9D-7wQ6STu8,976
|
|
22
|
+
graphite/doctor.py,sha256=mT1Q9iJUrOqqinb_Z4qGcbLgKbEm3uxbA0zUv-dIzSY,35519
|
|
23
|
+
graphite/doctor_probes.py,sha256=LtIlfueQLRbCr2PmJy2zz5IA1Ep05ni1KfS8UR0x4pQ,87538
|
|
24
|
+
graphite/engine_identity.py,sha256=hZYA9fBsg2fj_61Rtkc84XzJrdsa2MaDFOLZJV4I7eE,8951
|
|
25
|
+
graphite/freshness.py,sha256=kkhs-ArInlv1XxedmQRAFiThvrHt11mN5UAGCQCU4A8,5284
|
|
26
|
+
graphite/git.py,sha256=-WtiX-XTmRkzGYP4qW9vWKtYKeZRTWxyI2QqAzBOMcI,15493
|
|
27
|
+
graphite/graph.py,sha256=W0tfBZzzdZfR5SP-lxlWkPZGB_SWNWq_X1dKNmSr1-c,4272
|
|
28
|
+
graphite/graph_io.py,sha256=rWjc3_Lq7DOg1_XuM4eY8GH9GwIHowo0CcABTIRtLyc,6563
|
|
29
|
+
graphite/health.py,sha256=pmp8PoED--oLF8A3Y-BIq1HfXkJSGgSOET0lJOEwl4w,5244
|
|
30
|
+
graphite/hook_entry.py,sha256=mQdahnjC_2r3XeMCXTcdEGbbygsEOYG0DZ_oHYLGLr0,2723
|
|
31
|
+
graphite/hookinstall.py,sha256=0uS6iFUPVAQD0lQPL_aplFrBFINzCq9edxAQQOrWSRo,9027
|
|
32
|
+
graphite/hookshim.py,sha256=WFKi0YhEvU2cdqHf0BPPDQ8tF12uK3jzv69carkt55c,3857
|
|
33
|
+
graphite/incident_ledger.py,sha256=wHW-P_PJNollM_L9bAXHaxFeLb89wMXs7XX0VrH7aSw,8654
|
|
34
|
+
graphite/ingest.py,sha256=JGIptEfOBlLarvTV3jRqxBajzZf67Sin2QGmDx7wv-Q,8778
|
|
35
|
+
graphite/init.py,sha256=htdBZ6mDxgW0udH24iG1-cXyTotG7mEM6qC4KRH9Vto,39310
|
|
36
|
+
graphite/io.py,sha256=YETPvbNGWpJknDsGolTSkY-Z4W6bcJdaapWDTjRtqf8,1045
|
|
37
|
+
graphite/listing.py,sha256=fxKBK7_1q9IcFK_VAhpQCKyDV7q_RajJ0r8O2h9rqes,1666
|
|
38
|
+
graphite/llm.py,sha256=eC3MqypRzWALwfoo00-R6w66fkUnaXMBxqVa7thaLYk,19441
|
|
39
|
+
graphite/llm_probe.py,sha256=jNDWc4PndR-YqKB9aPROj56P1gRZQ8bz-SMpR04JAMU,4848
|
|
40
|
+
graphite/mcp.py,sha256=Abe0CPbOu-KwiBgK_nd4T8QqpIOhOQxrAAYWgsSZe7M,189
|
|
41
|
+
graphite/mcp_server.py,sha256=XJR7d1dgMuykVUSdkZIoDUlixWJOD27AaqY9uzKz9ys,16754
|
|
42
|
+
graphite/natural_query.py,sha256=B9isQ3AVhNUS1VVKbS_NSdiE2E1hhtpIVNngatMz3V8,10455
|
|
43
|
+
graphite/overlays.py,sha256=t3jKcXCAd4sFb9VjmyL-KErgWLI24730hA8zJ-7A-V0,26908
|
|
44
|
+
graphite/probe_process.py,sha256=YAmWlHQIKI9EVRb6c0aeYSlNb3YlvL-gEXyS-lBdwuo,38164
|
|
45
|
+
graphite/probe_workspace.py,sha256=DJGITdi7fBn3xzfsgkeknWI-MiwEquJNrHevVY-tTA4,29198
|
|
46
|
+
graphite/process_contracts.py,sha256=ruqbZx6-9gfXPQvUFczg5KJedrcjbykEwRhb2Si3Vw8,1066
|
|
47
|
+
graphite/provider_observer.py,sha256=0Ko8HamjBki_nQTJ1VII7pfpt6d28YkxSDgU1GiTJiA,15679
|
|
48
|
+
graphite/query.py,sha256=kAUrXwpxTI-hsm5axfcVsz5UkQDY20KnSYba8HC6vQ0,24822
|
|
49
|
+
graphite/query_plan.py,sha256=TLGwOnsL6Ia1hCsDzmWWBwtcn37Dn6aOuAvGowtgSXg,3768
|
|
50
|
+
graphite/replacement_audit.py,sha256=TQS7RkpG53by4bzrrD5bj-ZHKreTZvSKRe6Dx24NicY,12090
|
|
51
|
+
graphite/resolve.py,sha256=Cedf6ekSb1LnlyNLVITR6yUXdziYqOrV15PcQkf63ZQ,29299
|
|
52
|
+
graphite/review.py,sha256=Dd35aA8n5R1Osoop769uymdOFFZMB4BFexAKJD9bO7o,27810
|
|
53
|
+
graphite/savings.py,sha256=W5FbXScpteMTwngVUtDqPct99tHY7W8s3XlT4hbPJCY,3175
|
|
54
|
+
graphite/ts_bridge.py,sha256=J-ZneuxLnoZCL4oO1fKLl278EkOfaCGI74lh2BVhXLE,5386
|
|
55
|
+
graphite/typescript_activation.py,sha256=hN_OoSMy3y4neNYyrc6RyFAEN70jjOePMLxiAoPhRWk,52874
|
|
56
|
+
graphite/usage_ledger.py,sha256=tvBBCnWvw5ooDQOJQH7pUNQoKbHMI0UKn16ZDs7D1X0,5206
|
|
57
|
+
graphite/validation.py,sha256=uH0KDY0a3Eecx5eNDHDBm1gri8N4szdUHG5DZc0iFxY,6740
|
|
58
|
+
graphite/watch.py,sha256=a5sM9g6auHmXwdfKFdpmCin0jkcZlw9_PzBqic0lSTc,5125
|
|
59
|
+
graphite/windows_job.py,sha256=hVv5Bcbz6rXVPFukJVdbzYJaELCD5l_DPW3oB62nlBc,17587
|
|
60
|
+
graphite/windows_startup.py,sha256=C6NjsoHcTb9OJkdOGZytFPlBsHByxds2syBZY1UERWg,5017
|
|
61
|
+
graphite/windows_task.py,sha256=3grdW7WrqzpFDQMXvw68UcWsIn6mswCzOTY1xTmKuDM,7291
|
|
62
|
+
graphite/export/__init__.py,sha256=pWJWSCaB0crABtU8Eeu21YOb4rZvuI1Fvz_OvNGTZCo,181
|
|
63
|
+
graphite/export/html.py,sha256=WB-9p0fpjFh-bTpHl5aYg1UdM_PGXwaZEtyR3lleNZU,8949
|
|
64
|
+
graphite/export/json.py,sha256=fTICqe3qOw7_b9BIvHtUl315ppYu-s7WYt05tareoH4,1268
|
|
65
|
+
graphite/export/md.py,sha256=JqxULAZHdsxBsbgeZVzZ08C0_ZmQ9Tsln_dAmvHmbjY,2557
|
|
66
|
+
graphite/extract/__init__.py,sha256=HsF3yU1VcT3EsvUfxMJ0iVW2Ud_XrivnBGmdi9QTK3M,118
|
|
67
|
+
graphite/extract/ast.py,sha256=e5rbU7woKD8TZJNbf6o80lVxzsHRS1gImwMqi84zr2U,92460
|
|
68
|
+
graphite/routing/__init__.py,sha256=QlzeC4TbkzJNPn6vVrMH36FmpHrH0ZoJzjK_ckF-Z54,177
|
|
69
|
+
graphite/routing/approval.py,sha256=Ti5vconJP2MkAa_TwIERvo_R6ag0rxcxnUp76XrNN3o,14234
|
|
70
|
+
graphite/routing/classifier.py,sha256=9JcVhxWnt9K_xMJkS-xiLUKYHi3LZiTGefkqBUSvvKc,6836
|
|
71
|
+
graphite/routing/claude_executor.py,sha256=3CAVWC0ijRSOSfjvCbH_Yfmxmg2ANRxDDkLPDKhNH8c,14480
|
|
72
|
+
graphite/routing/claude_probe.py,sha256=eWmFo47NOR8JqnAyISNYxxOPTL24_gv6Out3dB_WJLw,4633
|
|
73
|
+
graphite/routing/cli_identity.py,sha256=kJ1GmprhddWlooymOnHblRzdTKX6HIZDmc8qBDOTNVo,3150
|
|
74
|
+
graphite/routing/codex_executor.py,sha256=fsHqf7Q4RQ66_BLTIce2MdH4CnPKJv_9AS3OsrgGK5s,13311
|
|
75
|
+
graphite/routing/codex_probe.py,sha256=Q_ck0gQlZHJtgvo8qNpoyuz0alztIjGjdBzfz0g6guc,4770
|
|
76
|
+
graphite/routing/context_builder.py,sha256=CNzgh6PTGvMM_1t_joK5wKLX3jBde0RzmXezhL4PTyk,10553
|
|
77
|
+
graphite/routing/contracts.py,sha256=8oDyAnsJDICwBLZPCWyYB6CKgW1PzT9VtBVSAWomheA,29288
|
|
78
|
+
graphite/routing/diff_policy.py,sha256=2wsqds_-u0Bdm5mDv1-qHPltSMZ2sSW59WGzhrMuS6c,17362
|
|
79
|
+
graphite/routing/edit_apply.py,sha256=Gg8OX03QsdU2c2rqQqRgLeAARL15XUsm3dCGE3NnnSA,6216
|
|
80
|
+
graphite/routing/effort.py,sha256=6XH35JYcvwkcWY0asPu7Sfs6ZRU6KNMGAcJ82ddt-9U,1520
|
|
81
|
+
graphite/routing/lifecycle.py,sha256=iylQbxwGhX47XVcCw7uIvKsNHf21RVIgoekCB2VWVXg,29019
|
|
82
|
+
graphite/routing/lifecycle_operator.py,sha256=pYjZsTT_lQ8mkzVu88h58Wtb1Vg2ZojHrUQk1_oNacQ,9042
|
|
83
|
+
graphite/routing/lifecycle_service.py,sha256=siMR4UXW974mmVo0KFJBE9I_9K1tlVbHtTvbcO3jHL8,26461
|
|
84
|
+
graphite/routing/lifecycle_storage.py,sha256=XM-jrP78TW9-r5K9QVDbhqEa8wg4BNVMrIH0HhuUtPs,45301
|
|
85
|
+
graphite/routing/ollama_executor.py,sha256=2RsSUscHiihmrl4E7W9Yja2x7CgilmNHbLSvD3gWsoE,12028
|
|
86
|
+
graphite/routing/ollama_probe.py,sha256=ypshcN5gIE3k2k_cq60bURXnd1UtmL_w00iTkykFBRE,4023
|
|
87
|
+
graphite/routing/openrouter_executor.py,sha256=Tp-CTQoSbEc6U6l8vLOIot4FK-mATnTIbsQrRYoU9B0,11961
|
|
88
|
+
graphite/routing/openrouter_probe.py,sha256=yw4lCa73mjevmlvKdiqYdH_jQ-U4aIeYgI3jVI0sNOE,8138
|
|
89
|
+
graphite/routing/policy.py,sha256=EkYSRFXizBFyL02w_--_c9R4xEBi-BGD3M4p3PNHAcg,27764
|
|
90
|
+
graphite/routing/probe_runner.py,sha256=d1b6LUfzjqqlU4exc35qUltvQK7jLBOqX9A5hXHr9l0,19738
|
|
91
|
+
graphite/routing/process_runner.py,sha256=ZFtwplEDpyRdzStqeKOQmZ4eAyQa1KyfiftB-v5TDy0,20956
|
|
92
|
+
graphite/routing/profiles.py,sha256=BClxZEKO0NBceyn6-aOaOHQ2hh0Eq1fbb_i-rCdCO6I,20140
|
|
93
|
+
graphite/routing/prompt.py,sha256=6pcMjyha7Fh13eG2B1SOHcdg_EpvAQViWi2_62S-zc0,1984
|
|
94
|
+
graphite/routing/registry.py,sha256=tR5SPX9L4YgTlT0p5JjmLVjixHMoevub2NAR0-12eg4,16748
|
|
95
|
+
graphite/routing/route_pool.py,sha256=H84woSod909aT2ZLRBbDAt4i7HkZcDJ0H0ApWQysqno,22197
|
|
96
|
+
graphite/routing/route_pool_execution.py,sha256=g0SMbEz85Jm6--7ydljp88Whsi_lmJNlG0L-wHCfpGI,9115
|
|
97
|
+
graphite/routing/schema_validation.py,sha256=uDTNHq6zFL2BXFr1nveC7Zq63eWrYW1-pz3-zt0JbKo,6853
|
|
98
|
+
graphite/routing/service.py,sha256=Ai2qCY00Qq0KP8F7TK1pbfihXovb_PQjpF2GvnqPXPc,52540
|
|
99
|
+
graphite/routing/settings.py,sha256=a8OebKzDQUG0kuFmzCapvWl-dP7gl8DtBWfRZzjrz20,4049
|
|
100
|
+
graphite/routing/shadow.py,sha256=JAKGiQSnZ3Fq5I26LqVpcRfdvgqhPylWIDo-xezOsFU,6689
|
|
101
|
+
graphite/routing/storage.py,sha256=F0RFAj6fVlo_8vbY8IK6cQ5XX4fv0kY8d3PvrfvYuTo,178784
|
|
102
|
+
graphite/routing/telemetry.py,sha256=Fpw30UHVTdDUDAOONFz7XZy87PEcKfKXuUGR3sB7E_g,12791
|
|
103
|
+
graphite/routing/worktree.py,sha256=5xGLRRrzVNcduF9cmk1b1m6rNkY_X8aK7-hj_4zOMRE,10031
|
|
104
|
+
graphite/routing/zai_edit.py,sha256=Kra2tI9GkntQAhV1vNHlFlp4sY-ksq2-bY4N9fEfLEc,4466
|
|
105
|
+
graphite/routing/zai_executor.py,sha256=cHUl7DbWRUhYg9Lwm3OiP6H3dI70y_b8iAWCyfgOPi0,6636
|
|
106
|
+
graphite/routing/zai_probe.py,sha256=HL2vM8s2J4-n8Bp3l7QLpWLEk-PhZrt_rLc2cY65hvU,4771
|
|
107
|
+
graphite/ts_resolver.mjs,sha256=fCDjJKjynZ8fBM4MV6nzAO8fHftDWb7I6Mkf4Ck7R8s,10826
|
|
108
|
+
graphite_code-0.3.0.dist-info/METADATA,sha256=nycmq30zjTeScP3inMg92NPPNMkCEsyh6BQuVull_Cg,44233
|
|
109
|
+
graphite_code-0.3.0.dist-info/WHEEL,sha256=zOwg4jB6zX2kU910N-cMawjivD6tO8NEWvE12je1bVk,87
|
|
110
|
+
graphite_code-0.3.0.dist-info/entry_points.txt,sha256=-BpYAYFyn58DYi-hrFW9hMz6mTwNsYI44s9gaef4MiM,87
|
|
111
|
+
graphite_code-0.3.0.dist-info/licenses/LICENSE,sha256=mfotJ1Lk0VVUgoEPOIR7-x5cvYiz2UkuVH7e3fhoDiY,1066
|
|
112
|
+
graphite_code-0.3.0.dist-info/RECORD,,
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 jared0565
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|