{"_id":"renkon-core","_rev":"80-d73936f03f9c48c58cd407d2955da57f","name":"renkon-core","dist-tags":{"latest":"0.11.2"},"versions":{"0.1.9":{"name":"renkon-core","version":"0.1.9","license":"MIT","_id":"renkon-core@0.1.9","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"388fc325758c30678d7b3e7495dcd6724ae0a0ae","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.1.9.tgz","fileCount":4,"integrity":"sha512-S9dDkA1+LstQQV7b1qG/Rm9PMKVZ8YUT1miSNccB80iTXgXzMIKrcXbEB7WBCLoq0wWnGRpTgD3qsCKMZUUTHQ==","signatures":[{"sig":"MEUCIQDcrm1VT4wOqyT2O6EwIOHM38sDsWP5wbsS3rqimqwZOgIgWwMsYuc1Y0rnkOc/OdSlhBMwbNxIJgH1i1CQAEcgTz4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":9731583},"main":"dist/renkon-core.js","type":"module","gitHead":"8c4f4d6d184043dcfd87b07a1a2f83729a97f6d3","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.0","description":"## Introduction","directories":{},"_nodeVersion":"23.3.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","typescript":"^5.6.3"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.1.9_1733430486579_0.3633349356774209","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"renkon-core","version":"0.2.0","license":"MIT","_id":"renkon-core@0.2.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"5a56ca381b084b090094ed7c82d23865ac58f663","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.0.tgz","fileCount":4,"integrity":"sha512-Ay9PESiXAAdpnVkNtV78FGFJ8ic0+l7VYve8tTua26jZh4vvwCV+dIGGT3U4dNZUXlq2ZVxQS4qfTjZZr8kNvg==","signatures":[{"sig":"MEYCIQDl8qJxr18A81T5GgyMXz4bkxLplXpNlZuv7g96pc8oXAIhAM2XsbfLPthduRSCNOm1N8IxyULDrsJi8VDn8KSpyk7s","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":439988},"main":"dist/renkon-core.js","type":"module","gitHead":"a7f98b9b4762aaaf7b7840702194bcf9b547d3a0","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.0","description":"## Introduction","directories":{},"_nodeVersion":"23.3.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.0_1735947549886_0.6704397241484774","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"renkon-core","version":"0.2.1","license":"MIT","_id":"renkon-core@0.2.1","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"b25249e53e0ce64583ca6e7c43f8b421798878cc","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.1.tgz","fileCount":4,"integrity":"sha512-Kv593YDwyTZOWtcizvdBSkKX9+eSDTObjau8DTzG2H/geGVeLMD4htpCWJWANJnQW047yci5gK415KKFLeCdkw==","signatures":[{"sig":"MEYCIQDvMuco6c+R4L9mAoyC5JRC2E/YbBoS8RAWPobvbki5fwIhAJ69wFs0XRWg1YmSqlw3ChtLaAQSX5IKKMLU4qfIUhUO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":440377},"main":"dist/renkon-core.js","type":"module","gitHead":"df419bedf25b2a09a34bb7cba1d86ec8edebcdf1","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.0","description":"## Introduction","directories":{},"_nodeVersion":"23.3.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.1_1737751040375_0.3677403093485645","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"renkon-core","version":"0.2.2","license":"MIT","_id":"renkon-core@0.2.2","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"4b5c11436369a0720a2269787a11d774aa56b432","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.2.tgz","fileCount":4,"integrity":"sha512-EvlnlMhSJYZizshJtvUAItnOkyVZ+ngMQ5Z3P3Mv2X94mQYmky52T/76pk6iaL99z4FVkAHeU+LviS1yCcGAYg==","signatures":[{"sig":"MEYCIQCDHwDI2YZf/NwqAUwxz4rklGEIn6w+QekEFBu33YYDgQIhAIVmirhUyfnYYyG9HkpQEFZVL9QjfpR8cFVCVgKf1CSU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":441748},"main":"dist/renkon-core.js","type":"module","gitHead":"0640401dc1e23736c4d34c8f6038c169bd5dad79","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.0","description":"## Introduction","directories":{},"_nodeVersion":"23.3.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.2_1738633653087_0.2902584337105638","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"renkon-core","version":"0.2.3","license":"MIT","_id":"renkon-core@0.2.3","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"170aaf0e4737e222bcd14d5e7d0c1846bf8e45cc","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.3.tgz","fileCount":4,"integrity":"sha512-soQoo1BfedKwHjkPAjdw3+y3zVAKA7/PJ4z95gebjdGc3qU87e7z8GNWWB4iFKCvgIlhU/I2P7VkrUW80fybHg==","signatures":[{"sig":"MEQCIE+6hta4+QJtWI+zyKfYXbP/seasDyAlS95QfwgX9+KzAiBi9xAaK386B3Gd645hMW+2V/wJYDYIxYJmWkMJjqYzcA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":441718},"main":"dist/renkon-core.js","type":"module","gitHead":"eedf3c66517da36b79feae2c804cee765032fbcb","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.0","description":"## Introduction","directories":{},"_nodeVersion":"23.3.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.3_1738633771223_0.667570164490795","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"renkon-core","version":"0.2.4","license":"MIT","_id":"renkon-core@0.2.4","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"0c84fb37c7cda2caf60100ec3f6417e7bda6f3df","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.4.tgz","fileCount":4,"integrity":"sha512-ntgb39ceQKr/7T/AzlbCulFcBBZzToAMmb6eq26UItHmReztkjW3oyT/y1iqzOFPjTuPSEU9rfJD5dX4cQEigA==","signatures":[{"sig":"MEYCIQD3NYdFmdfOd/O0va94B/gShM1U1fRyBp1dUwWu7jdOlAIhAK7vgESg79ZJ/Rv9vD/xmi9XaeAUOS1QIjHTXIszptEU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442285},"main":"dist/renkon-core.js","type":"module","gitHead":"1dae86365a0a0f5ba68508d3e39133007876f1ea","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.0","description":"## Introduction","directories":{},"_nodeVersion":"23.3.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.4_1738888341918_0.5201787585316451","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"renkon-core","version":"0.2.5","license":"MIT","_id":"renkon-core@0.2.5","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"07c834b6838fcd90ad43e88737cc8d7ab7111c6a","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.5.tgz","fileCount":4,"integrity":"sha512-CUDC2j6Q2UhtN0kueaEM705gORKdrptSM+a9axVzCbuB/FMViEx91p0vIzjZBAQhxTJMO6+DYxW8RxbHef3Opw==","signatures":[{"sig":"MEYCIQD1RsgKn9YdW5LVpgWwpnfRTb8MRtGJ8BgDwpk2Nh/2iQIhANxY1CKa8XLd06D1BALd8i/3CTeNwtdxxNVHMxP1Ee4o","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442096},"main":"dist/renkon-core.js","type":"module","gitHead":"82ab0804680cd42d962a902e0cf8bb7c4805b782","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.0","description":"## Introduction","directories":{},"_nodeVersion":"23.3.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.5_1739218519171_0.7775087089317807","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"renkon-core","version":"0.2.6","license":"MIT","_id":"renkon-core@0.2.6","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"9a7664b239730cd9eacbb28ad7c8c5c74b7460cc","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.6.tgz","fileCount":4,"integrity":"sha512-sH2jjNpHYvi9KgkQGzJyw06fvvCBECBzl2/Szh9hQvWSd5lc4CyrWvQnEhVyelwlA2EPHVJZWHaZUQk4reAxdg==","signatures":[{"sig":"MEQCIAgOB894cqIYgZF6r3C/ohQFnfLyYAjk1N7f4rATtmpCAiBV068BLOkzbiFGfqeblbjnDQYOLFH2dkWyxJPQo9lN+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":442249},"main":"dist/renkon-core.js","type":"module","gitHead":"73d548697c763cb4a2627a22cc401e7026cd2c5f","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.0","description":"## Introduction","directories":{},"_nodeVersion":"23.3.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.6_1739229071462_0.4345059762194592","host":"s3://npm-registry-packages-npm-production"}},"0.2.7":{"name":"renkon-core","version":"0.2.7","license":"MIT","_id":"renkon-core@0.2.7","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"be73c3b67607cd5289da307d95199c325cdd0709","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.7.tgz","fileCount":4,"integrity":"sha512-+uOKqsUzq/IkNIIQqYwm/q6JPT08t39dCWk8FzFB5XkAwH64CL9JGq5yi0TVOauG/6i0ECxV/z2xT0BMG1t9DA==","signatures":[{"sig":"MEUCIQDXJu2PpPQRFPIaSRtBHo1HQxJLuovjjBfR0UaEKkbo6gIgB3kFxjfpm8YE/wet806fATgTgYpjiIo021pMtqNurNE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":446955},"main":"dist/renkon-core.js","type":"module","gitHead":"5485851a72baea2c25e14c3ca782bf71a070e1f2","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.7_1740091996912_0.16646868804504567","host":"s3://npm-registry-packages-npm-production"}},"0.2.8":{"name":"renkon-core","version":"0.2.8","license":"MIT","_id":"renkon-core@0.2.8","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"67cc5db80c4587a16aa923805b0c50b5e23ace56","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.8.tgz","fileCount":4,"integrity":"sha512-xrXAvO0uj6uu98mOXBm0oXz/HEqJOeezTJELjIy/8ybOP8+12t2pWuYSTQIU9obe857bbLrexn216gTLfgmX0A==","signatures":[{"sig":"MEUCIQCcEAY+LR5RRqxyHJ5MeSMP1w0JhMKxjBxY/xn50+SQzQIgVztjoskD5Eivpqwr75poz828uiVtm0CaP3VkvwcHOys=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447842},"main":"dist/renkon-core.js","type":"module","gitHead":"a4457087f831ce50555e1916d822e7323abaee87","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.8_1740096756837_0.39747596830319454","host":"s3://npm-registry-packages-npm-production"}},"0.2.9":{"name":"renkon-core","version":"0.2.9","license":"MIT","_id":"renkon-core@0.2.9","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"1855497248007828b83a6533f01f66bb6ad12df9","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.9.tgz","fileCount":4,"integrity":"sha512-lf2A7cUqvjgf3XxW+qNrgK8hpa8ZQDuFyd8mz4I/BLCdiHfXbCRF8yypQkTLH/Kj4BmyZjO/FJSO+fYL+DTl2w==","signatures":[{"sig":"MEQCIGH/XiO5Ok2hGvIZbsVdrhazp9GyV2FcKX3VwBW3osC+AiAysZWH6PRsAKNMCmISMeMLKH4ezUo+fSSzHvBcJ6KnpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":447866},"main":"dist/renkon-core.js","type":"module","gitHead":"e50a957ed069559576a68938fcee3d5f6bbcd6c7","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.9_1740097483393_0.979454096272393","host":"s3://npm-registry-packages-npm-production"}},"0.2.10":{"name":"renkon-core","version":"0.2.10","license":"MIT","_id":"renkon-core@0.2.10","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"d73181ec193780cc4f0fd13649647b5e6f49411c","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.10.tgz","fileCount":4,"integrity":"sha512-VRoHkvcXPVlbGHIoIgkXnouZS2P0Ah9eZv/p7YLtiM1crpeVSX2jtxVX/KBGL39GwLtmMdm0LYGODT3o6+oVfA==","signatures":[{"sig":"MEYCIQCrL0ddWY4+YC3KWJMLJv4nt2blxfIXKhpj4O1N4bfHmQIhAPzqky7UPMRgXJZCnFwq++BY/8PcpJLZ1Gr5A7jRaiV/","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453871},"main":"dist/renkon-core.js","type":"module","gitHead":"e282e2f7d70bc5b82b1eb9f3ee7607ff4a61a534","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.10_1740597401520_0.012780701067836242","host":"s3://npm-registry-packages-npm-production"}},"0.2.11":{"name":"renkon-core","version":"0.2.11","license":"MIT","_id":"renkon-core@0.2.11","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"17b927119cf99b696d76fdf61ff2d1730b9950b6","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.11.tgz","fileCount":4,"integrity":"sha512-8l8/hC5ctjYVwHgzX6XO6lhgUh7CqhAycTjHyVUIEfr4uxwPGLoURWOSJuciIUVthD2VwnFGAtu3sKOw3RJl4g==","signatures":[{"sig":"MEYCIQCoIe+N5BKK5egKkhNIxPL87zmZwDF6i0KONuSUGHhBZgIhAK44+5O80HEq3EuHCruUwPaua9jaYb6Cpb2F4j6WScRz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453871},"main":"dist/renkon-core.js","type":"module","gitHead":"d60655345afed8ca5defe4a0dbdf7dcdadc04ce0","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.11_1740702806913_0.4851443942200404","host":"s3://npm-registry-packages-npm-production"}},"0.2.12":{"name":"renkon-core","version":"0.2.12","license":"MIT","_id":"renkon-core@0.2.12","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"8310871a12968a2cb9e2a2cba61ee6fd77c028d2","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.2.12.tgz","fileCount":4,"integrity":"sha512-5LW1Oji+HvetUmhVKticVoWWnbnE7Vs1m06KPbFCF5TVLiCGAfL3KGnTA3mMc3JMzDGOMfZ6/uIqugWgQeqUuA==","signatures":[{"sig":"MEYCIQDCew7veLwtPQERGEGo0ptKZpz9DzAc+6iyJuhIuJ1MPAIhALAEKiTOGwe87YNwJbDv19itHQ+FKVraRWz5DjgL+8O6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":453894},"main":"dist/renkon-core.js","type":"module","gitHead":"c758dfbe54f29a45d56b045a6c250450ba920cd0","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.2.12_1740703092536_0.632509172138835","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"renkon-core","version":"0.3.0","license":"MIT","_id":"renkon-core@0.3.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"affb6a7ee54e1519063d3d93f8206473e45ab400","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.3.0.tgz","fileCount":4,"integrity":"sha512-AFYOD6KiXvwqhXQzotrAouj7M6Oa9zSrt77Ls49+Kiu7++8SvFgZoCLAKFDI12IWcK4wgtX0PZgWwBzZ7lK05g==","signatures":[{"sig":"MEUCIQDhpPqvYtvzIBbnmlTB5YwjwV2A98eov23D1opITHzeTwIgYfLgIn8t9t0C7nx+15L3K0OfvOEw3icKbzEXVNDvTTc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":461914},"main":"dist/renkon-core.js","type":"module","gitHead":"e7c3c40e9a0ed1bbaa6af22505b0c6ebfc9cd810","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.3.0_1741119926239_0.8711896828556558","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"renkon-core","version":"0.3.1","license":"MIT","_id":"renkon-core@0.3.1","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"51970f22ca7ac622095b143f156126b2b8b063ff","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.3.1.tgz","fileCount":4,"integrity":"sha512-ofF9kaeohVsF6SVZvQYfLE0i/Aqurt3AfuvShef7Cy6TkPsDBhuUxgq5WQ7YpPfxk8c3CSGs/4yk/m37Ekq0Hg==","signatures":[{"sig":"MEQCIGS/XX4eGB/xPx3gAyNJnixWFb/Fwod3VJh0hR6fHmA4AiAiCPDuBZWuArJZ/uGAz+f4IGRVgyCSi6VImte9UoIbuA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":461953},"main":"dist/renkon-core.js","type":"module","gitHead":"55248356e8982d3017ecc740877760c0703932be","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.3.1_1741121400310_0.9960597942087772","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"renkon-core","version":"0.3.2","license":"MIT","_id":"renkon-core@0.3.2","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"ed5a0fa260f0765697f7fdf9d0344930582dc485","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.3.2.tgz","fileCount":4,"integrity":"sha512-fvrwN2NgEz7v3h9A3jPB0+tKz6PIFNja49xvFqBXzN0KRJg3lfLxdH+Lkb05F7HyJV9hgnHhTpIYY2T6Wm5ocw==","signatures":[{"sig":"MEUCIACNcK2HmZZ9mzAtIZMwavzmEE68pK2mNI7vauFuuISSAiEA93y+hrb7cHXuDa9BDSdTEPtflI50A1sIxujz5AF4+Ic=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462096},"main":"dist/renkon-core.js","type":"module","gitHead":"fbcf8bcd8d3d3ae8856ab209329606234341c34f","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.3.2_1741123414799_0.37760805537161257","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"renkon-core","version":"0.3.3","license":"MIT","_id":"renkon-core@0.3.3","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"7548f98b43dcce67e717df04e51b55530d588adb","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.3.3.tgz","fileCount":4,"integrity":"sha512-fqEK1k1skF0J+B6lA/jNLy8d3H4EJPqITPUftab93N4j4nGJgoprRucP766eT4YNUTorXDFsKSZl7thd42SCuw==","signatures":[{"sig":"MEUCID8/eWwXd4VACFRLOw2uOp3jb2UE3muiRJdRcw96JbRUAiEAioXfCZEGBiVD7U+GRr0DKfAxtkM0oTGszV8ilvNhyTY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462104},"main":"dist/renkon-core.js","type":"module","gitHead":"986f5b95328a756b32934fe4c10f457f83c9d606","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.3.3_1741125100471_0.35046719079534916","host":"s3://npm-registry-packages-npm-production"}},"0.3.4":{"name":"renkon-core","version":"0.3.4","license":"MIT","_id":"renkon-core@0.3.4","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"64fe1392b963b1d4c09c12664067c704d0105219","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.3.4.tgz","fileCount":4,"integrity":"sha512-zO5MRm9qziJkrC4whwwAAU0XSTDmNv3wmJY3F+slOXIPf84AK3BTPaAkfSBrxqDzjBfzvE2fAryxaOItJed7kQ==","signatures":[{"sig":"MEQCIH4vHrs3VvE3BNwQZAZlqSyWPwNmbBSa/2A0mR5m0VOEAiA5Vhq/oJnUlPDafXRdDdF0tgGSmgCYsJnt5sijb5si3w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462104},"main":"dist/renkon-core.js","type":"module","gitHead":"fe30d2c18810ac6bf3d184dda50d4132e151d5d5","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.3.4_1741125621985_0.4871576428246318","host":"s3://npm-registry-packages-npm-production"}},"0.3.5":{"name":"renkon-core","version":"0.3.5","license":"MIT","_id":"renkon-core@0.3.5","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"cdd0098dca125b13f4a37d3a3e32ee7d9a0331b2","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.3.5.tgz","fileCount":4,"integrity":"sha512-S5UKN9+762kfRwIA7MPuIOoAPDgOghb75nxSeaQu/MhrSbKaJXTjVbc6KAsEi2XtTq4Sxah9ge/u3lxFWW7wOA==","signatures":[{"sig":"MEUCIFYreNPWignsq1KHEFaSPy4ZQMar1L/iVlk3KfbV4ucEAiEAkwqB/DCPOfJiTLa879YUwc4qn97TsY26Zd6r8zeXvZs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462127},"main":"dist/renkon-core.js","type":"module","gitHead":"b091a9fd24b7e0e40b170e536b9299b4509bf7dc","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.3.5_1741145585740_0.664389090347721","host":"s3://npm-registry-packages-npm-production"}},"0.3.6":{"name":"renkon-core","version":"0.3.6","license":"MIT","_id":"renkon-core@0.3.6","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"3ca5de6ab5b4f3eaa7e241d86a63092e74054804","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.3.6.tgz","fileCount":4,"integrity":"sha512-aGlb91o8PLKWEI0LgzGNnT4DFm1Zmig2v4zJE3O/rZZw+cY93vLBG9qNkkZ5lFo2DamOlP40gJz4P0loFcHCDw==","signatures":[{"sig":"MEUCID7IDKy6kntUdb73zGHCepze2e19/tzqI9IsLOdX+NH9AiEAn3QIkGwxo2vragf5Ce2mRs86/BA1gcC5XbPkjd8ylOo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":462627},"main":"dist/renkon-core.js","type":"module","gitHead":"aee496470d0be480de8115d1c0fc9d518dbb75b0","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.3.6_1741382808045_0.23457795152166017","host":"s3://npm-registry-packages-npm-production"}},"0.3.7":{"name":"renkon-core","version":"0.3.7","license":"MIT","_id":"renkon-core@0.3.7","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"2c04a87825b8210280c8dbc48922d5cf3fd18ad1","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.3.7.tgz","fileCount":4,"integrity":"sha512-19Oiji8QfmEfekJ7uhOs+iGwWm59joVWMfNvjrE4ZMIwOslrUe+IAMe3AeEa0iwOctJkJipUVCmkLw8Kx/yqxg==","signatures":[{"sig":"MEUCIQDnSnL5nHqvkP9yYywLT05ZE94cXUr3mSeg6e7WXV9DWAIgN/KUq37cC+QFxJFKzXLAFd58JDVLjjDKSZt75IKCMCw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":463496},"main":"dist/renkon-core.js","type":"module","gitHead":"c59ec991fc807c56dbb29fdf050fb8a188d824ad","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.3.7_1741630015451_0.06004572037915645","host":"s3://npm-registry-packages-npm-production"}},"0.3.8":{"name":"renkon-core","version":"0.3.8","license":"MIT","_id":"renkon-core@0.3.8","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"9faeaeab146b9513d35b53053c4aa8547b50c30f","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.3.8.tgz","fileCount":4,"integrity":"sha512-AIBNKH6wElFZTOlOO4m+D8bnaAUqRajrNNuIqgmL9J+em4Q/22f5y3Rmz2UirkklGgN7vcYYk9JLn18Od2DqCA==","signatures":[{"sig":"MEQCICPnt38yumaCeHAvRuE7OKKdXupNSSKNTF0S25CPGK/mAiBP9MLX0M0Xcjk8DXl5E+QqSyFpQnRRP9292sRZNozmiA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":463835},"main":"dist/renkon-core.js","type":"module","gitHead":"a17b2cd1dcc2378a04c836912de5691539e92e5d","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.3.8_1741655220467_0.4306346015552531","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"renkon-core","version":"0.4.0","license":"MIT","_id":"renkon-core@0.4.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"6c3da8eda92cd86d9ed26f24c77fd60866842b13","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.4.0.tgz","fileCount":4,"integrity":"sha512-lEciFsIcDXVfmR8F80NnwflyqJniNC2ZjBiDRgsbz1SvuHaLQIEtyCv8G+a9tcsS6Zr5Cc+DoM/oivjOMq5o/Q==","signatures":[{"sig":"MEUCIQDX9gFemvbyhX7hCD1TfPZZj8nE4whxSUBe2HQkLdSudwIgWycd7JBls5muQte5NwH/n9JYQHaGxPmVnPGUitPfUsk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":465528},"main":"dist/renkon-core.js","type":"module","gitHead":"697a0232f59e234ad4b32bc19e9d008ad6e0e602","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.4.0_1741804179953_0.7920293078156109","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"renkon-core","version":"0.5.0","license":"MIT","_id":"renkon-core@0.5.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"382ff57d83795399f0e505fa1328294ef8f61164","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.5.0.tgz","fileCount":4,"integrity":"sha512-b13B9oAWWvVffYt6jt1GZmANbE/oaIv//Du4Hf9syRcY0sdO4xTc0bHbtpGDh6xM6t0uw9BekPoanJx9T8BILA==","signatures":[{"sig":"MEUCIFFQ6rwpgO6TmmbZmAZ/P5S8h3NqKjpZNgrkkN3ZZH/LAiEAx23pD8bt9uVRQTnsCWZ/tohY0igafcc0ShlSPjT7oBI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":466527},"main":"dist/renkon-core.js","type":"module","gitHead":"0c7531f401c3c37e24e32e9622440797a3b634fe","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.5.0_1741986923403_0.35613844041650733","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"renkon-core","version":"0.5.1","license":"MIT","_id":"renkon-core@0.5.1","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"947f25940861042c0a2856441dc6727e769db6ef","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.5.1.tgz","fileCount":4,"integrity":"sha512-h47ykD/m+EXvJ0ghk84YibbvtqjcjRA87Bcd8rygXHWf4FD8ewGzPOMH8UmRml4Gw3ORrU32wv2eu/8sMZEhJA==","signatures":[{"sig":"MEUCIQCKl5SUX4VEPcJ8QWJuacDM+pXd3a6mYqxrWmv9n/9UowIgSorDS5jKSlA7lASeUQM5Wwo41/Jg4p1bwHlJf49M9vE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468208},"main":"dist/renkon-core.js","type":"module","gitHead":"30b64692abacf25db421108ac2f2265ed38fd293","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.5.1_1741995933476_0.4569710671691303","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"renkon-core","version":"0.5.2","license":"MIT","_id":"renkon-core@0.5.2","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"e9f81b549b29529004dba1e42e724b9412c327e8","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.5.2.tgz","fileCount":4,"integrity":"sha512-ycq/7zcpH48r3qfDUCNqzUiDhewRCP3nfI7sO3G4m+dzzPBbcvNZztorM3DhK1s2HlUt4pJWV5QuohSPBa2eOA==","signatures":[{"sig":"MEUCIChOv2cmne2nSoI8FdWEvo9LB2DsQDGtOnQ+uMydvGKtAiEAkYXt5sTdkvmbT6RnW1LxsWCEveWUHZ9fn/HWdAh8EPk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468208},"main":"dist/renkon-core.js","type":"module","gitHead":"73ba1532320db868c502d1ba2dd7d4e8a36e1c0a","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.5.2_1741996270856_0.22327061894828204","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"renkon-core","version":"0.5.3","license":"MIT","_id":"renkon-core@0.5.3","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"ba9db854617dd692eb5661cf259d5991d0093265","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.5.3.tgz","fileCount":4,"integrity":"sha512-hMBWMLl6eNasmVZFnm1OlkLvw1EwGWHx5osZkeZoJx43OPuK5NPvnJZEbSOO4aTR4kWQgJc0kIpuqdl9cT+K8g==","signatures":[{"sig":"MEYCIQCFA8ZlB3A7ee7ci7Bt3S2mh9N4K6UrDNGqZK/ZGbamRwIhAOUt3VVlH6SoKfKZtd6TSl3aMkRI3IYVkckgR3HxcTeL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468515},"main":"dist/renkon-core.js","type":"module","gitHead":"19621cc1e66da959a1f2213e39ea415e4f1ab653","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.5.3_1742262300317_0.9670608174059561","host":"s3://npm-registry-packages-npm-production"}},"0.5.4":{"name":"renkon-core","version":"0.5.4","license":"MIT","_id":"renkon-core@0.5.4","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"a35a1eb220de15196087de0cece676a8a4bc413d","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.5.4.tgz","fileCount":4,"integrity":"sha512-DYx0PMznGaFvT0kx97nJw9h2WNnARPXFWsjjLwNYHD0FTp1HQTJjkedZsmE9tcsSlSk6yAbE41DLL4x6FWfR5w==","signatures":[{"sig":"MEUCIQCqStHld9RWLIUP7v7teyhpHsFua6z21bKYjPhXgQ4mLAIgJihdYfWjOEeGbhraP1yj7NhMuqr4/0o5ywCup4gOEpo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468515},"main":"dist/renkon-core.js","type":"module","gitHead":"02cfbabfdeb4440dea3db572dfa3cb84a12bb619","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.5.4_1742271117749_0.7946613027289366","host":"s3://npm-registry-packages-npm-production"}},"0.5.5":{"name":"renkon-core","version":"0.5.5","license":"MIT","_id":"renkon-core@0.5.5","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"e257f06bfd52c16aefb77bacf99fa494fed96dae","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.5.5.tgz","fileCount":4,"integrity":"sha512-6/WAlWNS5jR0XB/AbtERve3xVKIg7FdbXFbhJZom8V6iq2evU1JTWPpPIl3LwymFNcJPeT3bym6eGVzoQ/KpMg==","signatures":[{"sig":"MEYCIQDdAlZX/TmjdbM252FSy0ZoyD4yoxQj0w2c1RYXENLzmAIhALASwTSZS3jS1F4YWFgZrYJx4hqcMGiTfNnmvRi1rOK9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":468978},"main":"dist/renkon-core.js","type":"module","gitHead":"47bac9563915db39e2dc0faae7a676c98b07f4eb","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.5.5_1742341564664_0.12690568505518174","host":"s3://npm-registry-packages-npm-production"}},"0.5.6":{"name":"renkon-core","version":"0.5.6","license":"MIT","_id":"renkon-core@0.5.6","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"94b4ffc020aca2a3b2f8a6eea44d03baa8691873","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.5.6.tgz","fileCount":4,"integrity":"sha512-Bv2o3PdktMf8ZR7sMSMTDSXJFT9ereZ4kyeOWCJt+2qKq4Ao46iya3Qvs0lT1UxTdW7quAyy/A1wvYmZmG0U7g==","signatures":[{"sig":"MEUCIQDT1HiR3evKz2vP60IpYYGaH/htUY0Ledb9/neVMmVmfQIgchNkg8EyISMgrHAoeS2usaNCSCnXAEPcrjO0efB9BPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":469733},"main":"dist/renkon-core.js","type":"module","gitHead":"defae54ab7f94117cc51108ca87993477948f999","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.5.6_1742419062414_0.7419446648492525","host":"s3://npm-registry-packages-npm-production"}},"0.5.7":{"name":"renkon-core","version":"0.5.7","license":"MIT","_id":"renkon-core@0.5.7","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"2b674bbc1de948eb3f21b192d626b2a3a31422e3","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.5.7.tgz","fileCount":4,"integrity":"sha512-sbBcfyNtPNLF5Jwp0gravgTVyCXaf+WbpLyBNZxSALXaiWmxrErc00LhO4pWHgLzlIY5zH0C0bzGMjyHppES1A==","signatures":[{"sig":"MEYCIQDcRvC8EjTFu7AF9TuAOcP6W7TcbaCxQA+HFA6+uiHnEQIhAMVIWdDWK04Mm4XjntPiyVO2thTqeX8JkGBfVEG1u2AR","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470079},"main":"dist/renkon-core.js","type":"module","gitHead":"edf91424d98ce06aa717ca1450836b96520ed811","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.5.7_1742426732456_0.08913151157015164","host":"s3://npm-registry-packages-npm-production"}},"0.5.8":{"name":"renkon-core","version":"0.5.8","license":"MIT","_id":"renkon-core@0.5.8","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"ff9637e4bdf9adfe71d6f4d1ae3e8e274ad37945","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.5.8.tgz","fileCount":4,"integrity":"sha512-nT20aAjZj2VHmwPSc4nk3DcMUSrZI/J6VyzLv70Idjr8CxBbRU1UvHo8U4YFZluqbtDyNyKZ61UhpEKF384pmw==","signatures":[{"sig":"MEQCIH7AnbvG2/eN+0NmctsgKPkMFRkeP/n5XiJWsBoV3kOqAiBmQ1bVMfvwlaVsjIID+t4JCjvOPI5BmMIprvQnx15VpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470034},"main":"dist/renkon-core.js","type":"module","gitHead":"805b9576508792f742f861457d5e0ea49722be27","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.5.8_1742427743810_0.46005297886061114","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"renkon-core","version":"0.6.0","license":"MIT","_id":"renkon-core@0.6.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"b14c9a1a1a287dc521892f798b27a498e30c0247","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.6.0.tgz","fileCount":4,"integrity":"sha512-Zc6/9HbLba8CMcCkcgJox0Zt/62IK+3FiTTraQeNZnDfQ9aP0rYpdCZPtZYqC7K7KRyeeM0r6UEM5AzXZsQcrg==","signatures":[{"sig":"MEYCIQCW9CfEh6sl5dRRjmu0O+nhUElWps+5qcuBl/+rvZfoHgIhAJNLa8PB+E7ezK8RD5wfpN+9T7ZpOXpOg5LFyW2thGOu","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471332},"main":"dist/renkon-core.js","type":"module","gitHead":"c5424d844d4cec00cddc36408fada8117aba9b19","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.6.0_1743101915178_0.12628459575206485","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"renkon-core","version":"0.6.1","license":"MIT","_id":"renkon-core@0.6.1","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"3eff0211ed1ada3534e639414903af3a76bc9450","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.6.1.tgz","fileCount":4,"integrity":"sha512-hV6yAjS5o1QX8Gjz+PAfOOYz1O03DQlqv0FaoP2zztQVNNfXClcEA6L/pEjMe+mPSMc8gRRlul+ATWnd4QSM3A==","signatures":[{"sig":"MEQCIBKnMJdHLBKpcROiMfGTJloTsstcyNchhS0FSn4HvxewAiAFjcIWa18H2oPOaf2lXrJdvJPK80fjv/s/Zx+UZE6xpw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473337},"main":"dist/renkon-core.js","type":"module","gitHead":"156180a5921b15cde73b0d879ee807329a4e29d2","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.6.1_1743203814539_0.37266776729050854","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"renkon-core","version":"0.6.2","license":"MIT","_id":"renkon-core@0.6.2","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"ca21d8752aa4c94f78974c8c044be292e309cffd","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.6.2.tgz","fileCount":4,"integrity":"sha512-Bdur2JiwLYdhA5isy1xULmOfAzFqO/LY0CmHzgvcLycYCtwKR9EAB7ortFtqAXI+Cw3G4X8HK+PsLkpDSPPeUA==","signatures":[{"sig":"MEYCIQDnashqae6BKi5sxKXdekQxrK0MmaA+AoBAOOI3JEzXjAIhAI2DyKphR90Q7I1Lg8ABQv+sA95jiI5hYTBusiFq1aVF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473341},"main":"dist/renkon-core.js","type":"module","gitHead":"00dd80dca768844eb83c0886d8c91b5c91e5b179","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.6.2_1743454880664_0.5267549123616095","host":"s3://npm-registry-packages-npm-production"}},"0.6.3":{"name":"renkon-core","version":"0.6.3","license":"MIT","_id":"renkon-core@0.6.3","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"6cb207f103dd11ecf7f73d9e673635b6d33193bd","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.6.3.tgz","fileCount":4,"integrity":"sha512-xWvtLbJxE38LiCh3SCCg1h+iuy2gfM/lxC+s5b6izSFmRWunbaCJeEKaz0Byi+NyKQ2frqaAPPN3FkbcRP1elg==","signatures":[{"sig":"MEUCIQD9l8gl68kS5JJWoQDlWT9Drxt70dUM8yhY/6+CMynnpwIgSgpJ3I1YJvF0UNfHIXZeGlR8c/qXvIHUzzD94u/YOQ8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473393},"main":"dist/renkon-core.js","type":"module","gitHead":"50aef5556247ee608ca4ba4bd444aa9dd7d388e2","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.6.3_1743711642511_0.13615248559433435","host":"s3://npm-registry-packages-npm-production"}},"0.6.4":{"name":"renkon-core","version":"0.6.4","license":"MIT","_id":"renkon-core@0.6.4","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"b962e660d0b04bc286aeb056b310eb373a674b65","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.6.4.tgz","fileCount":4,"integrity":"sha512-sDcWJw4xwE1Ckr11E6EtHP1olrpiamAWbBULan3s2X6p4+OEABXKwDWDyCn4WzGwfC/5XDw7kPYR9z44pv1czA==","signatures":[{"sig":"MEUCIQDJwU+fmW/5g2jukbgO6lrSefJYyWMmr24uGD+O10Q2jQIgFQtFB/V7b+5e5KgG8bPah/aXRUdUoaU8waKJlEZLerI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473474},"main":"dist/renkon-core.js","type":"module","gitHead":"41381bd42ab1e8709b185020207fd7b8766af8d9","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.6.4_1743813685048_0.4453580628174538","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"renkon-core","version":"0.7.0","license":"MIT","_id":"renkon-core@0.7.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"fc68e4ead9d0b80eda769c8e52831f10df918062","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.0.tgz","fileCount":4,"integrity":"sha512-ozblTSSgGCGWmELN+n/LooeJTZv2aIdv258CzDzxciTja7l7c67k2f9A8rOdK5WhMpE0yHGVrtuj5iDGnjiqGg==","signatures":[{"sig":"MEQCIFIO9vh5zvhFDpqFS5YggvUHwvgbPvZateYtNr447DMWAiAL1/OTzidWhYi3ZLS5jlxbosJwOoMymn6vxyBmRBeyig==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471201},"main":"dist/renkon-core.js","type":"module","gitHead":"721dbc8cf5657225a258b0b3fd14759a388d1f30","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.0_1745283639662_0.649814779380923","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"renkon-core","version":"0.7.1","license":"MIT","_id":"renkon-core@0.7.1","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"088815bb00b7c1614e97745161d16c471125c278","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.1.tgz","fileCount":4,"integrity":"sha512-Gumg/Ep0aPqle8n4mqgnPkuiNIjzs5XYe/0DcE4qbF0/fAH6+RxiP4vvXG3sR8PJeNNtF0YFNS92x7v/W+kYYQ==","signatures":[{"sig":"MEYCIQDAQ2/gQ4BVkKnJATl78qLaCG16YsMN/NZKVHXFSuSrZAIhAP5oVYf8xHn+JZzxX/J7J1HiX3xzFNd5WRpxEu/noufX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470952},"main":"dist/renkon-core.js","type":"module","gitHead":"65df4fa700c8761a451fd24ed0e4eec4520bdf88","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.1_1745343717175_0.500641594452325","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"renkon-core","version":"0.7.2","license":"MIT","_id":"renkon-core@0.7.2","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"4f41044b813e9b2e2a007486765fa0117b8edb0e","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.2.tgz","fileCount":4,"integrity":"sha512-RmI5C8GG6qMNwVpFcAjyiKBjBSfRE+f5Lr0scCFNXxzLAskHm0D5TYaIKjNOhOWGngUXbin8G1WmZRrUopD8dw==","signatures":[{"sig":"MEYCIQCPH60KFdWsLU+ifHHHGUiB+QN8CSkZEI716oNlH9YqkQIhAMGZdrsk+wR9Yo8cR5GS0hyt2I7uD0t729UIBMP9b/qO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471138},"main":"dist/renkon-core.js","type":"module","gitHead":"206ff2cbc55a7ad1b13b27ec04d904097f6fb826","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.2_1745525877184_0.2743451414410809","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"renkon-core","version":"0.7.3","license":"MIT","_id":"renkon-core@0.7.3","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"b439b41e02d2c50142a1393dd0ecb94b4f1b2548","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.3.tgz","fileCount":4,"integrity":"sha512-XBYBmKkSpphKgL86xO5gz4H555o7745nS+uT8TeeHbYyjtS1CFDgBoCZfJBBGwspE7J2zm5Bv47IlVRzPsKKRg==","signatures":[{"sig":"MEQCICcfN5spAZgFx8K+Gzhz0IKAvJ1VGbOUpSLFwbrcjwgaAiAfu7SitzAMQDutOIYXoKBwOlybyaoT48FjQtRYtP3sNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":471580},"main":"dist/renkon-core.js","type":"module","gitHead":"88e0896bdfc691c2f8f2bc0599360ddac2ff5365","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.3_1745541977963_0.9594101447539067","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"renkon-core","version":"0.7.4","license":"MIT","_id":"renkon-core@0.7.4","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"71e3e34bb83f8b8b11c8631225b30445f232bb29","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.4.tgz","fileCount":4,"integrity":"sha512-ddsH7aWqcbCnif7sSHRreFMO22xpWtG9nZo+YMKJXEkL2vmtjvAjmOrL20tQRvhFLNmdd8SjfRbqeMlMxf24Zg==","signatures":[{"sig":"MEUCIFpoOITueIZZZaPm0uhYKq37WbBZNdC78ddrRucfp6GRAiEAi6vfVAAcmiGCfmwrzU3V+hPrYLNR3ATDQDvUP5fvlm8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473387},"main":"dist/renkon-core.js","type":"module","gitHead":"0c81a219d4b614e07dccfdbe8e71545f8ca4291c","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.4_1745969682447_0.22675451895762788","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"renkon-core","version":"0.7.5","license":"MIT","_id":"renkon-core@0.7.5","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"e878bc77dcdec3dc90ceda7d853070eb534f3e68","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.5.tgz","fileCount":4,"integrity":"sha512-1Qq9VfFT1i7x/1cegMM5Sgttq99cOxm7+JJ2FsyEpqvdMEEMdHtC2HxIsevq4hy53bzwTBr6Hcs79CwVvT2ulA==","signatures":[{"sig":"MEQCIGErinnmlgeA0GBem58MZ/uRyQrXomHcLTGy8g1Gl+cBAiBbag5SJ8UTAEyGx286Qhk1GL29hT4fj48GVSP0p1KNaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473387},"main":"dist/renkon-core.js","type":"module","gitHead":"fc1a2877915faa2f18af9b240a5eaf072c8981c0","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.5_1746143183552_0.2792419031793305","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"renkon-core","version":"0.7.6","license":"MIT","_id":"renkon-core@0.7.6","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"4a0e17c6b636eaa46fad040a39a23a43b16631f9","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.6.tgz","fileCount":4,"integrity":"sha512-BRW8Zpl0Ck1VJEbKlGn3t60gUJtabgaN/Fmw/2Sru5J+MzhDeps3m4wljVQxIvlJxUOvQySNc3+tcXTx+gYn6w==","signatures":[{"sig":"MEUCIC1oEAOBAldAQncecQx2ngvHGTVkHQWYWR0fb76JrzyuAiEAx6wfOIjwlF3PVBboldzC3Y8wKmPmk+YlUwCpuKdkCbU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473933},"main":"dist/renkon-core.js","type":"module","gitHead":"dd6f26fb55ac08a7edf1a4d78caac0775d281f62","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.6_1747350675432_0.38661145283865794","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"renkon-core","version":"0.7.7","license":"MIT","_id":"renkon-core@0.7.7","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"148de2df9be9d5927227fb6bd4c85296e3a6fc66","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.7.tgz","fileCount":4,"integrity":"sha512-23moo0Q0oy08b6Bjk5PcBmGQ1KHZrHr7GMhWC3kye9b2fqr2tpHQ7rvFkEDN2sOIBrElrkM1o6pzScvtVBWpdg==","signatures":[{"sig":"MEUCIQCfCsdm9nJEV02EpvkbEvA9qsUNQZ5RCoPmwkC0LCfxwwIgSjAw9i15MrrT2oce+5Q5tLCHbuhLDVQ+CEBUYO+Hd2U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":473953},"main":"dist/renkon-core.js","type":"module","gitHead":"6136edec46c635efcfd5efbdf4373c5242f1a431","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.7_1747420070753_0.3664830257499796","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"renkon-core","version":"0.7.8","license":"MIT","_id":"renkon-core@0.7.8","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"114dd57951d4cad2540538210c771a2eef3fa56f","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.8.tgz","fileCount":4,"integrity":"sha512-3O4unI4e3gEui8GHNq4NA6t9NtG1ZpMHyC7ls6CPoiOpGIP4OM0vAOZsFIsQtfAHrnPnOucQMUzqqPYfwei9uw==","signatures":[{"sig":"MEUCIGbUfdyAgnSpcWsdbnu6RLJTRPw3y1BwWyUioWc0IiqvAiEAyCvVZNZPAygCsJmQ4uCm1dLtb22Oxl/tiah0TTtdGyI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474629},"main":"dist/renkon-core.js","type":"module","gitHead":"dd9f04112252b878cefc725ba4aef9c68c32a3a9","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.8_1747958090977_0.5654587884919948","host":"s3://npm-registry-packages-npm-production"}},"0.7.9":{"name":"renkon-core","version":"0.7.9","license":"MIT","_id":"renkon-core@0.7.9","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"50e1e758d0c596e3987868d40bda724b3d228a1e","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.9.tgz","fileCount":4,"integrity":"sha512-bR+Y0fgGfRrWizJcBZ1KvJtbZeFP4XlmS3JwX7tMzjIOQQdCYHUtiDUT9umRcvBaAQjTOYyWlikJaHEqcZ94pw==","signatures":[{"sig":"MEUCIGytseoz6yOE14VUTXQ4GPwFOuzgvT5Hme61ThCLdem0AiEA630clIfrFpAG34X28JaTxAZ7Bj7H2RO2PlKlsoW6naI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474709},"main":"dist/renkon-core.js","type":"module","gitHead":"e48346dc5955a952629c07cf0efe0b51f0160b18","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.9_1748714110509_0.8481509662403528","host":"s3://npm-registry-packages-npm-production"}},"0.7.10":{"name":"renkon-core","version":"0.7.10","license":"MIT","_id":"renkon-core@0.7.10","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"2f5b343c5e4148b3f2bc3bd9f5cef66be3b31aac","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.10.tgz","fileCount":4,"integrity":"sha512-Ouh6ig49MFftrj4Sj7RerT4Br5JXjlNCG9LeUk0Qcnhw2PrcQDLL6qzTYK66F0hdG+ZAu1oNuaUUAVhGwL5GXg==","signatures":[{"sig":"MEQCICDnwusQX+Ix5XBP6/l9K3qpwnGta8x7r/NkEKEXcGMUAiBSbyQWmIpLHbFNO1eX+MlLLyxHeTjPQbcVFcYwzYUSAw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474709},"main":"dist/renkon-core.js","type":"module","gitHead":"2b514e9ed4b139c500d2b0397c05b0e32aa80c9e","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.10_1749747055218_0.4702749174711005","host":"s3://npm-registry-packages-npm-production"}},"0.7.11":{"name":"renkon-core","version":"0.7.11","license":"MIT","_id":"renkon-core@0.7.11","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"d4433ce3b86c7c66032d7047dec09ebabf5368e0","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.7.11.tgz","fileCount":4,"integrity":"sha512-rJw+4drILS/ss5lHoRBCUcbvYF9tkRRcd+KHQOKO1T0sVhEdbJshUZzebApG7uJ2Zy1lbdACs0q2NvqG38/kWw==","signatures":[{"sig":"MEUCIQC3ycyr2dMPaefj9/Ifwrz3JOS1hthyO0CnEv0eDOhZ+AIgFowBm9Q+AgEzyGF6HJEs2yuh2VnITFe28Xq7bNLGPbA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":476544},"main":"dist/renkon-core.js","type":"module","gitHead":"d873f0a8e56d63c07f7f4e28e7dd3c2874ada1f7","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.7.11_1749854902958_0.4530571483648984","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"renkon-core","version":"0.8.0","license":"MIT","_id":"renkon-core@0.8.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"7f12e793bc38909b419b133a897185692d7ca3c3","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.8.0.tgz","fileCount":4,"integrity":"sha512-3kVAztgAX345Ebqy2Yr1paB/8uRTSCrhFNFEh7C2P4oeXChdKUH4YzGVTeew9jiT8VYLtHIozg20wqA07D5gXw==","signatures":[{"sig":"MEQCICjBJLMCamBZBc2ASIhrjXdzVDD185lx3lRZGrXjXq2qAiA2NOSvfS40x/ixV3X9BavEcwMPTKeO/QxhdNsLKmQQ9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":482891},"main":"dist/renkon-core.js","type":"module","gitHead":"5d4160f3f2b3d92f6a31a1845a1ee5feb6fd1876","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","actor":{"name":"yoshikiohshima","type":"user","email":"Yoshiki.Ohshima@acm.org"},"email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.8.0_1750379290923_0.9244555851835925","host":"s3://npm-registry-packages-npm-production"}},"0.8.2":{"name":"renkon-core","version":"0.8.2","license":"MIT","_id":"renkon-core@0.8.2","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"46dc0b68f271f9b7aaf77e6ac8dbd708105baf9e","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.8.2.tgz","fileCount":4,"integrity":"sha512-goIpcWyVETvPaEYnSCcY0ESR4JHyO5QqOLdV4ysVpc1WfPycfvUFFLwM9vBZoqGikDdtrpgttPpxJYVtlwAjbQ==","signatures":[{"sig":"MEUCIB4cNGN2R7uOPdGAhlmqa/Z4WsO+YvXD40LbT8AQ7d9sAiEAlKLJwIxl8FcfdButaB1koLI503OoDQCAinLiGyvq4H8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":485180},"main":"dist/renkon-core.js","type":"module","gitHead":"5b544ca070fd4b5634bc6e03f3ea1bb611554b5c","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","actor":{"name":"yoshikiohshima","type":"user","email":"Yoshiki.Ohshima@acm.org"},"email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.8.2_1750709577814_0.09615344136906723","host":"s3://npm-registry-packages-npm-production"}},"0.8.4":{"name":"renkon-core","version":"0.8.4","license":"MIT","_id":"renkon-core@0.8.4","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"3539fa69d59c2d31c7f8b61a0090a19939cc3fd2","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.8.4.tgz","fileCount":4,"integrity":"sha512-aoP3o8kDIaw7KSu603qxxR8r3QTRvqHIQGyb+uIl2X40lJCl3F82iaoPbP8wMpMewV7IDzqB7+5u7+kRNRyUPA==","signatures":[{"sig":"MEUCIQCnvX4/KOaZAOjnT0xrIM1Tb/UR/UqDg9mIM/O6OQ0i4QIgHcdDQYVdAgPEAzMP7ovIskJSRZzkPIl5xwDHtuA8eQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":487129},"main":"dist/renkon-core.js","type":"module","gitHead":"50e58a51802da05051f4791e6366756020edbd34","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","actor":{"name":"yoshikiohshima","type":"user","email":"Yoshiki.Ohshima@acm.org"},"email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.8.4_1750788783611_0.4429195162543629","host":"s3://npm-registry-packages-npm-production"}},"0.8.5":{"name":"renkon-core","version":"0.8.5","license":"MIT","_id":"renkon-core@0.8.5","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"53fd93fb9f7fb1bd3163de3776582ddeb8cd7897","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.8.5.tgz","fileCount":4,"integrity":"sha512-ea0XPrYo9KArHD5PRyVLiMuJWZvOhT1mkOyYDf3XnNR32hagzTDOfFuhjA/L9wHIOxCaEbBTO7JwwfmLUe2t/A==","signatures":[{"sig":"MEUCIFnqrUrhNq/UPzQA8PGOxQPDaheL/tpr0D0VjR1BLnLTAiEAuO5Mvsg1WMGDcw89r7dVNzy/Jzj0ndzmzIV6Uc7rL48=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489384},"main":"dist/renkon-core.js","type":"module","gitHead":"117d0d556759cc37a08d50401c6604dc165e08f0","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","actor":{"name":"yoshikiohshima","type":"user","email":"Yoshiki.Ohshima@acm.org"},"email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.8.5_1751576532444_0.9227185202148034","host":"s3://npm-registry-packages-npm-production"}},"0.8.6":{"name":"renkon-core","version":"0.8.6","license":"MIT","_id":"renkon-core@0.8.6","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"2d147241a12ae450f6896ba540b35ee6b4350948","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.8.6.tgz","fileCount":4,"integrity":"sha512-b3DzAluuaToVxGcNjeTwsiGdKc2VCGei/zw3ozGJ5FwtwJEMZuP9G0sVe5qyz35wITeO4MEc54IyqgFnc1ud0A==","signatures":[{"sig":"MEUCIGHOOmk8aCQ4QRAUlu/VjRMp8vvWeOQALNZq1qjQHJpwAiEAn27Q43bsX+R1n4TsC7xw74N3xXkNKjD7xRb0FBwv5/k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489562},"main":"dist/renkon-core.js","type":"module","gitHead":"5ed30837616b9d982add5daaddd950ad9670eaa0","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","actor":{"name":"yoshikiohshima","type":"user","email":"Yoshiki.Ohshima@acm.org"},"email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.8.6_1751580633662_0.8151459735342206","host":"s3://npm-registry-packages-npm-production"}},"0.8.7":{"name":"renkon-core","version":"0.8.7","license":"MIT","_id":"renkon-core@0.8.7","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"b34b138bb411740533614127e21705dee6d794f0","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.8.7.tgz","fileCount":4,"integrity":"sha512-pcBbVGrATZp9M6I2UrXlM+OBn6W1dXKlRPBKh3/ZGFbH7WdGRVknVAvlBqSNmqRoM9OGd3/W6O/GmelvrsP9og==","signatures":[{"sig":"MEUCIQCDXbn3ct+wwLZMEMlanYPpVunqDaKZlklKbw7/ruVUxgIgNAZ9u2Eh4LP9y40joN4FzXZERXZi7ILb89/+qPvIuVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":489637},"main":"dist/renkon-core.js","type":"module","gitHead":"4c9cdd6eb30211b8ed09e05d8e440e9f879aa9e5","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","actor":{"name":"yoshikiohshima","type":"user","email":"Yoshiki.Ohshima@acm.org"},"email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.8.7_1752005177148_0.9831347654592775","host":"s3://npm-registry-packages-npm-production"}},"0.8.8":{"name":"renkon-core","version":"0.8.8","license":"MIT","_id":"renkon-core@0.8.8","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"66cc71f3ca4b22778a246bae41897d9ac5d996b0","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.8.8.tgz","fileCount":4,"integrity":"sha512-srplnCi88d43dq3btpt7SuLXXQVZKhl0Sx1JyH1oMCDxa1Qr11s9BD0QnchnSH1MX/91hskYpbWq6A/FbXO91g==","signatures":[{"sig":"MEUCIQDgTXlAN2uB+Zarx2y8cMvuIOVJEg1m8bocJOrDCQOixQIgUxHhRk8EfSor8UjYWRrSaCjee/zT9Ohzy+YZi0dlUcM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490088},"main":"dist/renkon-core.js","type":"module","gitHead":"d561753b17b046f5726ecc1aa8d4991a9ec7e9ac","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.8.8_1752190532055_0.38023085635071774","host":"s3://npm-registry-packages-npm-production"}},"0.8.11":{"name":"renkon-core","version":"0.8.11","license":"MIT","_id":"renkon-core@0.8.11","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"8752b4a01c224c823d9e192d58a8a89d9907c68d","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.8.11.tgz","fileCount":4,"integrity":"sha512-AtaZRB8pqkC+tE7TrPWiYhI7NHFiegAL4sahwHun86l1Jvrl5hDXU7aQE937fT0F/j58qMeO9Kpol6E9kAvzwA==","signatures":[{"sig":"MEQCICgzM87huPI70eWPPAbLUIylTHkN2vYtSljoENG9icijAiATNhtYoWl93oHTAN8+ozYtHXMrgPkpV8wYrfZTWQ0kJQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":490090},"main":"dist/renkon-core.js","type":"module","gitHead":"8affe877b09702e52c86befc9c32a63c47f60f7e","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.8.11_1753486111965_0.3974661964847108","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"renkon-core","version":"0.9.0","license":"MIT","_id":"renkon-core@0.9.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"61cb8f022cda3f36c023c45692effa42f7807f42","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.0.tgz","fileCount":4,"integrity":"sha512-SWVjsVVBB4YrEfIdWaiuIx8egk07v6/qeYfIllpINqmo3UJ6IsnKG3vLHjBVeqMuTeA46qwVWSfIjgrd7Q7nyA==","signatures":[{"sig":"MEYCIQCRjS5ePPzwGk401lNrSbqv+BySGCqulEQNGxCklRGfMwIhALDJs5vBBc7+RyLVCRetlVH3SO0Mp8Ii2tJcfixEyR4k","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491808},"main":"dist/renkon-core.js","type":"module","gitHead":"f5f79b45f55b91d722bfe31268a2b3a45cebc760","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.0_1754517127044_0.13019073746625387","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"renkon-core","version":"0.9.1","license":"MIT","_id":"renkon-core@0.9.1","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"2cd8cc96e7595423fcfb7e0f09bf986d52dcdaa8","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.1.tgz","fileCount":4,"integrity":"sha512-FIKzUn3qmxIIMVayTllgQElbC7/qk8PN3G9BtOx8WY2E+W6woflBhrtln31mxP3DSN5OQmg8Oyi0Z54ZqlefPw==","signatures":[{"sig":"MEQCIBWph3EmApE/M9eB5Me6Mj0Q2vLvXmlXGxv1K/hdkrF8AiBaT4fz4exCTnyvujVFfWckEZc1xvt52fwz6dJA4+5c9A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491807},"main":"dist/renkon-core.js","type":"module","gitHead":"f5f79b45f55b91d722bfe31268a2b3a45cebc760","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.1_1754517951940_0.30458034913561205","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"renkon-core","version":"0.9.2","license":"MIT","_id":"renkon-core@0.9.2","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"e406ffcbdb9efb1437b2e3efde433bb2bdb0d0ca","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.2.tgz","fileCount":4,"integrity":"sha512-AiqRK/gowUslaVq6YHA44DUPued0eqVlujHoHMjKoIbAGPuPb9DIFRWeo4U2nHu5ByFKe2uIq6qHfQTbXkGnXw==","signatures":[{"sig":"MEUCIHU4aotdp1VY1djBMayvBxbWIPIy/10RxpyfGawDKv72AiEA8VPoZe6CQ2SCYpoNPC+W23r7ggNpa3/R8yvNtqdwo64=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":491755},"main":"dist/renkon-core.js","type":"module","gitHead":"c66820297ea022aced38a68890a10c0790041bad","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.2_1754619680332_0.772633134233627","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"renkon-core","version":"0.9.3","license":"MIT","_id":"renkon-core@0.9.3","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"6e7693bcfd4db8aef8515d83392dbc3c0b882477","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.3.tgz","fileCount":4,"integrity":"sha512-80mAnZE6JlHuPFTdJbyOlXar2/65ihVAR+76qWnVtIbjN+OUZyuT/jLmUJ6fCrZFoHIsLy3Fjq6hhGAjKFdtfw==","signatures":[{"sig":"MEQCICg7poPH5wJrzqjusgdNvOWQV0YZKYOpzu2Y4MTBbgR2AiAMRXlsuf/TQASgueBRs5kKNJWVqcjXrhpqP9a997honA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":492790},"main":"dist/renkon-core.js","type":"module","gitHead":"c0a2b4615dd8a491ce98c911310889f5ee4d794e","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.3_1755039690566_0.045858349222742456","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"renkon-core","version":"0.9.4","license":"MIT","_id":"renkon-core@0.9.4","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"d2e188e2fd89d60e583cb61f4cba96ff326bf9d3","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.4.tgz","fileCount":4,"integrity":"sha512-o4RZh4lLVLgtfwSs+h9+1OqhIv2ZiRwtNQqFCxzysJga7j76WDneTNsC9Amhl1gNGa3/d2mbBE/VH98IMltgXg==","signatures":[{"sig":"MEUCIQDB2OByIGYWG+jT2Jx5BaTskwSGMJY+v+t+hEuCTSpDKwIgO1jeearBQnLKCH3ZUNw6XpD0dmrOVaTmZObuxI3T1TY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":493767},"main":"dist/renkon-core.js","type":"module","gitHead":"1a5a672f1082d0e3ea0255048930eb421a39e810","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.4_1755403458618_0.5682612020803324","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"renkon-core","version":"0.9.5","license":"MIT","_id":"renkon-core@0.9.5","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"c1edd4ad0edb4e4b7724ac3c2ae6d6c94b542041","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.5.tgz","fileCount":4,"integrity":"sha512-Gs5gSp4KB38/u9OXVD897Oi0a9a8B7ryZQclD3d3PSniJbi3fBqB3X7NpJN57R6lrv6bQmGe+8eOYdTdaCIR4g==","signatures":[{"sig":"MEYCIQDUr9sWwq+FfdfkoELAMEr9kgE0Wy0ZYAYG08Y9lIDvzQIhAOT5/8eXN/U7oHxdsvPM5FPcC3bkPgViOzlM5dgELQmP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494540},"main":"dist/renkon-core.js","type":"module","gitHead":"008dbd2dff7681ec34ace96895b4a17e5e671dc8","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.5_1755902209332_0.8988694900254623","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"renkon-core","version":"0.9.6","license":"MIT","_id":"renkon-core@0.9.6","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"95d866052187b9e5e5938848008d7cc9b83c2e1c","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.6.tgz","fileCount":4,"integrity":"sha512-gdrylp7cj3Y0fTsvkUE+x+zxo70f68VLZeWwbZAgGf5dxNWJiPrBtaSJLjgs7Pmuj74b77oQpqFQ62eq0JMVMA==","signatures":[{"sig":"MEUCIFZbXkRXx/ZEPizfjR7JnPQq+0A3AeG9Q8w/uqyRkVBYAiEAoLxvQKYVErPqN/rateu/D4VoEehhBm1mUTLVYpJPfQc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494540},"main":"dist/renkon-core.js","type":"module","gitHead":"471ea4eddd90efd75e7ca82ecd16e74b97eb5cc4","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.6_1757552335480_0.3995321565965837","host":"s3://npm-registry-packages-npm-production"}},"0.9.7":{"name":"renkon-core","version":"0.9.7","license":"MIT","_id":"renkon-core@0.9.7","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"312500c232baac6a770528169e407fc8ee0be8eb","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.7.tgz","fileCount":4,"integrity":"sha512-7WCJw3YEwALjsEAQKv38UIuCpp+ntlalaYsc669wAZFOHxitROPRoIM2zzaRbYVUC0XCA04hEvw2mI8jH4mTzg==","signatures":[{"sig":"MEYCIQCwY9VijCIA44xxUrFcEE7peqoSsH7vBii3ih6Lhh+DLAIhAJeoEPI3xuWHhEOEoKfEMg9iEDaLQhnJf6wMqdfCtADQ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494540},"main":"dist/renkon-core.js","type":"module","gitHead":"471ea4eddd90efd75e7ca82ecd16e74b97eb5cc4","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.7_1757552380361_0.8566942440952643","host":"s3://npm-registry-packages-npm-production"}},"0.9.8":{"name":"renkon-core","version":"0.9.8","license":"MIT","_id":"renkon-core@0.9.8","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"f886cc0b52c2660388cedcf1a3927f3a165ef475","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.8.tgz","fileCount":4,"integrity":"sha512-7pPrhDn17IaJn+wAndnCNbRwusBqDIt0/gpZ/rkCAWJ5GyGTuwn+jchT3Ce1QvvF+XTl2yrJyNoLABJia8CEmw==","signatures":[{"sig":"MEUCIQCxVLlhzeEtz0NzLdY6DqpOqjUu1nrj64clg1v+K40LiwIgKaeu/aPVSAFIDSh1z4ukzGHqCDj45jeVw2msGsNrPAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494636},"main":"dist/renkon-core.js","type":"module","gitHead":"fee841b06a9d83272e6216a3968ba1bc8fc38a38","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.8_1757632890828_0.4999715214709519","host":"s3://npm-registry-packages-npm-production"}},"0.9.9":{"name":"renkon-core","version":"0.9.9","license":"MIT","_id":"renkon-core@0.9.9","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"ac34b0dec1ed40c9bb2d7b2e1db98b7c1a8f7212","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.9.9.tgz","fileCount":4,"integrity":"sha512-sWxnfwlnjKn1BRihGrJu6AiOjwHFtd69BtC7m/ncVp2VWh2DwcNr0dEpD+3BQMI483JUW2q3U8MtuYc3kRuKDQ==","signatures":[{"sig":"MEYCIQC9DrBKtHIe0F42A6wSGU3BJzScmCp11PNB64X2z5XtTQIhAKOdL1VEYKMNDoS0xo8fEC2EySmt+fB8jR/7+S1BtDQc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494689},"main":"dist/renkon-core.js","type":"module","gitHead":"cadd04582f540f1cddad93069c1885ac99d974fb","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.9.9_1758059265714_0.02922646823466568","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"renkon-core","version":"0.10.0","license":"MIT","_id":"renkon-core@0.10.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"9096b8d6e0badc4d31d93a08a4c83947e412da9f","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.10.0.tgz","fileCount":4,"integrity":"sha512-gLm5poTRt41BUS/oLBvSmS0ghuoBO9pjsOXwz+kQEF2goZ3NN7x1FANplJHsXfR57nrygxYcERhJ8L5psxLQjw==","signatures":[{"sig":"MEUCIQCQAKMXiUxu3jRE+3LZIxqvHI85kL5Th1rUkFSekqlrqQIgVMIyUd3Gd/EoMuJv9iCSCq1Cpy1xl6KS88JTbWMJ6xM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":494668},"main":"dist/renkon-core.js","type":"module","gitHead":"dba1a4b47a2e6da7914f6af8793585d0c9bdc31f","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.10.0_1758746940937_0.43041760078966096","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"renkon-core","version":"0.10.1","license":"MIT","_id":"renkon-core@0.10.1","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"18d834ffdf47c1ef3d076e4825d1683cee8f19bc","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.10.1.tgz","fileCount":4,"integrity":"sha512-LuUHvQ/gqqLsfSYbdSXzD/9/ZJ8R60aKsXaVBFT7gQKcC88C2THLth3BeiOeEkcgaCHpX3owpro8OOfjwj2plA==","signatures":[{"sig":"MEQCIAn2+1ucxTy5g8GlsDEdgWAzRMp0DlbYISQQuFZ8wKbcAiA78m1we+hdzWiRMe9iKNgO/ULR0cP0Gjdyj4Ob0ULEag==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495085},"main":"dist/renkon-core.js","type":"module","gitHead":"2471fdd758c121e6dad347a9b5de6301b7b9d508","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.10.1_1758838571366_0.7628669193038724","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"renkon-core","version":"0.10.2","license":"MIT","_id":"renkon-core@0.10.2","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"c81d8acd2076ebaa0f6e003a7670c3f0eb64caea","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.10.2.tgz","fileCount":4,"integrity":"sha512-mO+Fju/c+BjI8sBmCuZfP1q6RbB3YfbWK84zhNL7gLpLfZa9DTWFVmd5IulZimdvsFWVNFSJ0Rbv0f7blmrfJg==","signatures":[{"sig":"MEYCIQD6uYurXpD4wQ0pfd3f0Ohm7KgbKj/umu9AEky9UKab4AIhALYchBxEPr54GgY+yaORTVNNhHY9OaAjRTyog8WPTB/B","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495085},"main":"dist/renkon-core.js","type":"module","gitHead":"a8a1e87c4c60557b18e3c99cf016ce0951bb643e","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.10.2_1758838703899_0.5785600918392562","host":"s3://npm-registry-packages-npm-production"}},"0.10.3":{"name":"renkon-core","version":"0.10.3","license":"MIT","_id":"renkon-core@0.10.3","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"d233edd15493ace9cfa9001f16565843ff299417","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.10.3.tgz","fileCount":4,"integrity":"sha512-puI3JWOEquoao72oo+5kR84eTqrNW450sRtNV6+bQNtSqMH8D/z5F9qfo96rMuEl2dAgS3KmuMGZEo0QOu5ljA==","signatures":[{"sig":"MEUCIQCRcIbMl7R1fz2aL5CSAt12fCf9rJlQOx8ihTi5pTljGQIgUOP28cCFUHiqCPYxQJNWosC1EN/I/z/zRh5oqmZV9zw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495452},"main":"dist/renkon-core.js","type":"module","gitHead":"52ede4f26955cf2b9a29df9afd423fe952fd4db0","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.10.3_1759415216630_0.826438569838807","host":"s3://npm-registry-packages-npm-production"}},"0.10.4":{"name":"renkon-core","version":"0.10.4","license":"MIT","_id":"renkon-core@0.10.4","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"e109aa28f1ea97ef3f3f4648f34d215857aa702e","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.10.4.tgz","fileCount":4,"integrity":"sha512-pWegx70Lgbz1aPbe4Zdxjau0x9/KJtuenBR5S59pG6HS0FCBGg37nym4GpFdNf8i2oNKzCAOVXLS5MaIqW/JyQ==","signatures":[{"sig":"MEYCIQCXpbvuATJuivifVq2oQpfg4B+uuXdU8sY2b+VM+eut2AIhAPv9pauDdnA3QzYG0xe/9/xnZigfwN/g4UVqrD5VaAJM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":495797},"main":"dist/renkon-core.js","type":"module","gitHead":"755ef6140d231aff626b93571186aed657ccb479","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.10.4_1759957531387_0.5520261243660418","host":"s3://npm-registry-packages-npm-production"}},"0.10.5":{"name":"renkon-core","version":"0.10.5","license":"MIT","_id":"renkon-core@0.10.5","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"3fa1d16eeb280b34e0c2de4e870a24b9d8fa1453","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.10.5.tgz","fileCount":4,"integrity":"sha512-1+5MaE64DHWt9Z1mtapY+Ve1sBMqKU9oXX16jRV4Jrw+bjqHe/PpUCASCOFIdG0OEx6G9R8Eoch0mgiSeAGnqw==","signatures":[{"sig":"MEYCIQDaxAMWfjam0ARAyhIhIkkvd7d0tFTFsonGOjZAB1cwcQIhAIeHqqtSDzIl6XFMUzjG1kVWZMVD6BSs5xBZ/DhdSF9c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497767},"main":"dist/renkon-core.js","type":"module","gitHead":"6878ad0bd988f1e03858f88ecaaf2e0bbe073904","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.10.5_1761264950783_0.5156445944343042","host":"s3://npm-registry-packages-npm-production"}},"0.10.6":{"name":"renkon-core","version":"0.10.6","license":"MIT","_id":"renkon-core@0.10.6","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"6a8b0437cca10b4dbb06b346c78ba5acd06d8f97","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.10.6.tgz","fileCount":4,"integrity":"sha512-WmWx3VMGDhOqgeGo+XIWQhU9Zqi+TUqC0a8pq2nH5qVlOwfjVu2DB8zJyrjrZmt7HPw+b5llS2adkKau6F7VVA==","signatures":[{"sig":"MEYCIQDJ74RhfsABCOtBZ+pgIfQzCsSVAfCDIxa7KkFjn7lfUgIhALN/q+2eMugfTALpbjUrp09dIySl+O5MrcxBkF1wtEPv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497814},"main":"dist/renkon-core.js","type":"module","gitHead":"a0f60dde03f198613a1e8cc876830a62d0616938","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.10.6_1765934113298_0.06857117215443442","host":"s3://npm-registry-packages-npm-production"}},"0.10.7":{"name":"renkon-core","version":"0.10.7","license":"MIT","_id":"renkon-core@0.10.7","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"7a317546724d513cd7b3b7a50cd6f3436d0ed95d","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.10.7.tgz","fileCount":4,"integrity":"sha512-wkWUydVlOt3qY8CoNA5tAr1dsGqOV2BFKFw4/C1Pbf0vUPLyKbdnVV/FUm1OHwbrZVs1RXpxRnGmX3DX8ldhTg==","signatures":[{"sig":"MEUCIQCK1HNPAYORDPSxhYvfVLydggkoqQ15qsO7Z8w/+a+s7gIgOX1wfAkc5W3LSKQX1kmg3KqhbNeS+zVVBiuSdhDnbAk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497751},"main":"dist/renkon-core.js","type":"module","gitHead":"65dd8ba488abf8f73903097c228746d61e972dcf","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.10.7_1767072626068_0.09381041688439984","host":"s3://npm-registry-packages-npm-production"}},"0.10.8":{"name":"renkon-core","version":"0.10.8","license":"MIT","_id":"renkon-core@0.10.8","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"1f807fe441a11aedc91b68d77eb1116d18df5347","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.10.8.tgz","fileCount":4,"integrity":"sha512-BW8+qQ+xcN04Zeqb0nwtJR7grAmeuQ9ZRgTCR+I9QUoYSt8YgGDdB3n+xVR78aRh2B1LgE3ya9E48Sy9y7USAg==","signatures":[{"sig":"MEQCIA0309PnpAPSctXchqHtP7eq08NZhyGoIrvlSALD4wkyAiAjjvjxVIFPEH34r2+DCs2kkOwuyftZrCWR1U4hk7i/aA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":497960},"main":"dist/renkon-core.js","type":"module","gitHead":"b36189530ca4cd724dfa9e3fea639e9dbc18d0c3","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.10.8_1775594133862_0.9434212314401944","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"renkon-core","version":"0.11.0","license":"MIT","_id":"renkon-core@0.11.0","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"0bd0a3dc7683052d2a55fb3933a9e93e8af24f74","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.11.0.tgz","fileCount":5,"integrity":"sha512-Gkh2Yzbk2zZHzTRfAdqXCS2rtIH0MdDcw75btnLSuqa+/Mm1Ng4yRHEuoi5Q5Io8zUQsXgRMKUGIrQrUEhx7Rg==","signatures":[{"sig":"MEYCIQDmwJQyXkSl9129ALbiM9sc+7NLsaQWayibq1KlRWaUUAIhANn8GXLtaF+Do0LhCJ6lK2oMJe5wtvPYbwlXRGoNBv8s","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":512969},"main":"dist/renkon-core.js","type":"module","types":"./dist/renkon-core.d.ts","gitHead":"6cb9c1ef5385f827cab3ffa9887f04cb95872cc7","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"10.9.2","description":"## Introduction","directories":{},"_nodeVersion":"23.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^5.2.0","npm-run-all":"^4.1.5","vite-plugin-dts":"^5.0.3","@microsoft/api-extractor":"^7.58.10","@typescript-eslint/parser":"^7.11.0","@typescript-eslint/eslint-plugin":"^7.11.0"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.11.0_1784229656282_0.0763160529156599","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"renkon-core","version":"0.11.1","license":"MIT","_id":"renkon-core@0.11.1","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"dist":{"shasum":"8f7a9faf500b0a498d49ac2b6f05e848b88620da","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.11.1.tgz","fileCount":5,"integrity":"sha512-zSUzvGwl+6Eza+zQURBp+YH9/zzvURwDECuT84swScJmmNl7JZ9dv2O9aP8f5qemqHykTOpWDbh7jiP8KcHPzg==","signatures":[{"sig":"MEQCIEFzs4Q3v5QpgsvFYE1V6h+E0tLbbH+zYOQ4md7dJ7njAiBOzLR9aGpYPgPA0Ge3dWcpfVqH01Q8sqVGhg+SUwh+Wg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":515629},"main":"dist/renkon-core.js","type":"module","types":"./dist/renkon-core.d.ts","gitHead":"c084524be531dfb0161fb89b981cc4e762978575","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"11.19.0","description":"Renkon is an FRP (Functional Reactive Programming) evaluator for building web and Node.js applications. A program in Renkon consists of a set of reactive nodes. Each node reacts to input changes and produces an output. In turn, other nodes that depend on ","directories":{},"_nodeVersion":"26.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","vite":"^5.2.0","eslint":"^9.39.5","globals":"^17.11.0","@eslint/js":"^9.39.5","npm-run-all":"^4.1.5","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.68.0","@microsoft/api-extractor":"^7.58.10"},"_npmOperationalInternal":{"tmp":"tmp/renkon-core_0.11.1_1788228500590_0.3475577459370214","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"_id":"renkon-core@0.11.2","dist":{"shasum":"d42a5ee6be5ace7ef56706e3c016fceb2bee0c38","tarball":"https://registry.npmjs.org/renkon-core/-/renkon-core-0.11.2.tgz","fileCount":5,"integrity":"sha512-4KRXbqsOUMaBaDTXpoTACLrmRc1qNO+Kp5z81L0nXa7IRI6NtcI2p84CoSr/t8rWZw6J8mF8tgwiSNfncENrYw==","signatures":[{"sig":"MEUCIQDeJnN14++efKX8Wy5mSyCTm5yce/m51cTsmlmfKD/xAgIgVlQkWcZPPnyAM0DPNfZCygpZ6TtLHTZwoJmTY9sXA3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDIZSqMMTh1TBIljA5GvWcsqGVHO4uOd+5eECbx3/vDtwIhAK923aXXmsKI+EtuvOBjkKMUx8ew9ob4+Ou0BbsJH6Od"}],"unpackedSize":518519},"main":"dist/renkon-core.js","name":"renkon-core","type":"module","types":"./dist/renkon-core.d.ts","gitHead":"e9a51af3f142b1c382e12757d16c7c5f8b944387","license":"MIT","scripts":{"vite":"vite","build":"vite build","prepublish":"npm run build"},"version":"0.11.2","_npmUser":{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"},"_npmVersion":"11.19.0","description":"Renkon is an FRP (Functional Reactive Programming) evaluator for building web and Node.js applications. A program in Renkon consists of a set of reactive nodes. Each node reacts to input changes and produces an output. In turn, other nodes that depend on ","directories":{},"maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"_nodeVersion":"26.7.0","dependencies":{"acorn":"^8.11.3","acorn-jsx":"^5.3.2","acorn-walk":"^8.3.2","acorn-typescript":"^1.4.13"},"_hasShrinkwrap":false,"devDependencies":{"jiti":"^2.7.0","vite":"^5.2.0","eslint":"^9.39.5","globals":"^17.11.0","@eslint/js":"^9.39.5","npm-run-all":"^4.1.5","vite-plugin-dts":"^5.0.3","typescript-eslint":"^8.68.0","@microsoft/api-extractor":"^7.58.10"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/renkon-core_0.11.2_1789452417968_0.1550347724275294"}}},"time":{"created":"2024-12-05T20:28:06.578Z","modified":"2026-09-15T06:06:58.233Z","0.1.9":"2024-12-05T20:28:07.269Z","0.2.0":"2025-01-03T23:39:10.063Z","0.2.1":"2025-01-24T20:37:20.620Z","0.2.2":"2025-02-04T01:47:33.387Z","0.2.3":"2025-02-04T01:49:31.442Z","0.2.4":"2025-02-07T00:32:22.212Z","0.2.5":"2025-02-10T20:15:19.369Z","0.2.6":"2025-02-10T23:11:11.694Z","0.2.7":"2025-02-20T22:53:17.092Z","0.2.8":"2025-02-21T00:12:37.066Z","0.2.9":"2025-02-21T00:24:43.568Z","0.2.10":"2025-02-26T19:16:41.716Z","0.2.11":"2025-02-28T00:33:27.116Z","0.2.12":"2025-02-28T00:38:12.724Z","0.3.0":"2025-03-04T20:25:26.433Z","0.3.1":"2025-03-04T20:50:00.574Z","0.3.2":"2025-03-04T21:23:34.990Z","0.3.3":"2025-03-04T21:51:40.688Z","0.3.4":"2025-03-04T22:00:22.219Z","0.3.5":"2025-03-05T03:33:05.934Z","0.3.6":"2025-03-07T21:26:48.231Z","0.3.7":"2025-03-10T18:06:55.645Z","0.3.8":"2025-03-11T01:07:00.789Z","0.4.0":"2025-03-12T18:29:40.188Z","0.5.0":"2025-03-14T21:15:23.586Z","0.5.1":"2025-03-14T23:45:33.736Z","0.5.2":"2025-03-14T23:51:11.058Z","0.5.3":"2025-03-18T01:45:00.505Z","0.5.4":"2025-03-18T04:11:57.936Z","0.5.5":"2025-03-18T23:46:04.884Z","0.5.6":"2025-03-19T21:17:42.606Z","0.5.7":"2025-03-19T23:25:32.634Z","0.5.8":"2025-03-19T23:42:23.989Z","0.6.0":"2025-03-27T18:58:35.355Z","0.6.1":"2025-03-28T23:16:54.770Z","0.6.2":"2025-03-31T21:01:20.899Z","0.6.3":"2025-04-03T20:20:42.727Z","0.6.4":"2025-04-05T00:41:25.294Z","0.7.0":"2025-04-22T01:00:39.889Z","0.7.1":"2025-04-22T17:41:57.406Z","0.7.2":"2025-04-24T20:17:57.382Z","0.7.3":"2025-04-25T00:46:18.174Z","0.7.4":"2025-04-29T23:34:42.619Z","0.7.5":"2025-05-01T23:46:23.803Z","0.7.6":"2025-05-15T23:11:15.663Z","0.7.7":"2025-05-16T18:27:51.039Z","0.7.8":"2025-05-22T23:54:51.175Z","0.7.9":"2025-05-31T17:55:10.701Z","0.7.10":"2025-06-12T16:50:55.390Z","0.7.11":"2025-06-13T22:48:23.165Z","0.8.0":"2025-06-20T00:28:11.209Z","0.8.2":"2025-06-23T20:12:58.096Z","0.8.4":"2025-06-24T18:13:03.796Z","0.8.5":"2025-07-03T21:02:12.618Z","0.8.6":"2025-07-03T22:10:33.894Z","0.8.7":"2025-07-08T20:06:17.306Z","0.8.8":"2025-07-10T23:35:32.260Z","0.8.11":"2025-07-25T23:28:32.199Z","0.9.0":"2025-08-06T21:52:07.230Z","0.9.1":"2025-08-06T22:05:52.153Z","0.9.2":"2025-08-08T02:21:20.534Z","0.9.3":"2025-08-12T23:01:30.756Z","0.9.4":"2025-08-17T04:04:18.843Z","0.9.5":"2025-08-22T22:36:49.588Z","0.9.6":"2025-09-11T00:58:55.663Z","0.9.7":"2025-09-11T00:59:40.584Z","0.9.8":"2025-09-11T23:21:31.068Z","0.9.9":"2025-09-16T21:47:45.892Z","0.10.0":"2025-09-24T20:49:01.152Z","0.10.1":"2025-09-25T22:16:11.578Z","0.10.2":"2025-09-25T22:18:24.151Z","0.10.3":"2025-10-02T14:26:56.814Z","0.10.4":"2025-10-08T21:05:31.604Z","0.10.5":"2025-10-24T00:15:50.974Z","0.10.6":"2025-12-17T01:15:13.463Z","0.10.7":"2025-12-30T05:30:26.266Z","0.10.8":"2026-04-07T20:35:34.030Z","0.11.0":"2026-07-16T19:20:56.419Z","0.11.1":"2026-09-01T02:08:20.767Z","0.11.2":"2026-09-15T06:06:58.049Z"},"license":"MIT","description":"Renkon is an FRP (Functional Reactive Programming) evaluator for building web and Node.js applications. A program in Renkon consists of a set of reactive nodes. Each node reacts to input changes and produces an output. In turn, other nodes that depend on ","maintainers":[{"name":"yoshikiohshima","email":"Yoshiki.Ohshima@acm.org"}],"readme":"# Renkon-Core: An FRP evaluator\n\n## Introduction\n\nRenkon is an FRP (Functional Reactive Programming) evaluator for\nbuilding web and Node.js applications. A program in Renkon consists of a set of\nreactive nodes. Each node reacts to input changes and produces an\noutput. In turn, other nodes that depend on the output value\nreact to it. In other words, the program nodes form an acyclic\ndependency graph, and changes propagate through it. FRP has an explicit\nnotion of logical time. This means that a node is evaluated at most\nonce at a logical time, even if there are multiple inputs for the\nnode, and computation takes zero logical time.\n\nRenkon stands out from other reactive web UI frameworks in three ways:\n\n- Native Promises and Generators in JavaScript are integrated cleanly.\n- Following the original FRP, values are distinguished whether it is on the continuous time domain or discrete time domain..\n- The definition of reactive nodes can be edited dynamically, even from within the environment itself.\n\nThis results in a very simple yet powerful framework:\n\n- Asynchronous actions and state updates are nicely integrated.\n- No need to manually create reactive state objects.\n- Existing libraries, such as interfaces to an LLM, can be directly used.\n- Quickly explore by modifying code in the live environment.\n\nThe execution model is a good match for a program represented in a\nnode and wire dataflow diagram. Check out a graphical\nprogramming environment called [Renkon-pad](https://yoshikiohshima.github.io/renkon-pad/).\n\nHere is a simple example code:\n\n```JavaScript\nconst mod = import(\"./foo.js\");\nconst hundred = new Promise((resolve) => setTimeout(() => resolve(100), 500));\nconst timer = Events.timer(1000);\nconsole.log(mod.ten() + hundred + timer);\n```\n\nThe first line with `import` returns a promise that resolves to a\nJavaScript module. Let us assume that it exports a function called\n`ten()` that returns a number ten (10). The node `hundred` is a\nPromise that resolves to 100 after 500ms. `timer` is an event that\nproduces a new value every 1000ms. The last line with the\n`console.log()` depends on three nodes (`mod`, `hundred`, and\n`timer`), and when all of these nodes have values, the `console.log`\nfunction is executed, and you see an output in the console. After\n`mod` and `hundred` have resolved, the `console.log()` line is\nreevaluated at each time `timer` updates, . Consequently, you'd see a\nnew `console.log` output added to a sequence like `1110`, `2110`,\n`3110`...\n\nRenkon's surface syntax is a subset of JavaScript and TypeScript; most\nJavaScript syntax is also valid Renkon syntax. The Renkon transpiler\ntakes the expression and creates a JavaScript expression that\nevaluates to an internal Renkon node data structure. A program editor\nthat supports syntax and type checking can be used to detect simple\nerrors earlier.\n\nThe Renkon transpiler analyzes the definition of a node and notes all\nexternal variable references as dependencies. The transpiler works on\neach node in isolation; a node is completely unaware of what an\nexternal reference points to at transpilation time. In other words,\nthe nodes are loosely coupled.\n\nThe evaluator topologically sorts the list of nodes based on the\ndependency graph. To compute the new state of all nodes, the evaluator\nwalks through the nodes in the list and evaluates them as necessary.\n\nThere is a paper presented at the Programming Experience 25 workshop. For more details, please refer to the [paper](https://tinlizzie.org/IADocs/px25-ohshima.pdf).\n\nBecause the semantics is clean and syntax is conducive to program transformation, there is a program transformation that can convert a single-user Renkon program into a multi-user one. Please refer to another [paper](https://tinlizzie.org/IADocs/onward26-ohshima.pdf).\n\n## Getting Started\n\nThere are a few ways to start writing a Renkon program.\n\n- If you prefer a visual development environment, [Renkon-pad](https://yoshikiohshima.github.io/renkon-pad/).\n- If you want to write a web program textually and in TypeScript, you can install renkon-core and also `vite` for bundling:\n\n`npm install renkon-core`\n\nand create `index.html` that looks like:\n\n```HTML\n<!DOCTYPE html>\n<html>\n  <head>\n    <meta charset=\"utf-8\"> \n  </head>\n  <body>\n    <script type=\"module\">\n        import {ProgramState} from \"renkon-core\";\n        const programState = new ProgramState(Date.now());\n        const mod = programState.loadTS(\"program.ts\");\n        mod.then((loaded) => {\n          programState.merge(loaded.program);\n          programState.start();\n        });\n    </script>\n  </body>\n</html>\n```\n\nIf you use vite, you create a file called `program.ts` in the `public` directory that follows the program structure described in the `merge` section below.\n\n```TypeScript\ntype obj = {value:number};\nimport {Events, Behaviors} from \"./renkon-core\";\n\nexport function program() {\n    const a:obj = {value: 1};\n    const b:number = Events.timer(100);\n    const c:obj = {value: a.value + b};\n    console.log(c);\n    return {};\n}\n```\n\nYou can copy `renkon-core.d.ts` to your public directory or somewhere else to tell the typechecker to use types such as `Events` and `Behaviors`.  Not that your `program.ts` is not going to be bundled by `vite` but loaded by Renkon dynamically and transpiled. So import in the above is purely for type checking. You cannot import other libraries and use it from your Renkon program in that way: you need to use a dynamic `import` expression.\n\nYou can totally avoid bundling or TypeScript. All you have to is to copy `renkon-core.js` (and possibly `renkon-core.d.ts`) from the `node_modules` directory to thedirectory your program lives. `index.html` above will import `./renkon-core.js` instead of `renkon-core`. In that case, you do not need any bundler. Just run a simple static server and load `index.html`.\n\n## FRP in Nutshell\n\nFunctional Reactive Programming is a clean way to describe a program\nbased on the dataflow model. There are two notable characteristics of FRP.\nOne is the model of program values based on the\nfunction on logical time domain. The other is the separation between\n\"events\" that only exist at certain moments on the time domain and\n\"behaviors\" that exist continuously on the time domain. As you use\nRenkon and read this document, you will see the benefits of these\nconcepts.\n\nWhen you construct an application in FRP, you think of the application\nstate as a set of \"nodes,\" and each node's value is a function of time\n<i>t</i>. A node is a function that uses values from other nodes and\ncomputes its value. In other words, a node depends on other nodes, and\nthe dependency relationship forms a graph. When an node changes\nits value due to an external event occurring at time _t_, the changes are\npropagated through the dependency graph. The result is that the\napplication state is computed consistently for logical time _t_. When\na set of nodes compute the values the computation is done at the same\nlogical time, regardless of how much CPU time they actually use.  This\nnotion is sometimes called \"synchronous,\" in the sense that all\ncomputation takes exactly 0 time.\n\nAs described above, an event is a function that has a value only at\ncertain instants on the timeline. What is the value of an event when\nthere is no value in Renkon? Renkon is based on JavaScript, and\nJavaScript conveniently has `undefined` and `null`. They may be\ntreated interchangeably in a regular JavaScript program, but Renkon\nuses `undefined` to indicate that the value does not exist at the\ntime, while `null` is used to indicate that the value does exist but\nis empty. In other words, a node won't be evaluated when one of the\ndependencies is `undefined`.\n\n## Renkon-Core, Renkon-Web and Renkon-Node\n\nThe evaluator of Renkon is written in JavaScript (TypeScript), and it\nindependent from Web-based or Node-based execution\nenviornment. [Renkon-Web](https://github.com/yoshikiohshima/renkon-web)\nis the web-based environment with in-world code\neditor. [Renkon-Node](https://github.com/yoshikiohshima/renkon-node)\nis the Node.js based environment that can load a program from a file.\n\nRefer to the README of each of those for their specifics, including how to set up your program.\n\n## Renkon by Examples\n\nLet us describe some more building blocks of Renkon. These are called\n\"combinators,\" which combine other FRP nodes to do more things.\n\nThe examples below assumes the web-based environment, where the browser built-in features such as `document.querySelector()` is available.\n\n```JavaScript\nconst collection = Behaviors.collect([], Events.or(button, timer), (current, value) => {\n    if (typeof value === \"number\") {\n         return [...current, value];\n    }\n    return [];\n});\nconst timer = Events.timer(1000);\nconst button = Events.listener(document.querySelector(\"#myButton\"), \"click\", evt => evt);\nconsole.log(collection);\n```\n\nIn the example above, `Events.or()` is a combinator that produces a\nnew value when one of the arguments, in this case, `button` or\n`timer`, gets a value. `Behaviors.collect` is a combinator that starts\nfrom the initial value specified as the first argument, in this case\n`[]`. The combinator uses the second argument, in this case\n`Events.or(button, timer)` as the trigger. When the trigger gets a\nvalue, the value of the combinator is computed by applying the updater\nfunction as the third argument to the current value, and the value\nfrom the trigger, and the value returned from it becomes the new\nvalue. (In other languages, the combinator may be called `followed by`\nor `fby`; it is an initial value followed by updates.)\n\nThe `button` node is created by the `Events.listener` call. It adds a\nDOM event listener (in this case, `click`) to the button named\n`myButton`.\n\nBecause the `Event.or` combinator \"forwards\" the value from one of the\narguments, the `value` argument for the updater is either a DOM click\nevent coming from the button click or a number coming from\n`timer`. The body of the updater checks the type of `value`, and if it\nis a number, it appends the value to the collection. If not, it resets\n`collection` to an empty array. In effect, the collection gets a new\nelement each second but resets when the user presses the button.\n\nIt is cumbersome to write the test of incoming value in `collect`. There is a variation called `select` that can take a pair of the triggering event and reducer function as variable-length arguments. The above `collection` node can be written as:\n\n```JavaScript\nconst collection = Behaviors.select([], button (current, value) => [], timer, (current, value) => {\n  return [...current, value];\n});\n```\n\nThere are two pairs. One is for the button trigger and its reaction, and another is `timer` trigger and its reaction.\n\nSome combinators have both the \"Event\" variant and \"Behavior\" variant,\ndepending on whether the value should be available only at the instant\nor kept until it changes again. In the example above, `collect` and\n`timer` have both variants, but `Events.or` does not have a Behavior\ncounterpart. (... at the moment at least; it could be a kind of select operation\nthat keeps the last value from whichever argument). In general,\nanything that is used as a kind of \"trigger\" should be an event, whose\nvalue is cleared after the event's time t. In the above example,\n`Behaviors.collect` can be changed to `Events.collect`, and the\nprogram would produce the same sequence of output in the developer\nconsole, as the collection value is computed and the console.log line\nthat depends on the collection is executed at time t. But if you want\nto use the array in other parts of the program at a later time, it\nshould be a behavior that keeps the value.\n\nA constant value is treated as a behavior, meaning that it is a\nfunction that always returns the same value:\n\n```JavaScript\nconst a = 3;\nconst b = a + 4;\n```\n\nIn the program above, `a` is a behavior that is always 3, and `b` is also a behavior that is always 7.\n\nA Promise is treated as something resolves to a value treated as\nBehavior.This means that the value of the node is `undefined` until\nthe Promise resolves, and then the resolved value is available later on.\n\nA Generator typically generates values repeatedly over time, and each\nresult is treated as an event. Imagine that there is a JS library\nnamed \"llama\" that returns a word from an LLM at a time. In the\nfollowing code, `llama.llama()` returns an async generator. We have a\ncombinator called `Events.next` that gets a new value when the\ngenerator produces it.\n\n```JavaScript\n...\nconst gen = llama.llama(enter, {...config.params}, config);\nconst v = Events.next(gen);\n\nconst log = Behaviors.collect([], v, (a, b) => {\n    if (b.done) return [...a, b.value];\n    return a;\n});\n\n```\n\nThere are \"natural conversions\" between Events and Behaviors. You can\nconvert an event to a behavior by making it a \"step function\" where\nthe last value of the event becomes the current value of the behavior.\n\n\n```JavaScript\nconst anEvent = Events.timer(1000);\nconst b = Behaviors.keep(anEvent);\n```\n\nTo create an event from a behavior, we assume that the behavior's time\ndomain is discretized in the implementation, and make an event that\nfires when the value of the behavior changes.\n\n```JavaScript\nconst aBehavior = Behaviors.timer(1000);\nconst e = Events.change(aBehavior);\n```\n\n## Creating DOM Elements as Values.\n\nRenkon is agnostic to the display and DOM manipulation mechanism. For\nexample, one can write this on a page that has a `div` called\n\"output,\" and its text content updates every second:\n\n```JavaScript\nconst timer = Events.timer(1000);\ndocument.querySelector(\"#output\").textContent = `${timer}`;\n```\n\nBut this way of assigning a value quickly becomes unwieldy.\n\nOne can use the HTM library (Hyperscript Tagged Markup) from the\nPreact community. HTM is like JSX used by React and other frameworks,\nbut it instead uses JavaScript's built-in \"tagged templates\" feature\nto construct virtual DOM elements. It can \"render\" virtual DOM\nelements as actual DOM elements. HTM is a great match with a reactive\nframework, as the virtual DOM elements themselves can be used as\nvalues within the framework. In other words, instead of writing code\nthat \"does\" something on a DOM element to make it so, you write code\nto produce a value that says the DOM should \"be\" like this. If you\nhave the `collection` in the example above, you can make a list of\n`span`s for each element and \"render\" them:\n\n```JavaScript\nconst {html, render} = import('https://unpkg.com/htm/preact/standalone.module.js');\n\nconst dom = html`<div class=\"foo\">${collection.map((word) => html`<span>${word}</span>`)}</div>`;\nrender(dom, document.querySelector(\"#output\"));\n\n```\n\nYes, Renkon being agnostic of the display mechanism means that you can\nload HTM dynamically from your program and use it.\n\nThe `dom` behavior is computed whenever `collection` changes, and the\n`render` function is invoked as its dependency, `dom`, is updated.\n\n## Breaking out a Cyclic Dependency\n\nFRP has a strong notion that an event or a behavior has at most one\nvalue at a given time _t_. If your program has a cyclic dependency, for example:\n\n\n```JavaScript\nconst a = b + 1;\nconst b = a + 1;\n```\n\nthen the system cannot compute a consistent result for time _t_. This program is invalid.\n\nHowever, this restriction is too strong in many practical use\ncases. Let us say that you want to create the reset button in the\nabove example from your program dynamically, but only when there is a certain number of\nelements. This means that the dynamically created button depends on\nthe value of `collection`, but `collection` depends on the output from\nthe `button`. This is circular.\n\nThere are two ways to break such typical cyclic dependencies. One\nis called \"send/receive.\" A `send` combinator can request a \"future\"\nupdate on the receiver:\n\n\n```JavaScript\n...\n\nconst reset = Events.receiver();\nconst resetter = (evt) => Events.send(reset, \"reset\");\nconst timer = Events.timer(1000);\nconst collection = Behaviors.collect([], Events.or(reset, timer), (current, value) => {\n    if (typeof value === \"number\") {\n        return [...current, value];\n    }\n    if (value === \"reset\") {return [];}\n})\n\nconst buttonHTM = ((collection) => {\n   if (collection.length > 5) {\n       return html`<button onClick=${resetter}>reset</button>`\n   }\n   return html`<div></div>`;\n})(collection);\n\nrender(buttonHTM, document.querySelector(\"#buttonHolder\"));\n```\n\nIn this example, the `reset` node created by `Events.receiver()` gets a value in the \"next\nevaluation cycle\" when the `Events.send` combinator is invoked. The\n`resetter` is a vanilla JS function, so it can be attached to the HTM\nvirtual DOM as an event handler (`onClick`). The `buttonHTM` is either\na button virtual DOM or an empty `div`.\n\nAnother way to accommodate cyclic dependency is to use the\n\"$-variable\" specification. Let us say that we want to use the HTML's\n`AbortController`, which is used to stop a `fetch` request in the\nmiddle. Because an LLM typically generates output words one at a time,\na `fetch` call typically uses the `Connection: \"keep-alive\"` mode. The\nlong running request can be aborted when the AbortController\nsignals. The following is code taken from the popular llama.cpp client\ncode:\n\n```JavaScript\nconst response = fetch(config.url, {\n    method: 'POST',\n    body: JSON.stringify(completionParams),\n    headers: {\n        'Connection': 'keep-alive',\n        'Content-Type': 'application/json',\n        'Accept': 'text/event-stream',\n    },\n    signal: abortController.signal,\n});\n```\n\nNotice that the `headers` property has `'Connection': 'keep-alive'`\nand the `signal` property uses an AbortController.\n\nA chat interface would call this code multiple times, but a new\n`AbortController` needs to be created for each call. Let us say that\nupon the completion of the request, an array called `responses` that\nholds onto the all responses from the LLM gets a new element at the\nend. In this setting, `responses` depends on the `abortController`\nbecause the `fetch` call that uses the `abortController` updates\nit. At the same time, the `abortController` depends on `responses` as\nthe `abortController` node needs to get a new value upon the\ncompletion of a request.\n\n```JavaScript\nconst abortController = Behaviors.collect(\n    new AbortController(),\n    Events.change($responses),\n    (old, _new) => {\n        old.abort(); \n        return new AbortController();\n    });\n\nconst responses = Behaviors.collect([], result, (chunks, resp) => {\n    if (resp.done) return [...chunks, resp.value];\n    return chunks;\n});\n\n```\n\nThe trigger for the `abortController` node is\n`Events.change($responses)`. The dollar sign (\"$\") means that the trigger\ndepends on the value of `responses` in previous evaluation cycle. You could\nimagine that in a programming language that allows a \"prime\" (') in a\nvariable name, it would be written as `response'`. The\n`Events.change` combinator fires when there is a change in\n`responses`, effectively when responses gets a new element.\n\nFor `responses`, the `result` trigger is the result from a generator\nthat includes the sentence from the generator. Its `done` property\nindicates whether the generator has exited or not. if `done` is true,\nit means the request is completed, so the responses array gets\nupdated. The `return chunks` part means that the fetch call is still\nongoing, so `chunks` simply returns the current value.\n\nYou can think that `collect` is the third way to break cyclic\ndependency; the node depends on itself, but the updater uses its own\nvalue as the \"previous\" value, and with the current input at time _t_,\nit produces a value for time _t_.\n\n## Live Editing\n\nThe language explained above is conducive to live editing. A good use\nof it is the Renkon-pad application.  See [Renkon-pad](ttps://yoshikiohshima.github.io/renkon-pad) and [Its repository](https://github.com/yoshikiohshima/renkon-pad) for more information.\n\n### Propagating the type of Event and Behavior\n\nThe type of a reactive expression, either an Event or a Behavior, is\ndetermined by its dependencies. The rule is that if any of the\ndependency is an event, the expression is an event. For example\nconsider the following program with four nodes:\n\n```TypeScript\nconst timer1 = Events.timer(1000);\nconst timer2 = Behaviors.timer(2000);\nconst exp = timer1 + timer2;\ncosole.log(exp);\n```\n\nThe node bound to `exp` is an Event because one of its dependencies,\ntimer1, is an Event. Note that the `console.log(exp)` lines gets\nexecuted for each 1000 milliseconds, because the value of `timer2` is\navailable on the continuous timer domain.\n\nIf you change the first line to a Behavior:\n\n```TypeScript\nconst timer1 = Behaviors.timer(1000);\nconst timer2 = Behaviors.timer(2000);\nconst exp = timer1 + timer2;\ncosole.log(exp);\n```\n\nthen all four nodes are behaviors.\n\n## Node Definition with a JavaScript Function}\n\nThe definition of a node may need local variables or JavaScript control structures.\nIn that case, one can use a JavaScript function and ``immediately evaluate'' it.\nFor example, the following `count` node gets a value when the `collection` node's value is updated,\nas the `collection` reference is a free variable.\nThat triggers the evaluation of the function, and the value returned as `return result` becomes the value of `count`.\n\n\\begin{Verbatim}[numbers=left,frame=single,fontsize=\\small]\nconst count = ((collection, testFunc) => {\n   let result = 0;\n   for (const elem of collection) {\n     if (testFunc(elem)) result++;\n   }\n   return result;\n})(collection, (x) => x > 0);\n\\end{Verbatim}\n\nThe body of the function contains a reassignment to a variable\n(`result`) and a `for` loop.\n\nThe same rule, which says that a free variable make an expression reactive, applies to arrow functions. Namely, if there is a free variable in an arrow function, the function body is updated. From the version 0.9.1, however, a function defined with the `function` keyword is treated differently from an rrow function. Specifically, the body of a function with `function` won't be examined to make it reactive. Such a function is used to define a component function (see below).\n\n## Combinators\n\nThere are numbers of combinators that can be used to combine other FRP nodes.\n\n### Events.listener\n\n```TypeScript\nEvents.listener(dom: HTMLElement|string, eventName:string,\n                                 handler: (evt:any) => void, options?:any)\n```\n\n`Events.listener` creates an event node that fires when a specified DOM event occurs. The first argument can be a string; in that case, the element found with `querySelector` is used.\n\n### Events.delay\n\n```TypeScript\nEvents.delay(node, delay: number)\n```\n\nThe event specified in the first argument will trigger `delay` logical milliseconds later. The first argument can be either a behavior or an event; if it is a behavior, the `change` will be delayed with this combinator.\n\n### Events.calm\n\n```TypeScript\nEvents.calm(node, interval: number)\n```\n\nThis combinator fires at most every interval milliseconds. The last event that occurs within the interval will fire after the interval.\n\n### Events.timer\n\n```TypeScript\nEvents.timer(interval: number, toggle?:boolean = true)\n```\nThis creates a node that fires at the specified interval in logical time. The value is a multiple of the interval.\n\nThe toggle boolean turn on and off the event stream. Note that the toggle needs to have a behavior typically, as the value have to exist when the timer may fire.\n\n### Events.change\n\n```TypeScript\nEvents.change(value:Behavior)\n```\nThis converts a behavior to an event. When the value chagnes in the behavior, the event fires.\n\n### Events.once\n\n```TypeScript\nEvents.once(value:any)\n```\nThis fires only once when the value (a Behavior including constant, or an Event) is available.\n\n### Events.or\n\n```TypeScript\nEvents.or(...values:Events|Behaviors)\n```\nThis event fires when one of the dependencies fires. If two or more dependencies fire at the same logical time, the implementatio chooses the left-most one. The value of the event is the value of the dependency that fired.\n\nA value in the argument list can be an Event or a Behavior, including JavaScript expressions that are reactive. When a behavior is specified, you can consider that the expression is automatically wrapped in `Events.change`.\n\n### Events.some\n\n```TypeScript\nEvents.some(...values:Events|Behavior):Array<any>\n```\nThis event is similar to `Events.or` and fires when one of the dependencies fires. It returns an array with the input values for this combinator, regardless whether they are `undefined` or not.\n\nA value in the argument list can be an Event or a Behavior, including JavaScript expressions that are reactive. When a behavior is specified, you can consider that the expression is automatically wrapped in `Events.change`.\n\n### Events.collect\n\n```TypeScript\nEvents.collect<I, T>(init:I, event:Event, updater: (c: I, v:T) => I)\n```\nThis event fires when the event argument fires. the previous value, starting from the init and the new value of the event is passed to the updater function and the returned value is used as the value of the event. Because this is an event, even though the value is kept internally, the value is not available at the other logical time.\n\n### Events.select\n```TypeScript\nEvents.select<I>(init:I, ...event:Event, updater: (c: I, v:any) => I, ...)\n```\nThis behavior updates when one of the events fires. The corresponding two-argument function is called with the current value and the event's value, and the value returned becomes the node's new value.\n\nIn the current implementation, Events.select has to be a top-level node such as:\n\n```JavaScript\nconst v = Behaviors.select(0, ...);\n```\n\n### Events.observe\n\n```TypeScript\nEvents.observe(callback:ObserveCallback, options?:any)\n```\n\nThis creates an event that fires when the callback function is invoked. For example:\n\n```JavaScript\nconst inputs = Events.observe((notifier) => {\n    window.onmessage = (event) => {\n        notifier(event.data);\n    }\n    return () => window.onmessage = null;\n}, {queued: true});\n```\nThe optional argument can specify \"queued\", which returns an array of potentially a multiple values for the same logical time.\n\n### Events.resolvePart\n\n```TypeScript\nEvents.resolvePart(object:any)\n```\nThe event shallowly scan the object's properties (it may be an array or an object). If there are promises found, they are waited to resolve, and the shallow copy of the object with resolved values is used as the value of the event.\n\n### Events.next\n\n```TypeScript\nEvents.next<T>(generator:Generator<T>)\n```\nThis event takes an async generator as its argument. The event gets a new value when the promise returned from the generator resolves.\n\n```JavaScript\nconst gen = llama(aString, params, config);  // the llama function from the llamacpp \nconst value = Events.next(gen);\n```\n\n### Events.send\n\n```TypeScript\nEvents.send(receiver:ReceiverStream, value)\n```\nThis event registers an event to be inserted into the receiver at next evaluation cycle.\n\n### Behavior.keep\n\n```TypeScript\nBehaviors.keep(value:Event)\n```\nThis behavior takes an event as argument, and keeps the last value fired as its state.\n\n### Behaviors.collect\n```TypeScript\nBehaviors.collect<I, T>(init:I, event:Event, updater: (c: I, v:T) => I)\n```\nThis behavior updates when the event argument fires. the previous value, starting from the init and the new value of the event is passed to the updater function and the returned value is used as the value of the event.\n\n### Behaviors.select\n```TypeScript\nBehaviors.select<I>(init:I, ...event:Event, updater: (c: I, v:any) => I, ...)\n```\nThis behavior updates when one of the events fires. The corresponding two-argument function is called with the current value and the event's value, and the value returned becomes the node's new value.\n\nIn the current implementation, Behaviors.select has to be a top-level node such as:\n\n```JavaScript\nconst v = Behaviors.select(0, ...);\n```\n\n### Behaviors.timer\n\n```TypeScript\nBehaviors.timer(interval:number, toggle?:boolean = true)\n```\nThis creates a node that fires at the specified interval in logical time. The value is a multiple of the interval.\n\nThe toggle boolean turn on and off the event stream. Note that the toggle needs to have a behavior typically, as the value have to exist when the timer may fire.\n\n### Behaviors.calm\n\n```TypeScript\nBehaviors.calm(node, interval: number)\n```\n\nThis combinator fires at most every interval milliseconds. The last change that occurs within the interval will fire after the interval.\n\n### Behaviors.delay\n\n```TypeScript\nBehaviors.delay(stream, delay: number)\n```\nThe behavior or event specified in the first argument will become the value of the behavior after `delay` logical milliseconds. The first argument can be either a behavior or an event.\n\n### Behaviors.resolvePart\n\n```TypeScript\nEvents.resolvePart(object:any)\n```\nThe event shallowly scan the object's properties (it may be an array or an object). If there are promises found, they are waited to resolve, and the shallow copy of the object with resolved values is used as the value of the event.\n\n### Behaviors.or\n\n```TypeScript\nBehaviors.or(...values:Array<Stream>)\n```\nThis event fires when one of the dependencies has a value. The implementatio chooses the left-most one, so if there is a Behavior that always has a value at the earlier part of the argument list, the value will be always used. It is handy if some of those are events, or a Behavior where the value becomes `undefined`, then the later values will be selected.\n\n### Behaviors.gather\n```TypeScript\nBehaviors.gather(regexp:string)\n```\nThis behavior applies the regexp to the names of the existing nodes, and gather the values of them as an object, keyed by the name.  Note that the test to find matching node names is done once at `setupProgram` (or `updateProgram`) call. In other words, this node is not reactive to the `regexp` change. It is adviced to give a constant string as the regexp argument to avoid confusion.\n\n## APIs to manipulate the ProgramState object\n\nThe Renkon evaluator holds a set of Renkon FRP nodes and topologically sort them according to their dependency relationship. When an evaluation step starts, the evaluator walks through the sorted list, and evaluate them as necessary.\n\nAll runtime data structure is stored in an instance of the `ProgramState` class. The instance itself is visible as global `Renkon` variable. You can instantiate `ProgramState` and set up your program:\n\n```JavaScript\nconst state = new ProgramState(0);\nstate.setupProgram([`const a = Events.timer(100); const b = a + 10;`]);\n```\n\nThe argument for the constructor specifies the number to be used as the \"start time\".\n\nThen, you call the `evaluator()` method on the ProgramState with some arguments to run the evaluator.\n\n```\nstate.evaluator(100, {once: true});\n```\n\nThe following is a list of methods of `ProgramState`\n\n### `constructor`\n\n```TypeScrpt\nconstructor(startTime:number, app?:any);\n```\n\nThe arguments are `startTime` for the initial value for the logical time, `app` that is an any object to be stored in the `app` property.\n\n### `setupProgram`\n\n```TypeScript\nsetupProgram(scripts:string[])\n```\n\nThis method takes an array of strings that contain renkon programs. A string can contain any number of node definitions, and you can think that all strings are concatenated to form one program.\n\nIf there are duplicated definition for the same name, the latter definition is used.\n\nAlso refer to the `updateProgram()` method. `setupProgram` mutates the ProgramState and may break the on going evaluation cycle if called from the Renkon program it is running.\n\n### `updateProgram`\n\n```TypeScript\nupdateProgram(scripts:string[])\n```\n\nThis is similar to `setupProgram()` but intended to be called from the Renkon program itself. The `scripts` value is temporarily kept until the current evaluation cycle finishes, and then it is used to call `setupProgram` on the `ProgramState`. The ProgramState object keepts the array of program text in the `scripts` property, so if you want to add the definition of a node, you can call the method like this:\n\n```TypeScript\nstate.updateProgram(...state.scripts, \"const x = a + b;\")\n```\n\n### `evaluator`\n\n```TypeScript\ntype EvaluateOptions = {\n    once?:boolean;\n    noAnimationFrame?:boolean;\n    ticker?:boolean;\n}\nevaluator(now: number, options: EvaluatorOptions);\n```\n\nThe evaluator method starts the evaluation on ProgramState. The options argument specifies some variations.\n\nA common case is to call `evaluator()` with only one argument:\n\n```\nconst state = new ProgramState(Date.now();\nstate.setupProgram([`const a = Events.timer(100); const b = a + 10;`]);\nstate.evaluator(Date.now());\n```\n\nThis starts the \"self scheduling\" evaluator cycle, which means that a new time-based action will be automatically invoked when necessary. In other words, you call the `evaluator()` method once and animation and repeated timer etc. will keep running. (The first argument is not as significant, as `Date.now()` will be called for each new evaluation step.)\n\nWhen the `{once: true}` option is specified as the second argument, it prevents the self scheduling from happening but the evaluation cycle is run only once.\n\nWhen the `{ticker: true}` option is specified. It does not start the self schedule mechanism, but a `setInterval` or `requestAnimationFrame` cycle is created to trigger the `evaluate()` method repeatedly.\n\nWhen the `{noAnimationFrame: true}` option is specified, the \"ticker\" or the self scheduler uses `setInterval()` and `setTimeout()` but not `requestAnimationFrame()`. This is useful for the Node.js environment.\n\n### `evaluate`\n\n```TypeScript\nevaluate(now:number);\n```\n\nThis method triggers an evaluation step. The argument is the logical time. It updates the values of nodes as necessary, and then clears out values of Events with `undefined`.\n\nNote that if the self scheduler is enabled (which happens by default), calling `evaluate()` may result in repeated invocation of `evaluate()` when other time-based node requests them.\n\n### `registerEvent`\n\nThis method sets the value of a `Event.receiver()`. For example, let us say your program is set up like this:\n\n```JavaScript\nconst state = new ProgramState(0);\nstate.setupProgram([`const rec = Events.receiver(); console.log(rec)`]);\n```\n\nThen you can \"inject\" a value into the `rec` node by calling registerEvent from outside:\n\n```JavaScript\nstate.registerEvent(\"rec\", {text: \"hello\"});\n```\n\nand then:\n\n```JavaScript\nstate.evaluate(100);\n```\n\nwill show the result in the console, as the \"rec\" gets a value and the `console.log(rec)` will be evaluated.\n\n### `stop`\n\nThe `stop()` method stops the \"ticker\" or \"self scheduler\".\n\n### `start`\n\nThe `start()` method restart the \"ticker\" or \"self scheduler\" that has been stopped.\n\n### `findDecls`\n\n```TypeScript\ntype Decl = {code:string, start:number, end:number, decls:string[];\nfindDecls(code:string):Array<Decl>\n```\n\nThe findDecls method parses the argument as Renkon code, and returns information about the top-level Renkon node declaration in the string as array. A \"decl\" specifies the start index and the end index into the string, and decls array contains the variables defined by the string between start and end. Note that the decls may be length zero when the node is an expression statement, or more than one when it is a destructuring assignment. Also note that this method does not affect the internal state of the ProgramState, nor uses the state.\n\n### `findDecls`\n\n```TypeScript\ntype Decl = {code:string, start:number, end:number, decls:string[];\nfindDecls(code:string):Array<Decl>\n```\n\nThe findDecls method parses the argument as Renkon code, and returns information about the top-level Renkon node declaration in the string as array. A \"decl\" specifies the start index and the end index into the string, and decls array contains the variables defined by the string between start and end. Note that the decls may be length zero when the node is an expression statement, or more than one when it is a destructuring assignment. Also note that this method does not affect the internal state of the ProgramState, nor uses the state.\n\n### `findDecl`\n\n```TypeScript\nfindDecl(name:string):string|undefined;\n```\n\nThe `findDecl` method looks up the definition of a node from the ProgramState.  It takes the name of a node to find the node definition from the ProgramState.\n\n### `merge`\n\n```TypeScript\nmerge(...funcs:Function[])\n```\n\nThis method takes a set of node definitions from a function definition, and effectively appends the node definitions to exsting `scripts`.\n\nThe function has to have the structure that looks like:\n\n```JavaScript\nfunction component1({a, b}) {\n    const c = a + 42;\n    const d = b + Events.timer(100);\n    const {h} = import(\"../preact.standalone.module.js\");\n    const html = h(\"div\", {color: \"#d22\"}, c, d);\n    return {html};\n}\n```\n\nwhere the function arguments (\"a\", \"b\", etc.) are not relevant for the `merge` operation semantically, but they help the syntax checker to know what are referenced by the set of nodes in the body. The last return value is not used for `merge` but the function has to return an array.\n\nThe `merge` operation takes the source code of this function, and \"c\", \"d\", \"h\" and \"html\" are added to the ProgramState.\n\n### `loadTS`\n\n```TypeScript\nloadTS(url:string)\n```\n\nThis method fetches the specified file as a mergeable function written in TypeScript, \"detype\" the function so that it can be loaded.\n\nWhen a TypeScript function in a file (called program.ts here) looks like:\n\n```TypeScript\ntype obj = {value:number};\n\nexport function program() {\n  const a:obj = {value: 1};\n  const b:number = Events.timer(100);\n  const c:obj = {value: a.value + b};\n  console.log(c);\n  return {};\n}\n```\n\nYou can load it in this way:\n\n```JavaScript\nconst programState = new ProgramState(0);\nconst mod = programState.loadTS(\"program.ts\");\nmod.then((loaded) => {\n  programState.merge(loaded.program);\n  programState.start();\n})\n```\n\nto run the program.\n\n### `component`\n\n```TypeScript\ncomponent(func:Function);\n```\n\nThe component method creates a separate `ProgramState` instance, sets up the new ProgramState with the definitions in `func`. The `func` function is expected to have the form (the same as `merge`):\n\n```JavaScript\nexport function componentFunc({a, b}) {\n    const c = a + 42;\n    const d = b + Events.timer(100);\n    const {h} = import(\"../preact.standalone.module.js\");\n    const html = h(\"div\", {color: \"#d22\"}, c, d);\n    return {html};\n}\n```\n\nOn the calling side, you use this function from your owning Renkon program:\n\n```JavaScript\n  const {componentFunc} = import(\"./component.js\");\n  const component = Renkon.component(componentFunc);\n  const a = Events.timer(100);\n  const instanceOfComponent = component({a, b: 10000});\n  const html = instanceOfComponent.html;\n  ...\n```\n\nHere, `component` node is the `component`ized function componentFunc, and the `instanceOfComponent` is an instance of the component. The `html` property is available on `instanceOfComponent` because the last `return` line specifies that that is exposed from the component.\n\nYou can specify the types of the incoming values (either Behavior or Event) by adding the second argument for the component function with its default values. Namely,\n\n```JavaScript\nexport function componentFunc({a, b}, _types={a: \"Behavior\", b: \"Event\"}) {\n    const c = a + 42;\n    const d = b + Events.timer(100);\n    const {h} = import(\"../preact.standalone.module.js\");\n    const html = h(\"div\", {color: \"#d22\"}, c, d);\n    return {html};\n}\n```\n\nIn the example above, a is treated as a Behavior and b is an\nEvent. Note that the `Renkon.component()` parses the source code of\nthe function definition and determines the input types. The variable\nname `_types` is not siginificant (your linter should not warm about\nan unused variable when the variable name starts with \"_\". The type\ndefaults to Event, so you may only specify Behavior types.\n\nWhen an input for a component is an Event, it means that the value is\ncleared after an evaluation step. If the exact same value is passed in\nat a later time, the component gets evaluated. It can lead to an\nunexpected excessive evaluation, if the variable passed in is a\nBehavior.\n\n### `getFunctionBody`\n\n```TypeScript\ntype ComponentType = {\n    params:string[],\n    types: Map<string, string> | null,\n    rawTypes: Map<string, string> | null,\n    returnValues: {[key: string]: string} | null,\n    output: string\n}\ngetFunctionBody(func:Function|string):ComponentType|null\n```\n\nThis is a helper function to extract the part that represents the sequence of renkon-node definitions from the component or mergeable function definition used in `merge` and `component`. If you have such a function definition and you wish to send the only node definition part to a separate Renkon execution context for example, you can have some code in Renkon like this:\n\n```JavaScript\naProgramState.setupProgram([Renkon.getFunctionBody(componentFunc).output]);\n```\n\n### `addBreakpoint(...ids:Array<string>)`\n### `removeBreakpoint(...ids:Array<string>)`\n### `resetBreakpoint()`\n\nThe Renkon evaluator allows you to set breakpoints on the evaluation of a node. Those three methods updates the breakpoints for the evaluator.\n\nWhen the evaluator evaluated a node whose name is in the breakpoints list, it hits the `debugger` statement of the JS developer tool. You can inspect the \"trace\" displayed in the console that shows the evaluated nodes in that evaluation cycle.\n\n## Comparison to Other Frameworks\n\n### No `useEffect` Needed\n\nRenkon does not need the equivalent of `useEffect` in React. React\nforces you to manually provide the dependencies in the array for\n`useEffect`, yet it does not have the equivalent of `Events.or`. So if\nyou want to have a block that uses two possible update sources, but\ntypically only one updates, you'd have to check which dependency was\nupdated manually.\n\n### No `await`, `async`, `then`, and `Promise.all` Needed\n\nPromises in JavaScript are powerful and useful, but the extra syntax\nand understanding how execution works require some experience. Renkon\nmakes those integrated.\n\n### No Signals Needed\n\nRenkon does not need a new construct to have a reactive value. There\nare proposals to add \"Signals\" to JavaScript, but they require you to\nassign your value to the `value` property.\n\nSignals are conceptually close to Behaviors, but not having the Events\ncounterpart complicates your program.\n\nIn the [tutorial of Preact's\nSignals](https://preactjs.com/guide/v10/signals/), the `addToDo`\nfunction needs to explicitly clear `text.value`. Imagine that someone\nwants to add two to-do items that happen to have the same text. If you\ndon't clear the value, the user cannot do it. But then, how would the\ncreator of the program know that `addToDo` is the right place to clear\nthe value? Later on, the app gets a feature that requires the use of\n`text.value`.\n\nIf one were to write a similar To-Do program in Renkon, the \"text\"\nnode would be an event that depends on the user click event. The\ndependency graph is updated at the event's time _t_, with all places\nthat use `text` being updated, then the value becomes\nunavailable. Next time, the user may submit the exact same content for\n`text`, and the program adds the second entry as expected.\n\n`computed()`, `effect()`, and `batch()` of Signals are also not necessary in Renkon.\n\n### Maps and Sets Can Be Used in a Sane Way\n\nOne of the issues with building a large application in React is that\nit is not easy to get it right with Maps and Sets in data. Imagine if\nyou have 1,000 elements in a Map and make a list of virtual DOM\nelements for each, and then render it. First, an element added itself\nmay not trigger the update detection, so you might have to copy the\nMap with 1,000 elements and then add a new entry. React's\nreconciliation logic tries to be fast, but it would still need to\ncompare two long lists of data to add one element.\n\nIn Renkon, one could add the new entry to the Map as data and just add\na new virtual DOM element to the already existing list of virtual DOM,\nor you can actually call `appendChild()` directly.\n\n### No Excess Screen Updates\n\nSignals are touted as a way to reduce unnecessary DOM updates, and\nusing HTM+Preact with Renkon has the same benefits. The\nabove-mentioned Preact's Signal tutorial mentions some rendering\noptimizations; as shown above, Renkon allows even more direct DOM\nmanipulation.\n","readmeFilename":"README.md"}