Alt col name bug fix for option to handle larger dataset for location models - #798

Merged
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch
Feb 13, 2024
Merged

Alt col name bug fix for option to handle larger dataset for location models #798
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch

Conversation

@bwentl

Copy link
Copy Markdown
Contributor

This is to fix bug related to a hard-coded variable name in #687 when building the estimation data in chunks.

The previous pull request uses exclusively person_id, which means it will only work for mandatory destination EDBs. This change will mean that tour and trip destination EDBs will also work. This fix relies on the ID column inside the alternative data for EDB being the first column, which currently is the case.

- person_id is not compatible for tour and trip destination models, should use tour_id or trip_id instead
- to make this variable for generic, the code will now use the first column in the alternative data file
@jpn--

Copy link
Copy Markdown
Member

This looks fine. We need a more robust estimation mode system with rigorous testing to catch these problems, but this is a reasonable patch for now. Will merge once we confirm none of the existing tests are broken (which seems quite unlikely but just in case...) Thanks!

@jpn--
jpn-- merged commit e2ed3a0 into ActivitySim:developFeb 13, 2024
@jpn--jpn-- mentioned this pull request Feb 14, 2024
@bwentl
bwentl deleted the location_estimation_patch branch August 25, 2025 19:39
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bwentl@jpn--
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Alt col name bug fix for option to handle larger dataset for location models - #798

Merged
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch
Feb 13, 2024
Merged

Alt col name bug fix for option to handle larger dataset for location models #798
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch

Conversation

@bwentl

Copy link
Copy Markdown
Contributor

This is to fix bug related to a hard-coded variable name in #687 when building the estimation data in chunks.

The previous pull request uses exclusively person_id, which means it will only work for mandatory destination EDBs. This change will mean that tour and trip destination EDBs will also work. This fix relies on the ID column inside the alternative data for EDB being the first column, which currently is the case.

- person_id is not compatible for tour and trip destination models, should use tour_id or trip_id instead
- to make this variable for generic, the code will now use the first column in the alternative data file
@jpn--

Copy link
Copy Markdown
Member

This looks fine. We need a more robust estimation mode system with rigorous testing to catch these problems, but this is a reasonable patch for now. Will merge once we confirm none of the existing tests are broken (which seems quite unlikely but just in case...) Thanks!

@jpn--
jpn-- merged commit e2ed3a0 into ActivitySim:developFeb 13, 2024
@jpn--jpn-- mentioned this pull request Feb 14, 2024
@bwentl
bwentl deleted the location_estimation_patch branch August 25, 2025 19:39
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bwentl@jpn--
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Alt col name bug fix for option to handle larger dataset for location models - #798

Merged
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch
Feb 13, 2024
Merged

Alt col name bug fix for option to handle larger dataset for location models #798
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch

Conversation

@bwentl

Copy link
Copy Markdown
Contributor

This is to fix bug related to a hard-coded variable name in #687 when building the estimation data in chunks.

The previous pull request uses exclusively person_id, which means it will only work for mandatory destination EDBs. This change will mean that tour and trip destination EDBs will also work. This fix relies on the ID column inside the alternative data for EDB being the first column, which currently is the case.

- person_id is not compatible for tour and trip destination models, should use tour_id or trip_id instead
- to make this variable for generic, the code will now use the first column in the alternative data file
@jpn--

Copy link
Copy Markdown
Member

This looks fine. We need a more robust estimation mode system with rigorous testing to catch these problems, but this is a reasonable patch for now. Will merge once we confirm none of the existing tests are broken (which seems quite unlikely but just in case...) Thanks!

@jpn--
jpn-- merged commit e2ed3a0 into ActivitySim:developFeb 13, 2024
@jpn--jpn-- mentioned this pull request Feb 14, 2024
@bwentl
bwentl deleted the location_estimation_patch branch August 25, 2025 19:39
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bwentl@jpn--
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Alt col name bug fix for option to handle larger dataset for location models - #798

Merged
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch
Feb 13, 2024
Merged

Alt col name bug fix for option to handle larger dataset for location models #798
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch

Conversation

@bwentl

Copy link
Copy Markdown
Contributor

This is to fix bug related to a hard-coded variable name in #687 when building the estimation data in chunks.

The previous pull request uses exclusively person_id, which means it will only work for mandatory destination EDBs. This change will mean that tour and trip destination EDBs will also work. This fix relies on the ID column inside the alternative data for EDB being the first column, which currently is the case.

- person_id is not compatible for tour and trip destination models, should use tour_id or trip_id instead
- to make this variable for generic, the code will now use the first column in the alternative data file
@jpn--

Copy link
Copy Markdown
Member

This looks fine. We need a more robust estimation mode system with rigorous testing to catch these problems, but this is a reasonable patch for now. Will merge once we confirm none of the existing tests are broken (which seems quite unlikely but just in case...) Thanks!

@jpn--
jpn-- merged commit e2ed3a0 into ActivitySim:developFeb 13, 2024
@jpn--jpn-- mentioned this pull request Feb 14, 2024
@bwentl
bwentl deleted the location_estimation_patch branch August 25, 2025 19:39
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bwentl@jpn--
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Alt col name bug fix for option to handle larger dataset for location models - #798

Merged
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch
Feb 13, 2024
Merged

Alt col name bug fix for option to handle larger dataset for location models #798
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch

Conversation

@bwentl

Copy link
Copy Markdown
Contributor

This is to fix bug related to a hard-coded variable name in #687 when building the estimation data in chunks.

The previous pull request uses exclusively person_id, which means it will only work for mandatory destination EDBs. This change will mean that tour and trip destination EDBs will also work. This fix relies on the ID column inside the alternative data for EDB being the first column, which currently is the case.

- person_id is not compatible for tour and trip destination models, should use tour_id or trip_id instead
- to make this variable for generic, the code will now use the first column in the alternative data file
@jpn--

Copy link
Copy Markdown
Member

This looks fine. We need a more robust estimation mode system with rigorous testing to catch these problems, but this is a reasonable patch for now. Will merge once we confirm none of the existing tests are broken (which seems quite unlikely but just in case...) Thanks!

@jpn--
jpn-- merged commit e2ed3a0 into ActivitySim:developFeb 13, 2024
@jpn--jpn-- mentioned this pull request Feb 14, 2024
@bwentl
bwentl deleted the location_estimation_patch branch August 25, 2025 19:39
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bwentl@jpn--
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Alt col name bug fix for option to handle larger dataset for location models - #798

Merged
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch
Feb 13, 2024
Merged

Alt col name bug fix for option to handle larger dataset for location models #798
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch

Conversation

@bwentl

Copy link
Copy Markdown
Contributor

This is to fix bug related to a hard-coded variable name in #687 when building the estimation data in chunks.

The previous pull request uses exclusively person_id, which means it will only work for mandatory destination EDBs. This change will mean that tour and trip destination EDBs will also work. This fix relies on the ID column inside the alternative data for EDB being the first column, which currently is the case.

- person_id is not compatible for tour and trip destination models, should use tour_id or trip_id instead
- to make this variable for generic, the code will now use the first column in the alternative data file
@jpn--

Copy link
Copy Markdown
Member

This looks fine. We need a more robust estimation mode system with rigorous testing to catch these problems, but this is a reasonable patch for now. Will merge once we confirm none of the existing tests are broken (which seems quite unlikely but just in case...) Thanks!

@jpn--
jpn-- merged commit e2ed3a0 into ActivitySim:developFeb 13, 2024
@jpn--jpn-- mentioned this pull request Feb 14, 2024
@bwentl
bwentl deleted the location_estimation_patch branch August 25, 2025 19:39
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bwentl@jpn--
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Alt col name bug fix for option to handle larger dataset for location models - #798

Merged
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch
Feb 13, 2024
Merged

Alt col name bug fix for option to handle larger dataset for location models #798
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch

Conversation

@bwentl

Copy link
Copy Markdown
Contributor

This is to fix bug related to a hard-coded variable name in #687 when building the estimation data in chunks.

The previous pull request uses exclusively person_id, which means it will only work for mandatory destination EDBs. This change will mean that tour and trip destination EDBs will also work. This fix relies on the ID column inside the alternative data for EDB being the first column, which currently is the case.

- person_id is not compatible for tour and trip destination models, should use tour_id or trip_id instead
- to make this variable for generic, the code will now use the first column in the alternative data file
@jpn--

Copy link
Copy Markdown
Member

This looks fine. We need a more robust estimation mode system with rigorous testing to catch these problems, but this is a reasonable patch for now. Will merge once we confirm none of the existing tests are broken (which seems quite unlikely but just in case...) Thanks!

@jpn--
jpn-- merged commit e2ed3a0 into ActivitySim:developFeb 13, 2024
@jpn--jpn-- mentioned this pull request Feb 14, 2024
@bwentl
bwentl deleted the location_estimation_patch branch August 25, 2025 19:39
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bwentl@jpn--
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Alt col name bug fix for option to handle larger dataset for location models - #798

Merged
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch
Feb 13, 2024
Merged

Alt col name bug fix for option to handle larger dataset for location models #798
jpn-- merged 2 commits into
ActivitySim:developfrom
TransLinkForecasting:location_estimation_patch

Conversation

@bwentl

Copy link
Copy Markdown
Contributor

This is to fix bug related to a hard-coded variable name in #687 when building the estimation data in chunks.

The previous pull request uses exclusively person_id, which means it will only work for mandatory destination EDBs. This change will mean that tour and trip destination EDBs will also work. This fix relies on the ID column inside the alternative data for EDB being the first column, which currently is the case.

- person_id is not compatible for tour and trip destination models, should use tour_id or trip_id instead
- to make this variable for generic, the code will now use the first column in the alternative data file
@jpn--

Copy link
Copy Markdown
Member

This looks fine. We need a more robust estimation mode system with rigorous testing to catch these problems, but this is a reasonable patch for now. Will merge once we confirm none of the existing tests are broken (which seems quite unlikely but just in case...) Thanks!

@jpn--
jpn-- merged commit e2ed3a0 into ActivitySim:developFeb 13, 2024
@jpn--jpn-- mentioned this pull request Feb 14, 2024
@bwentl
bwentl deleted the location_estimation_patch branch August 25, 2025 19:39
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@bwentl@jpn--