#engine v8 #feature-id AstroMax_Clarity : AstroMax > Clarity #feature-info AstroMax Clarity — Lightroom-style local contrast, clarity, dehaze and detail controls for PixInsight. Copyright © 2026 Dean Linic. // ============================================================ // AstroMaxClarity.js v2.0.0 // Copyright (C) 2026 Dean Linic // // Lightroom-style image processing script for PixInsight. // // Features: // Clarity — Local contrast enhancement by tone zone // (Shadows / Midtones / Highlights independently) // Positive values enhance microcontrast, // negative values soften local contrast. // Lum Sharp — Luminance-only sharpening (colour-neutral) // Uses L-channel ratio method: sharpens structure // without introducing colour fringing. // // Controls: // Sliders update the value display instantly. // Preview refreshes when you release the slider. // Drag on preview canvas to zoom into any area (2x/4x/8x). // // Requirements: // PixInsight 1.8.9 or later // // Installation: // Copy AstroMaxClarity.js to: // /src/scripts/ (global install) // or use Script > Feature Scripts > Add to load from any path. // Then run via: Script > Utilities > AstroMaxClarity // // Changelog: // v3.0.0 — Dual image selector (Starless+Stars). Star blend via direct Image API. // v2.0.0 — Stable release. Removed NR (requires external plugin). // Clarity via MultiscaleLinearTransform LCE. // Luminance sharpening via L-ratio method. // Bilinear zoom rendering. Slider-release refresh. // v1.x — Development iterations. // ============================================================ // ============================================================ // LICENSE & TRIAL SYSTEM (HWID-based, SHA-256 validation) // Trial: 30 days from first run, shared across all AstroMax scripts // Key: sha256(HWID + "|ASTROMAX-V1|" + SECRET)[0..19] in 5x4 hex groups // ============================================================ var LIC_PRODUCT_NAME = "AstroMaxClarity"; var LIC_SETTINGS_KEY = "/AstroMax/licenseKey"; // shared: one key activates all AstroMax scripts var LIC_TRIAL_KEY = "/AstroMax/trialStart"; var LIC_HWID_KEY = "/AstroMax/hwid"; var LIC_TRIAL_DAYS = 30; var LIC_SECRET = "AstroMax2025#Nebula$7x9qK!mP"; // ── Compact SHA-256 (pure JS, no dependencies) ───────────── function licSHA256(str) { function rr(x,n){return(x>>>n)|(x<<(32-n));} var K=[0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5,0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5, 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3,0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174, 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc,0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da, 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7,0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967, 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13,0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85, 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3,0xd192e819,0xd6990624,0xf40e3585,0x106aa070, 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5,0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3, 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208,0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2]; var H=[0x6a09e667,0xbb67ae85,0x3c6ef372,0xa54ff53a, 0x510e527f,0x9b05688c,0x1f83d9ab,0x5be0cd19]; // UTF-8 encode var b=[]; for(var i=0;i>6));b.push(0x80|(c&0x3F));} else{b.push(0xE0|(c>>12));b.push(0x80|((c>>6)&0x3F));b.push(0x80|(c&0x3F));} } var bl=b.length*8; b.push(0x80); while(b.length%64!==56)b.push(0); for(var i=7;i>=0;i--)b.push((bl/Math.pow(2,i*8))&0xFF); // Process blocks for(var blk=0;blk>>3); var s1=rr(W[i-2],17)^rr(W[i-2],19)^(W[i-2]>>>10); W[i]=(W[i-16]+s0+W[i-7]+s1)>>>0; } var a=H[0],b_=H[1],c=H[2],d=H[3],e=H[4],f=H[5],g=H[6],h=H[7]; for(var i=0;i<64;i++){ var S1=rr(e,6)^rr(e,11)^rr(e,25); var ch=(e&f)^(~e&g); var t1=(h+S1+ch+K[i]+W[i])>>>0; var S0=rr(a,2)^rr(a,13)^rr(a,22); var mj=(a&b_)^(a&c)^(b_&c); var t2=(S0+mj)>>>0; h=g;g=f;f=e;e=(d+t1)>>>0;d=c;c=b_;b_=a;a=(t1+t2)>>>0; } H[0]=(H[0]+a)>>>0;H[1]=(H[1]+b_)>>>0;H[2]=(H[2]+c)>>>0;H[3]=(H[3]+d)>>>0; H[4]=(H[4]+e)>>>0;H[5]=(H[5]+f)>>>0;H[6]=(H[6]+g)>>>0;H[7]=(H[7]+h)>>>0; } var hex=""; for(var i=0;i<8;i++)hex+=("00000000"+H[i].toString(16)).slice(-8); return hex.toUpperCase(); } // ── HWID — username + computername from env vars ─────────── function licGetHWID() { var user = getEnvironmentVariable("USERNAME") || getEnvironmentVariable("USER") || ""; var host = getEnvironmentVariable("COMPUTERNAME") || getEnvironmentVariable("HOSTNAME") || ""; var raw = (user + "_" + host).toUpperCase().replace(/[^A-Z0-9_]/g,""); if (raw.length >= 4) { // Store once for consistency if (!Settings.read(LIC_HWID_KEY, 13)) Settings.write(LIC_HWID_KEY, 13, raw); return raw; } // Fallback: random ID stored in settings var stored = Settings.read(LIC_HWID_KEY, 13); if (stored && stored.length >= 4) return stored; var id = ""; var hx = "0123456789ABCDEF"; for (var i = 0; i < 16; i++) id += hx[Math.floor(Math.random()*16)]; Settings.write(LIC_HWID_KEY, 13, id); return id; } // ── Key validation ───────────────────────────────────────── function licKeyForHWID(hwid) { var hash = licSHA256(hwid.trim().toUpperCase() + "|ASTROMAX-V1|" + LIC_SECRET); var groups = []; for (var i = 0; i < 20; i += 4) groups.push(hash.substring(i, i+4)); return groups.join("-"); } function licValidateKey(key) { if (!key) return false; var hwid = licGetHWID(); var expected = licKeyForHWID(hwid); return key.trim().toUpperCase().replace(/\s/g,"") === expected.replace(/-/g,"").substring(0,20) || key.trim().toUpperCase() === expected; } // ── Trial ────────────────────────────────────────────────── function licTrialDaysLeft() { var stored = Settings.read(LIC_TRIAL_KEY, 13); if (stored === null || stored === undefined) { Settings.write(LIC_TRIAL_KEY, 13, new Date().getTime().toString()); return LIC_TRIAL_DAYS; } var startMs = parseFloat(stored); if (isNaN(startMs)) { Settings.write(LIC_TRIAL_KEY, 13, new Date().getTime().toString()); return LIC_TRIAL_DAYS; } return Math.max(0, Math.floor(LIC_TRIAL_DAYS - (new Date().getTime()-startMs)/86400000)); } function licIsActivated() { var key = Settings.read(LIC_SETTINGS_KEY, 13); return licValidateKey(key); } function licCheck() { if (licIsActivated()) return "ok"; var d = licTrialDaysLeft(); return d > 0 ? "trial:" + d : "expired"; } // ── License / Activation dialog ──────────────────────────────── function licShowActivationDialog() { var hwid = licGetHWID(); var activated = licIsActivated(); var daysLeft = activated ? -1 : licTrialDaysLeft(); var dlg = new Dialog(); dlg.windowTitle = "AstroMax — License"; dlg.userResizable = false; dlg.sizer = new Sizer(true); dlg.sizer.margin = 14; dlg.sizer.spacing = 8; var btnClose = new PushButton(dlg); btnClose.text = " Close "; btnClose.onClick = function() { dlg.ok(); }; if (activated) { // ── Activated view — clean, no trial info ────────────────────── var okLbl = new Label(dlg); okLbl.text = "✅ License activated — thank you!"; dlg.sizer.add(okLbl); dlg.sizer.addSpacing(6); var row = new Sizer(false); row.addStretch(); row.add(btnClose); dlg.sizer.add(row); } else { // ── Trial / expired view — full activation flow ────────────── var statusLbl = new Label(dlg); if (daysLeft > 0) { statusLbl.text = "⏳ Trial active — " + daysLeft + " day" + (daysLeft !== 1 ? "s" : "") + " remaining"; } else { statusLbl.text = "❌ Trial expired — activation required"; } var msgLbl = new Label(dlg); msgLbl.text = "Send your HWID to the author together with proof of purchase.\nYou will receive a license key by email."; msgLbl.wordWrapping = true; msgLbl.minWidth = 380; var hwidLbl = new Label(dlg); hwidLbl.text = "Your HWID:"; var hwidEdit = new Edit(dlg); hwidEdit.text = hwid; hwidEdit.readOnly = true; hwidEdit.minWidth = 380; hwidEdit.toolTip = "Select all and copy (Ctrl+A, Ctrl+C)"; var keyLbl = new Label(dlg); keyLbl.text = "Enter license key:"; var keyEdit = new Edit(dlg); keyEdit.minWidth = 380; var feedbackLbl = new Label(dlg); feedbackLbl.text = ""; feedbackLbl.minWidth = 380; var btnActivate = new PushButton(dlg); btnActivate.text = " Activate "; btnActivate.onClick = function() { var k = keyEdit.text.trim(); if (licValidateKey(k)) { Settings.write(LIC_SETTINGS_KEY, 13, k); feedbackLbl.text = "✅ Activated! Close and reopen the script."; btnActivate.enabled = false; keyEdit.readOnly = true; } else { feedbackLbl.text = "❌ Invalid key — make sure you sent the exact HWID above."; } }; var btnRow = new Sizer(false); btnRow.spacing = 6; btnRow.add(btnActivate); btnRow.addStretch(); btnRow.add(btnClose); dlg.sizer.add(statusLbl); dlg.sizer.add(msgLbl); dlg.sizer.add(hwidLbl); dlg.sizer.add(hwidEdit); dlg.sizer.add(keyLbl); dlg.sizer.add(keyEdit); dlg.sizer.add(feedbackLbl); dlg.sizer.add(btnRow); } dlg.adjustToContents(); return dlg.execute() === Dialog.Ok; } var AMC_VERSION = "3.7.0"; // ============================================================ // HIDDEN WINDOW POOL var WIN={};function getWin(_0x2f549b,_0x315c08,_0x182188){var _0x514f53=_0x182188?0x1:_0x315c08['numberOfChannels'],_0x20e907=_0x315c08['width'],_0x21e8d6=_0x315c08['height'],_0x2cc390=WIN[_0x2f549b];if(_0x2cc390&&!_0x2cc390['isNull']){var _0x5c46e3=_0x2cc390['mainView']['image'];if(_0x5c46e3['width']===_0x20e907&&_0x5c46e3['height']===_0x21e8d6&&_0x5c46e3['numberOfChannels']===_0x514f53)return _0x2cc390;_0x2cc390['forceClose']();}var _0x2fe198=new ImageWindow(_0x20e907,_0x21e8d6,_0x514f53,_0x315c08['bitsPerSample'],_0x315c08['isReal'],_0x514f53>0x1,_0x2f549b);return _0x2fe198['hide'](),WIN[_0x2f549b]=_0x2fe198,_0x2fe198;}function closeAllWins(){for(var _0x4da8df in WIN){if(WIN[_0x4da8df]&&!WIN[_0x4da8df]['isNull'])WIN[_0x4da8df]['forceClose']();}WIN={};}function setWin(_0x1972f4,_0x37a441){_0x1972f4['mainView']['beginProcess'](0x0),_0x1972f4['mainView']['image']['assign'](_0x37a441),_0x1972f4['mainView']['endProcess']();}function getImg(_0x5ef4f6){var _0x1ec956=_0x5ef4f6['mainView']['image'],_0x4baaa7=new Image(_0x1ec956['width'],_0x1ec956['height'],_0x1ec956['numberOfChannels'],_0x1ec956['colorSpace'],_0x1ec956['bitsPerSample'],_0x1ec956['sampleType']);return _0x4baaa7['assign'](_0x1ec956),_0x4baaa7;}function copyWin(_0x7bad2a,_0x35f8a8){_0x7bad2a['mainView']['beginProcess'](0x0),_0x7bad2a['mainView']['image']['assign'](_0x35f8a8['mainView']['image']),_0x7bad2a['mainView']['endProcess']();}function cloneImg(_0x33f967){return new Image(_0x33f967);}function scaleImage(_0x50b535,_0x233e6d){var _0x4d5b55=new Image(_0x50b535);return _0x4d5b55['resample'](_0x233e6d),_0x4d5b55;}function resizeTo(_0x48dbc2,_0x519044,_0x2613ce){var _0x31f7f2=new Image(_0x48dbc2);if(_0x31f7f2['width']!==_0x519044||_0x31f7f2['height']!==_0x2613ce)_0x31f7f2['resizeTo'](_0x519044,_0x2613ce,0x1);return _0x31f7f2;}function buildLum(_0x4a09b3,_0x1ee875){var _0x6efbd9=_0x4a09b3['mainView']['image'],_0x4d36e1=_0x6efbd9['width'],_0x57cde4=_0x6efbd9['height'],_0x38627f=_0x4d36e1*_0x57cde4,_0x1022b7=new Rect(0x0,0x0,_0x4d36e1,_0x57cde4);if(_0x6efbd9['numberOfChannels']===0x1){copyWin(_0x1ee875,_0x4a09b3);return;}var _0x129eb3=new Float32Array(_0x38627f),_0x562a46=new Float32Array(_0x38627f),_0xc22945=new Float32Array(_0x38627f);_0x6efbd9['getSamples'](_0x129eb3,_0x1022b7,0x0),_0x6efbd9['getSamples'](_0x562a46,_0x1022b7,0x1),_0x6efbd9['getSamples'](_0xc22945,_0x1022b7,0x2);var _0x4e4659=new Float32Array(_0x38627f);for(var _0x540475=0x0;_0x540475<_0x38627f;_0x540475++){if((_0x540475&0x7ffff)===0x0)processEvents();_0x4e4659[_0x540475]=0.2126*_0x129eb3[_0x540475]+0.7152*_0x562a46[_0x540475]+0.0722*_0xc22945[_0x540475];}_0x1ee875['mainView']['beginProcess'](0x0),_0x1ee875['mainView']['image']['setSamples'](_0x4e4659,_0x1022b7,0x0),_0x1ee875['mainView']['endProcess']();}function buildZone(_0x356cfe,_0x7efe7,_0x1d98ff){var _0x27f424=Math['max'](0.01,_0x1d98ff),_0x22fccb=_0x356cfe['mainView']['image'],_0x2530b5=_0x22fccb['width'],_0x50dc6f=_0x22fccb['height'],_0x160f5a=_0x2530b5*_0x50dc6f,_0x3e5e05=new Rect(0x0,0x0,_0x2530b5,_0x50dc6f),_0x5d03aa=new Float32Array(_0x160f5a);_0x22fccb['getSamples'](_0x5d03aa,_0x3e5e05,0x0);for(var _0xe75f09=0x0;_0xe75f09<_0x160f5a;_0xe75f09++){if((_0xe75f09&0x7ffff)===0x0)processEvents();var _0x2c6b0f=Math['max'](0x0,Math['min'](0x1,0x1-Math['abs'](_0x5d03aa[_0xe75f09]-_0x7efe7)/_0x27f424));_0x5d03aa[_0xe75f09]=_0x2c6b0f*_0x2c6b0f*(0x3-0x2*_0x2c6b0f);}_0x356cfe['mainView']['beginProcess'](0x0),_0x356cfe['mainView']['image']['setSamples'](_0x5d03aa,_0x3e5e05,0x0),_0x356cfe['mainView']['endProcess']();}function scaleMask(_0x4d7ce5,_0x18ba72){var _0x4c9f63=_0x4d7ce5['mainView']['image'],_0x2883be=_0x4c9f63['width'],_0x174710=_0x4c9f63['height'],_0x176a51=_0x2883be*_0x174710,_0x56d468=new Rect(0x0,0x0,_0x2883be,_0x174710),_0x2e3340=new Float32Array(_0x176a51);_0x4c9f63['getSamples'](_0x2e3340,_0x56d468,0x0);for(var _0x274479=0x0;_0x274479<_0x176a51;_0x274479++){if((_0x274479&0x7ffff)===0x0)processEvents();_0x2e3340[_0x274479]=Math['min'](0x1,_0x2e3340[_0x274479]*_0x18ba72);}_0x4d7ce5['mainView']['beginProcess'](0x0),_0x4d7ce5['mainView']['image']['setSamples'](_0x2e3340,_0x56d468,0x0),_0x4d7ce5['mainView']['endProcess']();}function applyUSM(_0x5e4b80,_0x42d2fe,_0x206bfc,_0x57c17c){var _0x22e507=new UnsharpMask();_0x22e507['sigma']=Math['max'](0.1,_0x42d2fe),_0x22e507['amount']=Math['max'](0.001,Math['min'](0x1,_0x206bfc)),_0x22e507['threshold']=Math['max'](0x0,Math['min'](0x1,_0x57c17c)),_0x22e507['executeOn'](_0x5e4b80['mainView']);}function applyClarity(_0x561074,_0x31b978,_0x1a364c,_0x3cc9ba,_0x2e5e92,_0x588803,_0x989bb4,_0x3cc72f,_0x5de91b){if(Math['abs'](_0x989bb4)<0.5)return;copyWin(_0x31b978,_0x561074);var _0x20e0e9=new MultiscaleLinearTransform();_0x20e0e9['layers']=[[![],!![],0x0,![],0x3,0x1,0x1],[![],!![],0x0,![],0x3,0x1,0x1],[![],!![],0x0,![],0x3,0x1,0x1],[!![],!![],0x0,![],0x3,0x1,0x1],[!![],!![],0x0,![],0x3,0x1,0x1]],_0x20e0e9['transform']=MultiscaleLinearTransform['StarletTransform'],_0x20e0e9['executeOn'](_0x31b978['mainView']),buildLum(_0x561074,_0x3cc9ba),buildZone(_0x3cc9ba,_0x588803,_0x3cc72f/0xc8),copyWin(_0x2e5e92,_0x3cc9ba);if(_0x989bb4<0x0)scaleMask(_0x2e5e92,Math['abs'](_0x989bb4)/0x64);var _0x3c0810=_0x561074['mainView']['id'],_0x53332d=_0x31b978['mainView']['id'],_0x534aae=_0x2e5e92['mainView']['id'],_0x2524af=(Math['abs'](_0x989bb4)/0x64*0x2)['toFixed'](0x6),_0x84e5e9=_0x561074['mainView']['image'],_0x596139=_0x31b978['mainView']['image'],_0x3e4bc3=_0x2e5e92['mainView']['image'],_0x4c02af=_0x84e5e9['width'],_0x438afc=_0x84e5e9['height'],_0x49b454=_0x4c02af*_0x438afc,_0x2381cb=new Rect(0x0,0x0,_0x4c02af,_0x438afc),_0x108049,_0x7ec77c,_0x1f9c90=new Float32Array(_0x49b454);_0x3e4bc3['getSamples'](_0x1f9c90,_0x2381cb,0x0);var _0x3a6b22=Math['abs'](_0x989bb4)/0x64*0x2,_0x576b6b=_0x989bb4>0x0?0x1:-0x1;_0x561074['mainView']['beginProcess'](0x0);for(var _0x59ee01=0x0;_0x59ee01<_0x84e5e9['numberOfChannels'];_0x59ee01++){_0x108049=new Float32Array(_0x49b454),_0x7ec77c=new Float32Array(_0x49b454),_0x84e5e9['getSamples'](_0x108049,_0x2381cb,_0x59ee01),_0x596139['getSamples'](_0x7ec77c,_0x2381cb,_0x59ee01);for(var _0x51bd80=0x0;_0x51bd80<_0x49b454;_0x51bd80++){if((_0x51bd80&0x7ffff)===0x0)processEvents();var _0x54f3b0=_0x108049[_0x51bd80]-_0x7ec77c[_0x51bd80];_0x108049[_0x51bd80]=Math['min'](0x1,Math['max'](0x0,_0x108049[_0x51bd80]+_0x576b6b*_0x1f9c90[_0x51bd80]*_0x3a6b22*_0x54f3b0));}_0x561074['mainView']['image']['setSamples'](_0x108049,_0x2381cb,_0x59ee01);}_0x561074['mainView']['endProcess']();}function applyLumSharpening(_0x2a0aa7,_0x4494db,_0xb35ff1,_0x561a92,_0xde2971,_0x28af47){if(_0xde2971<0.5)return;var _0x2d402a=_0x2a0aa7['mainView']['image']['numberOfChannels'];copyWin(_0x4494db,_0x2a0aa7),applyUSM(_0x4494db,_0x561a92,_0xde2971/0x64*0.9,_0x28af47/0x64);if(_0x2d402a===0x1){copyWin(_0x2a0aa7,_0x4494db);return;}buildLum(_0x2a0aa7,_0xb35ff1);var _0x37025c=getWin('_amc_lumo_',_0x2a0aa7['mainView']['image'],!![]);copyWin(_0x37025c,_0xb35ff1),buildLum(_0x4494db,_0xb35ff1);var _0x93b208=_0x2a0aa7['mainView']['image'],_0x4ae83a=_0x37025c['mainView']['image'],_0x28eecd=_0xb35ff1['mainView']['image'],_0x31a391=_0x93b208['width'],_0x33a163=_0x93b208['height'],_0x4acc2c=_0x31a391*_0x33a163,_0x1398a2=new Rect(0x0,0x0,_0x31a391,_0x33a163),_0x46adb5=new Float32Array(_0x4acc2c),_0x39ec7a=new Float32Array(_0x4acc2c);_0x4ae83a['getSamples'](_0x46adb5,_0x1398a2,0x0),_0x28eecd['getSamples'](_0x39ec7a,_0x1398a2,0x0),_0x2a0aa7['mainView']['beginProcess'](0x0);for(var _0x31604a=0x0;_0x31604a<_0x93b208['numberOfChannels'];_0x31604a++){var _0xb8f2bc=new Float32Array(_0x4acc2c);_0x93b208['getSamples'](_0xb8f2bc,_0x1398a2,_0x31604a);for(var _0x7e89fa=0x0;_0x7e89fa<_0x4acc2c;_0x7e89fa++){if((_0x7e89fa&0x7ffff)===0x0)processEvents();var _0x92f72f=Math['min'](0x2,(_0x39ec7a[_0x7e89fa]+1e-7)/(_0x46adb5[_0x7e89fa]+1e-7));_0xb8f2bc[_0x7e89fa]=Math['min'](0x1,_0xb8f2bc[_0x7e89fa]*_0x92f72f);}_0x2a0aa7['mainView']['image']['setSamples'](_0xb8f2bc,_0x1398a2,_0x31604a);}_0x2a0aa7['mainView']['endProcess']();}function processImage(_0x508641,_0x4d466c){var _0x1677eb=Math['abs'](_0x4d466c['clarityS'])<0.5&&Math['abs'](_0x4d466c['clarityM'])<0.5&&Math['abs'](_0x4d466c['clarityH'])<0.5&&_0x4d466c['lumSharpAmount']<0.5;if(_0x1677eb)return cloneImg(_0x508641);var _0x2a0631=getWin('_amc_base_',_0x508641,![]),_0x1b881f=getWin('_amc_shp_',_0x508641,![]),_0x4cc465=getWin('_amc_blur_',_0x508641,![]),_0xadf3f9=getWin('_amc_lum_',_0x508641,!![]),_0x1108e4=getWin('_amc_mask_',_0x508641,!![]);return setWin(_0x2a0631,_0x508641),applyClarity(_0x2a0631,_0x4cc465,_0x1b881f,_0xadf3f9,_0x1108e4,0.2,_0x4d466c['clarityS'],_0x4d466c['widthS'],_0x4d466c['sigma']),applyClarity(_0x2a0631,_0x4cc465,_0x1b881f,_0xadf3f9,_0x1108e4,0.5,_0x4d466c['clarityM'],_0x4d466c['widthM'],_0x4d466c['sigma']),applyClarity(_0x2a0631,_0x4cc465,_0x1b881f,_0xadf3f9,_0x1108e4,0.8,_0x4d466c['clarityH'],_0x4d466c['widthH'],_0x4d466c['sigma']),applyLumSharpening(_0x2a0631,_0x1b881f,_0xadf3f9,_0x4d466c['lumSharpSigma'],_0x4d466c['lumSharpAmount'],_0x4d466c['lumSharpThreshold']),getImg(_0x2a0631);}function normParams(_0x374026){var _0x5ad8ea=_0x374026['median'](),_0x2f1131,_0x581495;if(_0x5ad8ea>0.05)_0x2f1131=0x0,_0x581495=0x1;else{var _0x8213dd=_0x374026['MAD']();if(_0x8213dd<1e-7)_0x8213dd=0.001;var _0x17e9e4=_0x8213dd*1.4826;_0x2f1131=Math['max'](0x0,_0x5ad8ea-2.8*_0x17e9e4),_0x581495=Math['min'](0x1,_0x5ad8ea+0x14*_0x17e9e4)-_0x2f1131;if(_0x581495<0.0001)_0x581495=0.0001;}return{'lo':_0x2f1131,'range':_0x581495};}function sampleBilinear(_0x3cb2c6,_0x2ae428,_0x203cb2,_0x38a76d){var _0x4366be=_0x3cb2c6['width'],_0x407af3=_0x3cb2c6['height'],_0x54bfd4=Math['max'](0x0,Math['min'](_0x4366be-0x2,Math['floor'](_0x2ae428))),_0x476dca=Math['max'](0x0,Math['min'](_0x407af3-0x2,Math['floor'](_0x203cb2))),_0x2aac2c=_0x2ae428-_0x54bfd4,_0x549195=_0x203cb2-_0x476dca;return _0x3cb2c6['sample'](_0x54bfd4,_0x476dca,_0x38a76d)*(0x1-_0x2aac2c)*(0x1-_0x549195)+_0x3cb2c6['sample'](_0x54bfd4+0x1,_0x476dca,_0x38a76d)*_0x2aac2c*(0x1-_0x549195)+_0x3cb2c6['sample'](_0x54bfd4,_0x476dca+0x1,_0x38a76d)*(0x1-_0x2aac2c)*_0x549195+_0x3cb2c6['sample'](_0x54bfd4+0x1,_0x476dca+0x1,_0x38a76d)*_0x2aac2c*_0x549195;}function toU8(_0x5cf104,_0x4fccf2,_0x118d63){return Math['min'](0xff,Math['max'](0x0,Math['round']((_0x5cf104-_0x4fccf2)/_0x118d63*0xff)));}function renderFull(_0x556c8c,_0x2e355e,_0x90205){var _0x16e970=Math['min'](_0x2e355e/_0x556c8c['width'],_0x90205/_0x556c8c['height']),_0x46fb6a=Math['max'](0x1,Math['round'](_0x556c8c['width']*_0x16e970)),_0x13ddf9=Math['max'](0x1,Math['round'](_0x556c8c['height']*_0x16e970)),_0x58f7b2=scaleImage(_0x556c8c,_0x16e970),_0x134a88=normParams(_0x556c8c),_0x132cb8=new Bitmap(_0x46fb6a,_0x13ddf9),_0x4769f9=_0x58f7b2['numberOfChannels'];for(var _0x109f08=0x0;_0x109f08<_0x13ddf9;_0x109f08++){for(var _0x460ab6=0x0;_0x460ab6<_0x46fb6a;_0x460ab6++){var _0x4424f8,_0x4610d6,_0x4a4b19;if(_0x4769f9===0x1){var _0x26102d=Math['min'](0x1,Math['max'](0x0,(_0x58f7b2['sample'](_0x460ab6,_0x109f08,0x0)-_0x134a88['lo'])/_0x134a88['range']));_0x4424f8=_0x4610d6=_0x4a4b19=Math['round'](_0x26102d*0xff);}else _0x4424f8=toU8(_0x58f7b2['sample'](_0x460ab6,_0x109f08,0x0),_0x134a88['lo'],_0x134a88['range']),_0x4610d6=toU8(_0x58f7b2['sample'](_0x460ab6,_0x109f08,0x1),_0x134a88['lo'],_0x134a88['range']),_0x4a4b19=toU8(_0x58f7b2['sample'](_0x460ab6,_0x109f08,0x2),_0x134a88['lo'],_0x134a88['range']);_0x132cb8['setPixel'](_0x460ab6,_0x109f08,0xff<<0x18|_0x4424f8<<0x10|_0x4610d6<<0x8|_0x4a4b19);}}return _0x132cb8;}function renderZoom(_0x247370,_0x15c1d4,_0x1f9dbb,_0x347463,_0x407521,_0x419376){var _0x11fd70=0x1/_0x347463,_0x38e9e9=0x1/_0x347463,_0x5e580d=Math['max'](0x0,Math['min'](0x1-_0x11fd70,_0x15c1d4-_0x11fd70/0x2)),_0x2a2edd=Math['max'](0x0,Math['min'](0x1-_0x38e9e9,_0x1f9dbb-_0x38e9e9/0x2)),_0x1049d0=_0x247370['width'],_0x4ea32d=_0x247370['height'],_0x3c5ed8=Math['min'](_0x407521/_0x1049d0,_0x419376/_0x4ea32d)*_0x347463,_0x392355=Math['max'](0x1,Math['round'](_0x1049d0*_0x11fd70*_0x3c5ed8)),_0x575c35=Math['max'](0x1,Math['round'](_0x4ea32d*_0x38e9e9*_0x3c5ed8)),_0x1c1ec6=normParams(_0x247370),_0x580ab7=new Bitmap(_0x392355,_0x575c35),_0x2b1033=_0x247370['numberOfChannels'];for(var _0x3daa7b=0x0;_0x3daa7b<_0x575c35;_0x3daa7b++){var _0x3901cc=(_0x2a2edd+_0x3daa7b/_0x575c35*_0x38e9e9)*_0x4ea32d-0.5;for(var _0x770de1=0x0;_0x770de1<_0x392355;_0x770de1++){var _0x1b5ccc=(_0x5e580d+_0x770de1/_0x392355*_0x11fd70)*_0x1049d0-0.5,_0x46e03f,_0x5d5cfd,_0x288bf1;if(_0x2b1033===0x1){var _0x593dc8=Math['min'](0x1,Math['max'](0x0,(sampleBilinear(_0x247370,_0x1b5ccc,_0x3901cc,0x0)-_0x1c1ec6['lo'])/_0x1c1ec6['range']));_0x46e03f=_0x5d5cfd=_0x288bf1=Math['round'](_0x593dc8*0xff);}else _0x46e03f=toU8(sampleBilinear(_0x247370,_0x1b5ccc,_0x3901cc,0x0),_0x1c1ec6['lo'],_0x1c1ec6['range']),_0x5d5cfd=toU8(sampleBilinear(_0x247370,_0x1b5ccc,_0x3901cc,0x1),_0x1c1ec6['lo'],_0x1c1ec6['range']),_0x288bf1=toU8(sampleBilinear(_0x247370,_0x1b5ccc,_0x3901cc,0x2),_0x1c1ec6['lo'],_0x1c1ec6['range']);_0x580ab7['setPixel'](_0x770de1,_0x3daa7b,0xff<<0x18|_0x46e03f<<0x10|_0x5d5cfd<<0x8|_0x288bf1);}}return _0x580ab7;}function mtf(_0x187b84,_0x233b6a){if(_0x233b6a<=0x0)return 0x0;if(_0x233b6a>=0x1)return 0x1;if(Math['abs'](_0x187b84-0.5)<0.000001)return _0x233b6a;return(_0x187b84-0x1)*_0x233b6a/((0x2*_0x187b84-0x1)*_0x233b6a-_0x187b84);}function blendStarsOnImage(_0x40729d,_0x1b296c,_0x35aa1b,_0x50bc42){if(_0x35aa1b<0.1)return;if(_0x50bc42===undefined)_0x50bc42=0x0;var _0x55ccc0=0.999-_0x35aa1b/0x64*0.998,_0x218e58=0x1+_0x50bc42/0x32,_0x40f21c=Math['abs'](_0x55ccc0-0.5)>0.0001,_0x3e85ce=Math['abs'](_0x218e58-0x1)>0.0001,_0x48dc6a=_0x40729d['numberOfChannels'],_0x62e9f8=_0x40729d['width'],_0x4ea38e=_0x40729d['height'],_0xc5d20f=_0x1b296c['numberOfChannels'],_0x21df7d=_0x1b296c['width'],_0x5a41f0=_0x1b296c['height'],_0x2c4827=_0x21df7d===_0x62e9f8&&_0x5a41f0===_0x4ea38e?_0x1b296c:scaleImage(_0x1b296c,_0x62e9f8/_0x21df7d),_0x4ecff2=_0x62e9f8*_0x4ea38e,_0x286343=new Rect(0x0,0x0,_0x62e9f8,_0x4ea38e),_0x3682e0=[];for(var _0x76312c=0x0;_0x76312c<_0x48dc6a;_0x76312c++){var _0x20120=new Float32Array(_0x4ecff2);_0x40729d['getSamples'](_0x20120,_0x286343,_0x76312c),_0x3682e0['push'](_0x20120);}var _0x1510cc=[],_0xd4b2ee=_0xc5d20f===0x1?0x1:0x3;for(var _0x76312c=0x0;_0x76312c<_0xd4b2ee;_0x76312c++){var _0x352443=new Float32Array(_0x4ecff2);_0x2c4827['getSamples'](_0x352443,_0x286343,Math['min'](_0x76312c,_0xc5d20f-0x1)),_0x1510cc['push'](_0x352443);}for(var _0x58fc3a=0x0;_0x58fc3a<_0x4ecff2;_0x58fc3a++){var _0x4bf920,_0xeea08c,_0x26a627;_0xd4b2ee===0x1?_0x4bf920=_0xeea08c=_0x26a627=_0x1510cc[0x0][_0x58fc3a]:(_0x4bf920=_0x1510cc[0x0][_0x58fc3a],_0xeea08c=_0x1510cc[0x1][_0x58fc3a],_0x26a627=_0x1510cc[0x2][_0x58fc3a]);if(_0x3e85ce&&_0x48dc6a>=0x3){var _0x10fe33=0.2126*_0x4bf920+0.7152*_0xeea08c+0.0722*_0x26a627;_0x4bf920=_0x10fe33+(_0x4bf920-_0x10fe33)*_0x218e58,_0xeea08c=_0x10fe33+(_0xeea08c-_0x10fe33)*_0x218e58,_0x26a627=_0x10fe33+(_0x26a627-_0x10fe33)*_0x218e58;if(_0x4bf920<0x0)_0x4bf920=0x0;else{if(_0x4bf920>0x1)_0x4bf920=0x1;}if(_0xeea08c<0x0)_0xeea08c=0x0;else{if(_0xeea08c>0x1)_0xeea08c=0x1;}if(_0x26a627<0x0)_0x26a627=0x0;else{if(_0x26a627>0x1)_0x26a627=0x1;}}var _0x32d2fc=[_0x4bf920,_0xeea08c,_0x26a627];for(var _0x76312c=0x0;_0x76312c<_0x48dc6a;_0x76312c++){var _0x423d73=_0x32d2fc[Math['min'](_0x76312c,0x2)];if(_0x40f21c&&_0x423d73>0x0&&_0x423d73<0x1){_0x423d73=(_0x55ccc0-0x1)*_0x423d73/((0x2*_0x55ccc0-0x1)*_0x423d73-_0x55ccc0);if(_0x423d73<0x0)_0x423d73=0x0;else{if(_0x423d73>0x1)_0x423d73=0x1;}}_0x3682e0[_0x76312c][_0x58fc3a]=0x1-(0x1-_0x3682e0[_0x76312c][_0x58fc3a])*(0x1-_0x423d73);}}for(var _0x76312c=0x0;_0x76312c<_0x48dc6a;_0x76312c++)_0x40729d['setSamples'](_0x3682e0[_0x76312c],_0x286343,_0x76312c);}class AstroMaxClarityDialog extends Dialog{constructor(){super(),this['windowTitle']='AstroMaxClarity\x20v'+AMC_VERSION,this['userResizable']=!![];var _0x376d4f=this;function _0x315bcd(_0x1fc7ae){if(_0x1fc7ae['isNull']||_0x1fc7ae['mainView']['isNull'])return![];var _0x2243cb=_0x1fc7ae['mainView']['id'];if(_0x2243cb['indexOf']('_amc_')>=0x0)return![];if(_0x2243cb['indexOf']('AstroMaxTmp')>=0x0)return![];if(_0x2243cb['indexOf']('AstroMaxCompose')>=0x0)return![];if(_0x2243cb['indexOf']('AstroMaxLFref')>=0x0)return![];if(_0x2243cb['indexOf']('AstroMaxLFch')>=0x0)return![];return!![];}var _0x2ceb58=ImageWindow['windows'];this['imageWindows']=[];for(var _0xd1e603=0x0;_0xd1e603<_0x2ceb58['length'];_0xd1e603++)if(_0x315bcd(_0x2ceb58[_0xd1e603]))this['imageWindows']['push'](_0x2ceb58[_0xd1e603]);this['starlessWin']=this['imageWindows']['length']>0x0?this['imageWindows'][0x0]:null,this['starlessOrig']=this['starlessWin']?cloneImg(this['starlessWin']['mainView']['image']):null,this['starsOrig']=null,this['starsPreview']=null,this['srcWin']=this['starlessWin'],this['srcView']=this['starlessWin']?this['starlessWin']['mainView']:null,this['origImg']=this['starlessOrig'],this['busy']=![],this['needsRefresh']=![],this['SCALE']=0.25;var _0x50d654=this['SCALE'];this['previewImg']=this['starlessOrig']?scaleImage(this['starlessOrig'],_0x50d654):null,this['p']={'clarityS':0x0,'widthS':0x28,'clarityM':0x0,'widthM':0x32,'clarityH':0x0,'widthH':0x32,'sigma':0x5,'lumSharpAmount':0x0,'lumSharpSigma':1.5,'lumSharpThreshold':0x5,'starsBlend':0x0,'starsSat':0x0},this['lastRes']=null,this['previewBitmap']=null,this['pHistory']=[],this['restoringState']=![],this['showingBefore']=![],this['_beforeRes']=null,this['_afterRes']=null,this['compareBaseline']=null,this['cachedProcessRes']=null,this['cachedProcessKey']=null,this['cachedProcessPreviewRef']=null,this['zoomMode']=![],this['zoomCX']=0.5,this['zoomCY']=0.5,this['zoomLevel']=0x4,this['dragStart']=null,this['dragRect']=null;var _0x57050b=0x2bc,_0x5cb030=this['origImg']?Math['round'](_0x57050b*this['origImg']['height']/this['origImg']['width']):0x1f4;this['origImg']&&_0x5cb030>0x230&&(_0x5cb030=0x230,_0x57050b=Math['round'](_0x5cb030*this['origImg']['width']/this['origImg']['height']));this['PW']=_0x57050b,this['PH']=_0x5cb030,this['canvas']=new Control(this),this['canvas']['setMinSize'](_0x57050b,_0x5cb030),this['canvas']['onResize']=function(_0x910b48,_0x1a7a70){_0x376d4f['PW']=_0x910b48,_0x376d4f['PH']=_0x1a7a70;if(_0x376d4f['lastRes']!==null)_0x376d4f['renderPreview']();else _0x376d4f['canvas']['repaint']();},this['canvas']['onPaint']=function(){var _0x16f5c4=new Graphics(_0x376d4f['canvas']),_0x27bd93=_0x376d4f['canvas']['width'],_0x30d81f=_0x376d4f['canvas']['height'];_0x16f5c4['fillRect'](0x0,0x0,_0x27bd93,_0x30d81f,new Brush(0xff111111));if(_0x376d4f['origImg']===null){_0x16f5c4['pen']=new Pen(0xff888888,0x1);var _0x3e587b='Open\x20an\x20image\x20in\x20PixInsight,\x20then\x20rerun\x20the\x20script.';_0x16f5c4['drawText'](Math['max'](0x8,Math['round']((_0x27bd93-0x12c)/0x2)),Math['round'](_0x30d81f/0x2),_0x3e587b),_0x16f5c4['end']();return;}if(_0x376d4f['previewBitmap']!==null){var _0x22b0a4=_0x376d4f['previewBitmap']['width'],_0x893e7d=_0x376d4f['previewBitmap']['height'],_0x33d4e1=Math['max'](0x0,Math['round']((_0x27bd93-_0x22b0a4)/0x2)),_0x4efc32=Math['max'](0x0,Math['round']((_0x30d81f-_0x893e7d)/0x2));_0x16f5c4['drawBitmap'](_0x33d4e1,_0x4efc32,_0x376d4f['previewBitmap']),!_0x376d4f['zoomMode']&&_0x376d4f['dragRect']!==null&&(_0x16f5c4['pen']=new Pen(0xffffff00,0x1),_0x16f5c4['drawRect'](_0x376d4f['dragRect']['x'],_0x376d4f['dragRect']['y'],_0x376d4f['dragRect']['x']+_0x376d4f['dragRect']['w'],_0x376d4f['dragRect']['y']+_0x376d4f['dragRect']['h'])),_0x376d4f['zoomMode']&&(_0x16f5c4['pen']=new Pen(0xffffff88,0x1),_0x16f5c4['drawText'](0x8,0x12,'Zoom\x20'+_0x376d4f['zoomLevel']+'x\x20\x20—\x20\x20click\x20\x27Reset\x20Zoom\x27\x20to\x20go\x20back'));}_0x16f5c4['end']();},this['canvas']['onMousePress']=function(_0x481dcb,_0x4b381c,_0x5ce22a){if(_0x376d4f['zoomMode'])return;_0x376d4f['dragStart']={'x':_0x481dcb,'y':_0x4b381c},_0x376d4f['dragRect']=null;},this['canvas']['onMouseMove']=function(_0x1ea193,_0x22f029,_0x63790a){if(_0x376d4f['dragStart']===null||_0x376d4f['zoomMode'])return;_0x376d4f['dragRect']={'x':Math['min'](_0x376d4f['dragStart']['x'],_0x1ea193),'y':Math['min'](_0x376d4f['dragStart']['y'],_0x22f029),'w':Math['abs'](_0x1ea193-_0x376d4f['dragStart']['x']),'h':Math['abs'](_0x22f029-_0x376d4f['dragStart']['y'])},_0x376d4f['canvas']['repaint']();},this['canvas']['onMouseRelease']=function(_0x35b83c,_0x156e03,_0x537311){if(_0x376d4f['zoomMode']||_0x376d4f['dragStart']===null)return;if(_0x376d4f['dragRect']!==null&&_0x376d4f['dragRect']['w']>0xf&&_0x376d4f['dragRect']['h']>0xf&&_0x376d4f['previewBitmap']!==null){var _0x2dd4f6=_0x376d4f['previewBitmap']['width'],_0x2eecba=_0x376d4f['previewBitmap']['height'],_0x51ccbe=Math['max'](0x0,Math['round']((_0x376d4f['PW']-_0x2dd4f6)/0x2)),_0x905cfa=Math['max'](0x0,Math['round']((_0x376d4f['PH']-_0x2eecba)/0x2)),_0x35b741=(_0x376d4f['dragRect']['x']-_0x51ccbe)/_0x2dd4f6,_0x4cf63c=(_0x376d4f['dragRect']['y']-_0x905cfa)/_0x2eecba,_0x1cb71c=_0x376d4f['dragRect']['w']/_0x2dd4f6,_0x26cd26=_0x376d4f['dragRect']['h']/_0x2eecba;_0x376d4f['zoomCX']=Math['max'](0x0,Math['min'](0x1,_0x35b741+_0x1cb71c/0x2)),_0x376d4f['zoomCY']=Math['max'](0x0,Math['min'](0x1,_0x4cf63c+_0x26cd26/0x2));var _0x443466=(_0x1cb71c+_0x26cd26)/0x2;_0x376d4f['zoomLevel']=_0x443466<0.15?0x8:_0x443466<0.35?0x4:0x2,_0x376d4f['btnZoomReset']['enabled']=!![],_0x376d4f['zoomMode']=!![],_0x376d4f['updateLevelButtons'](),_0x376d4f['renderPreview']();}_0x376d4f['dragStart']=null,_0x376d4f['dragRect']=null;};function _0x69eb4(_0x11acae,_0x12339c,_0x32a1c4,_0x1d0128,_0x552173,_0x5de862){var _0x22879c=new Label(_0x376d4f);_0x22879c['text']=_0x11acae+':',_0x22879c['minWidth']=0xb9;var _0x47f13f=new Slider(_0x376d4f);_0x47f13f['minWidth']=0xaa,_0x47f13f['setRange'](0x0,0x1f4);var _0x717c6e=new Edit(_0x376d4f);_0x717c6e['readOnly']=!![],_0x717c6e['minWidth']=0x3a,_0x717c6e['maxWidth']=0x3a;function _0x368ea2(_0x559077){return Math['round']((_0x559077-_0x12339c)/(_0x32a1c4-_0x12339c)*0x1f4);}function _0x2d6b27(_0x227fa6){return _0x12339c+_0x227fa6/0x1f4*(_0x32a1c4-_0x12339c);}_0x47f13f['value']=_0x368ea2(_0x1d0128),_0x717c6e['text']=_0x1d0128['toFixed'](_0x552173),_0x47f13f['onValueUpdated']=function(_0x2391eb){var _0x15a955=parseFloat(_0x2d6b27(_0x2391eb)['toFixed'](_0x552173));_0x717c6e['text']=_0x15a955['toFixed'](_0x552173),_0x376d4f['p'][_0x5de862]=_0x15a955,_0x376d4f['needsRefresh']=!![];},_0x47f13f['onMouseRelease']=function(){_0x376d4f['needsRefresh']&&(_0x376d4f['needsRefresh']=![],_0x376d4f['doRefresh']());};var _0xfb14fa=new Sizer(![]);return _0xfb14fa['spacing']=0x4,_0xfb14fa['add'](_0x22879c),_0xfb14fa['add'](_0x47f13f),_0xfb14fa['add'](_0x717c6e),_0xfb14fa['setValue']=function(_0x5f039a){_0x717c6e['text']=_0x5f039a['toFixed'](_0x552173),_0x47f13f['value']=_0x368ea2(_0x5f039a),_0x376d4f['p'][_0x5de862]=_0x5f039a;},_0xfb14fa;}function _0xed1e5(_0x1b899a){var _0x453c0c=new GroupBox(_0x376d4f);return _0x453c0c['title']=_0x1b899a,_0x453c0c['sizer']=new Sizer(!![]),_0x453c0c['sizer']['margin']=0x6,_0x453c0c['sizer']['spacing']=0x4,_0x453c0c;}var _0x291554=new Label(this);_0x291554['text']='Source:',_0x291554['minWidth']=0x37,this['starlessCombo']=new ComboBox(this),this['starlessCombo']['minWidth']=0xa0;for(var _0xd1e603=0x0;_0xd1e6030x230&&(_0x53c810=0x230,_0x1b4d57=Math['round'](_0x53c810*_0x376d4f['starlessOrig']['width']/_0x376d4f['starlessOrig']['height'])),_0x376d4f['PW']=_0x1b4d57,_0x376d4f['PH']=_0x53c810,_0x376d4f['canvas']['setMinSize'](_0x1b4d57,_0x53c810),_0x376d4f['adjustToContents'](),_0x376d4f['clearHistory'](),_0x376d4f['doRefresh'](),_0x376d4f['setCompareBaseline']();};var _0x5ce228=new PushButton(this);_0x5ce228['text']='↺\x20Refresh',_0x5ce228['toolTip']='Refresh\x20image\x20list\x20in\x20the\x20source\x20dropdown.',_0x5ce228['onClick']=function(){var _0xe2b81b=_0x376d4f['starlessCombo']['currentItem']>=0x0?_0x376d4f['starlessCombo']['itemText'](_0x376d4f['starlessCombo']['currentItem']):'',_0x5118d4=ImageWindow['windows'];_0x376d4f['imageWindows']=[];for(var _0x3433dc=0x0;_0x3433dc<_0x5118d4['length'];_0x3433dc++)if(_0x315bcd(_0x5118d4[_0x3433dc]))_0x376d4f['imageWindows']['push'](_0x5118d4[_0x3433dc]);_0x376d4f['starlessCombo']['clear']();for(var _0x3433dc=0x0;_0x3433dc<_0x376d4f['imageWindows']['length'];_0x3433dc++)_0x376d4f['starlessCombo']['addItem'](_0x376d4f['imageWindows'][_0x3433dc]['mainView']['id']);if(_0xe2b81b)for(var _0x3433dc=0x0;_0x3433dc<_0x376d4f['imageWindows']['length'];_0x3433dc++){if(_0x376d4f['imageWindows'][_0x3433dc]['mainView']['id']===_0xe2b81b){_0x376d4f['starlessCombo']['currentItem']=_0x3433dc;break;}}},this['starsSeparated']=![],this['previewWithStars']=![];var _0x4cfc99=new PushButton(this);_0x4cfc99['text']='★\x20\x20Separate\x20Stars',_0x4cfc99['toolTip']='Run\x20StarXTerminator\x20on\x20the\x20currently\x20selected\x20source\x20image.\x0a'+'Splits\x20it\x20into\x20starless\x20+\x20stars\x20internally\x20—\x20no\x20need\x20to\x20load\x0a'+'two\x20separate\x20windows.\x20Use\x20the\x20sliders\x20to\x20dial\x20in\x20star\x20brightness\x0a'+'and\x20saturation,\x20then\x20click\x20Create\x20New\x20Image.',_0x4cfc99['onClick']=function(){if(!_0x376d4f['starlessOrig']){new MessageBox('Select\x20a\x20source\x20image\x20first.','AstroMaxClarity',typeof StdIcon_Warning==='undefined'?0x1:StdIcon_Warning)['execute']();return;}try{var _0x157f71=new StarXTerminator();}catch(_0xe0ef0f){new MessageBox('StarXTerminator\x20is\x20not\x20installed.','AstroMaxClarity',typeof StdIcon_Error==='undefined'?0x2:StdIcon_Error)['execute']();return;}Console['show'](),Console['writeln']('★\x20Separating\x20stars\x20with\x20StarXTerminator…'),processEvents();var _0x22fb3e=_0x376d4f['starlessOrig']['width'],_0x297719=_0x376d4f['starlessOrig']['height'],_0x632716=_0x376d4f['starlessOrig']['numberOfChannels'],_0x405d3e='_amc_sxt_'+new Date()['getTime']()['toString']()['slice'](-0x6),_0x17581f=new ImageWindow(_0x22fb3e,_0x297719,_0x632716,0x20,!![],_0x632716>=0x3,_0x405d3e);_0x17581f['mainView']['beginProcess'](0x0);var _0x504100=new Rect(0x0,0x0,_0x22fb3e,_0x297719);for(var _0x6c5d01=0x0;_0x6c5d01<_0x632716;_0x6c5d01++){var _0x3f3867=new Float32Array(_0x22fb3e*_0x297719);_0x376d4f['starlessOrig']['getSamples'](_0x3f3867,_0x504100,_0x6c5d01),_0x17581f['mainView']['image']['setSamples'](_0x3f3867,_0x504100,_0x6c5d01);}_0x17581f['mainView']['endProcess'](),_0x17581f['show']();var _0x173d3f=cloneImg(_0x17581f['mainView']['image']),_0x1f1667=new StarXTerminator(),_0x3d302d=![];try{_0x3d302d=_0x1f1667['executeOn'](_0x17581f['mainView']);}catch(_0xbef09c){_0x3d302d=![];}if(!_0x3d302d){_0x17581f['forceClose'](),new MessageBox('StarXTerminator\x20failed.\x0aOpen\x20it\x20manually\x20once\x20to\x20set\x20the\x20AI\x20model.','AstroMaxClarity',typeof StdIcon_Error==='undefined'?0x2:StdIcon_Error)['execute']();return;}var _0x38e216=cloneImg(_0x17581f['mainView']['image']);_0x376d4f['starlessOrig']=_0x38e216,_0x376d4f['origImg']=_0x38e216,_0x376d4f['previewImg']=scaleImage(_0x38e216,_0x376d4f['SCALE']),_0x17581f['forceClose']();var _0x3c8b1b=cloneImg(_0x173d3f),_0x1b0576=_0x22fb3e*_0x297719,_0x3a7562=new Rect(0x0,0x0,_0x22fb3e,_0x297719);for(var _0x329e10=0x0;_0x329e10<_0x632716;_0x329e10++){var _0x3f4c3d=new Float32Array(_0x1b0576),_0x4bff5e=new Float32Array(_0x1b0576);_0x173d3f['getSamples'](_0x3f4c3d,_0x3a7562,_0x329e10),_0x38e216['getSamples'](_0x4bff5e,_0x3a7562,_0x329e10);for(var _0x5f3166=0x0;_0x5f3166<_0x1b0576;_0x5f3166++){var _0x3547b8=_0x3f4c3d[_0x5f3166]-_0x4bff5e[_0x5f3166];_0x3f4c3d[_0x5f3166]=_0x3547b8>0x0?_0x3547b8:0x0;}_0x3c8b1b['setSamples'](_0x3f4c3d,_0x3a7562,_0x329e10);}_0x376d4f['starsOrig']=_0x3c8b1b,_0x376d4f['starsPreview']=_0x3c8b1b;var _0xdc720a='_AstroMaxClarity_Stars',_0x30ba7e=new ImageWindow(_0x22fb3e,_0x297719,_0x632716,0x20,!![],_0x632716>=0x3,_0xdc720a);_0x30ba7e['mainView']['beginProcess'](0x0);for(var _0x41569f=0x0;_0x41569f<_0x632716;_0x41569f++){var _0x15a262=new Float32Array(_0x1b0576);_0x3c8b1b['getSamples'](_0x15a262,_0x3a7562,_0x41569f),_0x30ba7e['mainView']['image']['setSamples'](_0x15a262,_0x3a7562,_0x41569f);}_0x30ba7e['mainView']['endProcess'](),_0x30ba7e['show'](),_0x376d4f['slStarsBlend']['setValue'](0x32),_0x376d4f['p']['starsBlend']=0x32,_0x376d4f['starsSeparated']=!![],_0x376d4f['previewWithStars']=![],_0x1f8074['checked']=![],_0x1f8074['enabled']=!![],_0x368ae2['enabled']=!![],_0x27c18e['text']='🟢\x20\x20Stars:\x20'+_0xdc720a+'\x20—\x20check\x20\x27Preview\x20with\x20Stars\x27\x20to\x20blend',_0x376d4f['cachedProcessKey']=null,Console['writeln']('\x20\x20\x20✅\x20Done.\x20Stars\x20window:\x20'+_0xdc720a),Console['hide'](),_0x376d4f['clearHistory'](),_0x376d4f['doRefresh'](),_0x376d4f['setCompareBaseline']();};var _0x5611f1=new Sizer(![]);_0x5611f1['spacing']=0x8,_0x5611f1['add'](_0x291554),_0x5611f1['add'](this['starlessCombo']),_0x5611f1['add'](_0x5ce228),_0x5611f1['addStretch']();var _0x4670ad=new Label(this);_0x4670ad['text']='Drag\x20on\x20preview\x20to\x20zoom\x20\x20·\x20\x20Release\x20slider\x20to\x20update',this['btnZoomReset']=new PushButton(this),this['btnZoomReset']['text']='⊟\x20\x20Reset\x20Zoom',this['btnZoomReset']['enabled']=![],this['btnZoomReset']['onClick']=function(){_0x376d4f['zoomMode']=![],_0x376d4f['btnZoomReset']['enabled']=![],_0x376d4f['updateLevelButtons'](),_0x376d4f['renderPreview']();};var _0x30715e=new Label(this);_0x30715e['text']='Level:',this['btnZ2']=new PushButton(this),this['btnZ2']['text']='2x',this['btnZ2']['minWidth']=0x24,this['btnZ4']=new PushButton(this),this['btnZ4']['text']='4x',this['btnZ4']['minWidth']=0x24,this['btnZ8']=new PushButton(this),this['btnZ8']['text']='8x',this['btnZ8']['minWidth']=0x24,this['btnZ2']['onClick']=function(){_0x376d4f['zoomLevel']=0x2;if(_0x376d4f['zoomMode'])_0x376d4f['renderPreview']();},this['btnZ4']['onClick']=function(){_0x376d4f['zoomLevel']=0x4;if(_0x376d4f['zoomMode'])_0x376d4f['renderPreview']();},this['btnZ8']['onClick']=function(){_0x376d4f['zoomLevel']=0x8;if(_0x376d4f['zoomMode'])_0x376d4f['renderPreview']();};var _0x3d2bdd=new Label(_0x376d4f);_0x3d2bdd['text']='Resolution:';var _0x49fa43=new ComboBox(_0x376d4f);_0x49fa43['addItem']('Low\x20\x20(25%)'),_0x49fa43['addItem']('Mid\x20\x20(50%)'),_0x49fa43['addItem']('Full\x20(100%)'),_0x49fa43['currentItem']=0x0,_0x49fa43['toolTip']='Preview\x20resolution\x20—\x20Low=25%,\x20Mid=50%,\x20Full=100%\x20of\x20original',_0x49fa43['onItemSelected']=function(_0x3111fb){var _0x1f5eb5=[0.25,0.5,0x1];_0x376d4f['SCALE']=_0x1f5eb5[_0x3111fb];if(_0x376d4f['starlessOrig'])_0x376d4f['previewImg']=scaleImage(_0x376d4f['starlessOrig'],_0x376d4f['SCALE']);if(_0x376d4f['starsOrig'])_0x376d4f['starsPreview']=scaleImage(_0x376d4f['starsOrig'],_0x376d4f['SCALE']);_0x376d4f['doRefresh']();};var _0x5da35d=new Label(_0x376d4f);_0x5da35d['text']='|';var _0x5d8d03=new Sizer(![]);_0x5d8d03['spacing']=0x6,_0x5d8d03['add'](_0x3d2bdd),_0x5d8d03['add'](_0x49fa43),_0x5d8d03['addSpacing'](0x4),_0x5d8d03['add'](_0x5da35d),_0x5d8d03['add'](_0x4670ad),_0x5d8d03['addStretch'](),_0x5d8d03['add'](this['btnZoomReset']),_0x5d8d03['add'](_0x30715e),_0x5d8d03['add'](this['btnZ2']),_0x5d8d03['add'](this['btnZ4']),_0x5d8d03['add'](this['btnZ8']),this['g1']=_0xed1e5('1\x20·\x20Clarity\x20by\x20Tone\x20Zone'),this['slClarityS']=_0x69eb4('Shadows\x20clarity',-0x64,0x64,0x0,0x1,'clarityS'),this['slWidthS']=_0x69eb4('Shadows\x20zone\x20width',0x5,0x64,0x28,0x1,'widthS'),this['slClarityM']=_0x69eb4('Midtones\x20clarity',-0x64,0x64,0x0,0x1,'clarityM'),this['slWidthM']=_0x69eb4('Midtones\x20zone\x20width',0x5,0x64,0x32,0x1,'widthM'),this['slClarityH']=_0x69eb4('Highlights\x20clarity',-0x64,0x64,0x0,0x1,'clarityH'),this['slWidthH']=_0x69eb4('Highlights\x20zone\x20width',0x5,0x64,0x32,0x1,'widthH'),this['g1']['sizer']['add'](this['slClarityS']),this['g1']['sizer']['add'](this['slWidthS']),this['g1']['sizer']['add'](this['slClarityM']),this['g1']['sizer']['add'](this['slWidthM']),this['g1']['sizer']['add'](this['slClarityH']),this['g1']['sizer']['add'](this['slWidthH']),this['g2']=_0xed1e5('2\x20·\x20USM\x20Parameters\x20(global)'),this['slSigma']=_0x69eb4('Sigma',0.5,0x14,0x5,0x1,'sigma'),this['g2']['sizer']['add'](this['slSigma']),this['g3']=_0xed1e5('3\x20·\x20Luminance\x20Sharpening'),this['slLumSharpAmount']=_0x69eb4('Amount',0x0,0x64,0x0,0x1,'lumSharpAmount'),this['slLumSharpSigma']=_0x69eb4('Radius\x20(sigma)',0.5,0xa,1.5,0x1,'lumSharpSigma'),this['slLumSharpThreshold']=_0x69eb4('Threshold',0x0,0x1e,0x5,0x1,'lumSharpThreshold'),this['g3']['sizer']['add'](this['slLumSharpAmount']),this['g3']['sizer']['add'](this['slLumSharpSigma']),this['g3']['sizer']['add'](this['slLumSharpThreshold']),this['g5']=_0xed1e5('5\x20·\x20Star\x20Separation');var _0x27c18e=new Label(_0x376d4f);_0x27c18e['text']='⚪\x20\x20Stars:\x20intact';var _0x1f8074=new CheckBox(_0x376d4f);_0x1f8074['text']='Preview\x20with\x20Stars',_0x1f8074['checked']=![],_0x1f8074['enabled']=![],_0x1f8074['toolTip']='Blend\x20stars\x20into\x20the\x20preview\x20canvas\x20so\x20you\x20can\x20judge\x20the\x20result\x0a'+'before\x20creating\x20the\x20final\x20image.',_0x1f8074['onCheck']=function(_0x1778a1){_0x376d4f['previewWithStars']=_0x1778a1,_0x376d4f['doRefresh']();};var _0x5d993e=new Label(_0x376d4f);_0x5d993e['text']='Stars\x20Amount:',_0x5d993e['minWidth']=0xb9,this['sldStars']=new Slider(_0x376d4f),this['sldStars']['minWidth']=0xaa,this['sldStars']['setRange'](0x0,0x1f4),this['edtStars']=new Edit(_0x376d4f),this['edtStars']['readOnly']=!![],this['edtStars']['minWidth']=0x3a,this['edtStars']['maxWidth']=0x3a,this['edtStars']['text']='50.0',this['sldStars']['value']=0xfa,this['p']['starsBlend']=0x32,this['sldStars']['onValueUpdated']=function(_0x211d3c){var _0x45c0e2=parseFloat((_0x211d3c/0x1f4*0x64)['toFixed'](0x1));_0x376d4f['edtStars']['text']=_0x45c0e2['toFixed'](0x1),_0x376d4f['p']['starsBlend']=_0x45c0e2;if(_0x376d4f['previewWithStars'])_0x376d4f['needsRefresh']=!![];},this['sldStars']['onMouseRelease']=function(){_0x376d4f['needsRefresh']&&(_0x376d4f['needsRefresh']=![],_0x376d4f['doRefresh']());};var _0x2c85e9=new Sizer(![]);_0x2c85e9['spacing']=0x4,_0x2c85e9['add'](_0x5d993e),_0x2c85e9['add'](this['sldStars']),_0x2c85e9['add'](this['edtStars']),this['slStarsBlend']={'setValue':function(_0x44cc7a){_0x376d4f['sldStars']['value']=Math['round'](_0x44cc7a/0x64*0x1f4),_0x376d4f['edtStars']['text']=_0x44cc7a['toFixed'](0x1),_0x376d4f['p']['starsBlend']=_0x44cc7a;}};var _0x2f0b68=new Label(_0x376d4f);_0x2f0b68['text']='Stars\x20Saturation:',_0x2f0b68['minWidth']=0xb9,this['sldStarsSat']=new Slider(_0x376d4f),this['sldStarsSat']['minWidth']=0xaa,this['sldStarsSat']['setRange'](0x0,0x1f4),this['edtStarsSat']=new Edit(_0x376d4f),this['edtStarsSat']['readOnly']=!![],this['edtStarsSat']['minWidth']=0x3a,this['edtStarsSat']['maxWidth']=0x3a,this['edtStarsSat']['text']='50',this['sldStarsSat']['value']=0x177,this['p']['starsSat']=0x32,this['sldStarsSat']['onValueUpdated']=function(_0x164e3b){var _0x59d444=Math['round']((_0x164e3b-0xfa)/0xfa*0x64);_0x376d4f['edtStarsSat']['text']=_0x59d444['toString'](),_0x376d4f['p']['starsSat']=_0x59d444;if(_0x376d4f['previewWithStars'])_0x376d4f['needsRefresh']=!![];},this['sldStarsSat']['onMouseRelease']=function(){_0x376d4f['needsRefresh']&&(_0x376d4f['needsRefresh']=![],_0x376d4f['doRefresh']());};var _0xb04c01=new Sizer(![]);_0xb04c01['spacing']=0x4,_0xb04c01['add'](_0x2f0b68),_0xb04c01['add'](this['sldStarsSat']),_0xb04c01['add'](this['edtStarsSat']);var _0x368ae2=new PushButton(_0x376d4f);_0x368ae2['text']='♻\x20\x20Recombine\x20&\x20Create',_0x368ae2['enabled']=![],_0x368ae2['toolTip']='Apply\x20Clarity\x20+\x20sharpening\x20on\x20starless,\x20then\x20blend\x20stars\x20at\x0a'+'the\x20current\x20slider\x20values,\x20and\x20create\x20a\x20new\x20output\x20window.\x0a'+'Stars\x20state\x20stays\x20active\x20so\x20you\x20can\x20make\x20several\x20versions.',_0x368ae2['onClick']=function(){if(!_0x376d4f['starlessOrig']||!_0x376d4f['starsOrig']){new MessageBox('Run\x20Separate\x20Stars\x20first.','AstroMaxClarity',typeof StdIcon_Warning==='undefined'?0x1:StdIcon_Warning)['execute']();return;}Console['show']();var _0x4b00d2=(_0x376d4f['starlessOrig']['width']*_0x376d4f['starlessOrig']['height']/0xf4240)['toFixed'](0x1);Console['writeln']('♻\x20Recombine\x20·\x20processing\x20'+_0x4b00d2+'\x20Mpx\x20full-res\x20image…'),processEvents();var _0x11afbf=processImage(_0x376d4f['starlessOrig'],_0x376d4f['p']);Console['writeln']('\x20\x20\x20Blending\x20stars\x20(amount='+_0x376d4f['p']['starsBlend']['toFixed'](0x0)+',\x20sat='+_0x376d4f['p']['starsSat']+')…'),processEvents(),blendStarsOnImage(_0x11afbf,_0x376d4f['starsOrig'],_0x376d4f['p']['starsBlend'],_0x376d4f['p']['starsSat']);var _0x432be5=new Date()['getTime'](),_0x44ee64='AstroMaxClarity_Recombined_'+_0x432be5['toString']()['slice'](-0x6),_0x3920b7=new ImageWindow(_0x11afbf['width'],_0x11afbf['height'],_0x11afbf['numberOfChannels'],_0x11afbf['bitsPerSample'],_0x11afbf['isReal'],_0x11afbf['numberOfChannels']>0x1,_0x44ee64);_0x3920b7['mainView']['beginProcess'](0x0),_0x3920b7['mainView']['image']['assign'](_0x11afbf),_0x3920b7['mainView']['endProcess'](),_0x3920b7['show'](),_0x3920b7['bringToFront'](),Console['writeln']('\x20\x20\x20✅\x20Done\x20→\x20'+_0x44ee64),Console['hide'](),_0x27c18e['text']='🟢\x20\x20Stars\x20active\x20—\x20last\x20output:\x20'+_0x44ee64;},this['g5']['sizer']['add'](_0x27c18e),this['g5']['sizer']['add'](_0x4cfc99),this['g5']['sizer']['addSpacing'](0x4),this['g5']['sizer']['add'](_0x1f8074),this['g5']['sizer']['add'](_0x2c85e9),this['g5']['sizer']['add'](_0xb04c01),this['g5']['sizer']['add'](_0x368ae2),this['btnReset']=new PushButton(this),this['btnReset']['text']='↺\x20\x20Reset',this['btnReset']['onClick']=function(){_0x376d4f['slClarityS']['setValue'](0x0),_0x376d4f['slWidthS']['setValue'](0x28),_0x376d4f['slClarityM']['setValue'](0x0),_0x376d4f['slWidthM']['setValue'](0x32),_0x376d4f['slClarityH']['setValue'](0x0),_0x376d4f['slWidthH']['setValue'](0x32),_0x376d4f['slSigma']['setValue'](0x5),_0x376d4f['slLumSharpAmount']['setValue'](0x0),_0x376d4f['slLumSharpSigma']['setValue'](1.5),_0x376d4f['slLumSharpThreshold']['setValue'](0x5),_0x376d4f['slStarsBlend']['setValue'](0x0),_0x376d4f['sldStarsSat']['value']=0xfa,_0x376d4f['p']['starsSat']=0x0,_0x376d4f['edtStarsSat']['text']='0',_0x376d4f['doRefresh']();},this['btnApply']=new PushButton(this),this['btnApply']['text']='▶\x20\x20Apply\x20&\x20Continue',this['btnApply']['toolTip']='Bake\x20parameters\x20into\x20working\x20copy\x20and\x20reset\x20sliders.',this['btnApply']['onClick']=function(){if(!_0x376d4f['origImg'])return;var _0x191ad2=(_0x376d4f['origImg']['width']*_0x376d4f['origImg']['height']/0xf4240)['toFixed'](0x1);Console['writeln']('▶\x20Apply\x20&\x20Continue\x20—\x20baking\x20'+_0x191ad2+'\x20Mpx\x20full-res\x20image…'),processEvents(),_0x376d4f['pushBakeRestore'](),_0x376d4f['previewImg']=processImage(_0x376d4f['previewImg'],_0x376d4f['p']),Console['writeln']('\x20\x20\x20Processing\x20full-resolution\x20image…'),processEvents(),_0x376d4f['origImg']=processImage(_0x376d4f['origImg'],_0x376d4f['p']),Console['writeln']('\x20\x20\x20✅\x20Done.'),_0x376d4f['restoringState']=!![],_0x376d4f['btnReset']['onClick'](),closeAllWins(),_0x376d4f['cachedProcessKey']=null,_0x376d4f['doRefresh'](),_0x376d4f['restoringState']=![],_0x376d4f['setCompareBaseline'](),_0x376d4f['updateBackBtn']();},this['btnBack']=new PushButton(this),this['btnBack']['text']='↶\x20\x20Back',this['btnBack']['toolTip']='Step\x20back\x20one\x20adjustment\x20(undo).\x20Click\x20again\x20to\x20go\x20further\x20back.',this['btnBack']['enabled']=![],this['btnBack']['onClick']=function(){_0x376d4f['stepBack']();},this['btnBA']=new PushButton(this),this['btnBA']['text']='⇄\x20Before/After',this['btnBA']['toolTip']='Blink\x20comparator:\x20click\x20to\x20flip\x20between\x20BEFORE\x20(one\x20step\x20back)\x0aand\x20AFTER\x20(current).\x20Any\x20new\x20adjustment\x20exits\x20compare\x20mode.',this['btnBA']['enabled']=![],this['btnBA']['onClick']=function(){_0x376d4f['toggleBeforeAfter']();},this['btnCreate']=new PushButton(this),this['btnCreate']['text']='✅\x20\x20Create\x20New\x20Image',this['btnCreate']['toolTip']='Apply\x20all\x20parameters\x20and\x20create\x20new\x20image.\x20Original\x20untouched.',this['btnCreate']['onClick']=function(){if(!_0x376d4f['origImg'])return;var _0xebe7c5=(_0x376d4f['starlessOrig']['width']*_0x376d4f['starlessOrig']['height']/0xf4240)['toFixed'](0x1);Console['writeln']('✅\x20Create\x20New\x20Image\x20—\x20processing\x20'+_0xebe7c5+'\x20Mpx\x20full-res\x20image…'),processEvents();var _0xf57bb7=processImage(_0x376d4f['starlessOrig'],_0x376d4f['p']);Console['writeln']('\x20\x20\x20✅\x20Done\x20—\x20creating\x20output\x20window…'),processEvents();var _0x498393=_0x376d4f['srcView']['id']+'_AstroMaxClarity',_0x4540af=new ImageWindow(_0xf57bb7['width'],_0xf57bb7['height'],_0xf57bb7['numberOfChannels'],_0xf57bb7['bitsPerSample'],_0xf57bb7['isReal'],_0xf57bb7['numberOfChannels']>0x1,_0x498393);_0x4540af['mainView']['beginProcess'](0x0),_0x4540af['mainView']['image']['assign'](_0xf57bb7),_0x4540af['mainView']['endProcess'](),_0x4540af['show'](),_0x4540af['bringToFront']();},this['btnClose']=new PushButton(this),this['btnClose']['text']='Close',this['btnClose']['onClick']=function(){closeAllWins(),_0x376d4f['cancel']();},this['btnLicense']=new PushButton(this),this['btnLicense']['text']='🔑\x20\x20License',this['btnLicense']['toolTip']='Show\x20your\x20HWID\x20and\x20activate\x20license',this['btnLicense']['onClick']=function(){licShowActivationDialog();};var _0x2bab67=new Sizer(![]);_0x2bab67['spacing']=0x6,_0x2bab67['add'](this['btnLicense']),_0x2bab67['add'](this['btnReset']),_0x2bab67['add'](this['btnBack']),_0x2bab67['add'](this['btnBA']),_0x2bab67['add'](this['btnApply']),_0x2bab67['addStretch'](),_0x2bab67['add'](this['btnCreate']),_0x2bab67['add'](this['btnClose']);var _0x244cad=new Sizer(!![]);_0x244cad['spacing']=0x6,_0x244cad['add'](_0x5611f1),_0x244cad['add'](_0x5d8d03),_0x244cad['add'](this['g1']),_0x244cad['add'](this['g2']),_0x244cad['add'](this['g3']),_0x244cad['add'](this['g5']),_0x244cad['addStretch'](),_0x244cad['add'](_0x2bab67);var _0x94f730=new Sizer(![]);_0x94f730['spacing']=0x8,_0x94f730['add'](this['canvas'],0x64),_0x94f730['add'](_0x244cad,0x0),this['sizer']=new Sizer(!![]),this['sizer']['margin']=0x8,this['sizer']['add'](_0x94f730),this['adjustToContents'](),this['doRefresh']();if(this['origImg'])this['setCompareBaseline']();}['updateLevelButtons'](){this['btnZ2']['enabled']=this['zoomMode'],this['btnZ4']['enabled']=this['zoomMode'],this['btnZ8']['enabled']=this['zoomMode'];}['renderPreview'](){if(this['lastRes']===null)return;this['previewBitmap']=this['zoomMode']?renderZoom(this['lastRes'],this['zoomCX'],this['zoomCY'],this['zoomLevel'],this['PW'],this['PH']):renderFull(this['lastRes'],this['PW'],this['PH']),this['canvas']['repaint']();}['clearHistory'](){this['pHistory']=[],this['updateBackBtn']();}['isDirtySinceBaseline'](){var _0x1785b0=this['compareBaseline'];if(!_0x1785b0)return![];return!paramsEqual(this['p'],_0x1785b0['p']);}['updateBackBtn'](){var _0x820b35=this['isDirtySinceBaseline']()||this['pHistory']['length']>0x0;if(this['btnBack'])this['btnBack']['enabled']=_0x820b35;if(this['btnBA'])this['btnBA']['enabled']=this['compareBaseline']!==null;}['setCompareBaseline'](){this['compareBaseline']={'p':cloneParams(this['p'])},this['updateBackBtn']();}['computeBaselineResult'](){var _0x1f9147=this['compareBaseline'];if(!_0x1f9147||!this['previewImg'])return null;var _0x587b43=processImage(this['previewImg'],_0x1f9147['p']);if(this['previewWithStars']&&this['starsPreview']!==null)blendStarsOnImage(_0x587b43,this['starsPreview'],_0x1f9147['p']['starsBlend'],_0x1f9147['p']['starsSat']);return _0x587b43;}['exitCompare'](){if(!this['showingBefore']&&this['_beforeRes']===null)return;this['showingBefore']=![],this['_beforeRes']=null,this['_afterRes']=null;if(this['btnBA'])this['btnBA']['text']='⇄\x20Before/After';}['toggleBeforeAfter'](){if(this['compareBaseline']===null)return;if(this['_beforeRes']===null){this['_afterRes']=this['lastRes'],this['_beforeRes']=this['computeBaselineResult']();if(!this['_beforeRes']){this['_afterRes']=null;return;}this['showingBefore']=![];}this['showingBefore']=!this['showingBefore'],this['lastRes']=this['showingBefore']?this['_beforeRes']:this['_afterRes'];if(this['btnBA'])this['btnBA']['text']=this['showingBefore']?'⇄\x20BEFORE':'⇄\x20AFTER';this['renderPreview']();}['syncControlsFromP'](){var _0x25bc5c=this['p'];this['slClarityS']['setValue'](_0x25bc5c['clarityS']),this['slWidthS']['setValue'](_0x25bc5c['widthS']),this['slClarityM']['setValue'](_0x25bc5c['clarityM']),this['slWidthM']['setValue'](_0x25bc5c['widthM']),this['slClarityH']['setValue'](_0x25bc5c['clarityH']),this['slWidthH']['setValue'](_0x25bc5c['widthH']),this['slSigma']['setValue'](_0x25bc5c['sigma']),this['slLumSharpAmount']['setValue'](_0x25bc5c['lumSharpAmount']),this['slLumSharpSigma']['setValue'](_0x25bc5c['lumSharpSigma']),this['slLumSharpThreshold']['setValue'](_0x25bc5c['lumSharpThreshold']),this['slStarsBlend']['setValue'](_0x25bc5c['starsBlend']),this['sldStarsSat']['value']=Math['round'](_0x25bc5c['starsSat']/0x64*0xfa+0xfa),this['edtStarsSat']['text']=String(_0x25bc5c['starsSat']),this['p']['starsSat']=_0x25bc5c['starsSat'];}['pushBakeRestore'](){var _0x4acf19={'p':cloneParams(this['p']),'origImg':this['origImg']?cloneImg(this['origImg']):null,'previewImg':this['previewImg']?cloneImg(this['previewImg']):null,'prevBaseline':this['compareBaseline']};this['pHistory']['push'](_0x4acf19);if(this['pHistory']['length']>0x1e)this['pHistory']['shift']();this['updateBackBtn']();}['stepBack'](){if(this['isDirtySinceBaseline']())this['p']=cloneParams(this['compareBaseline']['p']),this['restoringState']=!![],this['syncControlsFromP'](),this['doRefresh'](),this['restoringState']=![];else{if(this['pHistory']['length']>0x0){var _0x337171=this['pHistory']['pop']();this['restoringState']=!![],this['origImg']=_0x337171['origImg']?cloneImg(_0x337171['origImg']):this['origImg'],this['previewImg']=_0x337171['previewImg']?cloneImg(_0x337171['previewImg']):this['previewImg'],this['p']=_0x337171['p'],this['compareBaseline']=_0x337171['prevBaseline']||null,this['cachedProcessKey']=null,this['syncControlsFromP'](),this['doRefresh'](),this['restoringState']=![];}}this['updateBackBtn']();}['doRefresh'](){if(this['busy'])return;if(!this['origImg']){this['canvas']['repaint']();return;}this['exitCompare'](),this['busy']=!![];try{var _0x20e552=''+this['p']['clarityS']+'_'+this['p']['widthS']+'_'+this['p']['clarityM']+'_'+this['p']['widthM']+'_'+this['p']['clarityH']+'_'+this['p']['widthH']+'_'+this['p']['sigma']+'_'+this['p']['lumSharpAmount']+'_'+this['p']['lumSharpSigma']+'_'+this['p']['lumSharpThreshold'],_0x5bb93f;this['cachedProcessKey']===_0x20e552&&this['cachedProcessPreviewRef']===this['previewImg']&&this['cachedProcessRes']!==null?_0x5bb93f=cloneImg(this['cachedProcessRes']):(_0x5bb93f=processImage(this['previewImg'],this['p']),this['cachedProcessRes']=cloneImg(_0x5bb93f),this['cachedProcessKey']=_0x20e552,this['cachedProcessPreviewRef']=this['previewImg']),this['previewWithStars']&&this['starsPreview']!==null&&blendStarsOnImage(_0x5bb93f,this['starsPreview'],this['p']['starsBlend'],this['p']['starsSat']),this['lastRes']=_0x5bb93f,this['renderPreview']();}catch(_0x38be7e){Console['writeln']('AstroMaxClarity\x20error:\x20'+_0x38be7e);}this['busy']=![],this['updateBackBtn']();}}function cloneParams(_0x1e7580){var _0x2c0a5e={};for(var _0x6d9c59 in _0x1e7580)if(Object['prototype']['hasOwnProperty']['call'](_0x1e7580,_0x6d9c59))_0x2c0a5e[_0x6d9c59]=_0x1e7580[_0x6d9c59];return _0x2c0a5e;}function paramsEqual(_0x2e12dd,_0x30cb0f){if(!_0x2e12dd||!_0x30cb0f)return![];var _0x47bfe0;for(_0x47bfe0 in _0x2e12dd)if(Object['prototype']['hasOwnProperty']['call'](_0x2e12dd,_0x47bfe0)&&_0x2e12dd[_0x47bfe0]!==_0x30cb0f[_0x47bfe0])return![];for(_0x47bfe0 in _0x30cb0f)if(Object['prototype']['hasOwnProperty']['call'](_0x30cb0f,_0x47bfe0)&&_0x2e12dd[_0x47bfe0]!==_0x30cb0f[_0x47bfe0])return![];return!![];}function main(){closeAllWins();var _0x53b4be=ImageWindow['windows'];for(var _0x1e0188=_0x53b4be['length']-0x1;_0x1e0188>=0x0;_0x1e0188--){var _0x279ece=_0x53b4be[_0x1e0188];if(!_0x279ece['isNull']&&_0x279ece['mainView']&&!_0x279ece['mainView']['isNull']){var _0x50efcb=_0x279ece['mainView']['id'];(_0x50efcb['indexOf']('_amc_')===0x0||_0x50efcb==='_AstroMaxClarity')&&_0x279ece['forceClose']();}}Console['hide']();var _0x21f23a=licCheck();if(_0x21f23a==='expired'){if(!licShowActivationDialog())return;}var _0x14a795=new AstroMaxClarityDialog();if(_0x21f23a['indexOf']('trial:')===0x0){var _0x797d91=parseInt(_0x21f23a['split'](':')[0x1]);_0x14a795['windowTitle']=_0x14a795['windowTitle']+'\x20\x20•\x20\x20Trial:\x20'+_0x797d91+'\x20day'+(_0x797d91!==0x1?'s':'')+'\x20left';}_0x14a795['execute']();}main();