[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"page\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Fapi-reference":3,"page-\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Fapi-reference-id":712,"surroundings\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Fapi-reference-id":3508},[4],{"title":5,"ignore":6,"path":7,"stem":8,"children":9,"page":26},"Dokumentasi",true,"\u002Fid\u002Fdocs","id\u002F01.docs",[10,27,703],{"title":11,"path":12,"stem":13,"children":14,"page":-1},"Bahasa Indonesia","\u002Fid\u002Fdocs\u002Fwelcome","id\u002F01.docs\u002F01.welcome\u002F01.index",[15,17],{"title":16,"path":12,"stem":13},"Welcome",{"title":18,"path":19,"stem":20,"children":21,"page":26},"Get Started","\u002Fid\u002Fdocs\u002Fwelcome\u002Fget-started","id\u002F01.docs\u002F01.welcome\u002F01.get-started",[22],{"title":23,"path":24,"stem":25},"Instalasi","\u002Fid\u002Fdocs\u002Fwelcome\u002Fget-started\u002Finstallation","id\u002F01.docs\u002F01.welcome\u002F01.get-started\u002F02.installation",false,{"title":28,"path":29,"stem":30,"children":31,"page":26},"Alat Utama","\u002Fid\u002Fdocs\u002Fcore","id\u002F01.docs\u002F02.core",[32,57,69,77,110,140,170,184,193,222,237,266,275,283,292,309,317,338,370,407,416,424,433,441,450,471,498,527,554,581,608,645,674],{"title":33,"path":34,"stem":35,"children":36,"page":26},"MD5","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5","id\u002F01.docs\u002F02.core\u002F01.md5",[37,41,45,49,53],{"title":38,"path":39,"stem":40},"Pengenalan","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F01.md5\u002F01.introduction",{"title":42,"path":43,"stem":44},"Penggunaan Dasar","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F01.md5\u002F02.basic-usage",{"title":46,"path":47,"stem":48},"Fitur Lanjutan","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F01.md5\u002F03.advanced-features",{"title":50,"path":51,"stem":52},"Pertimbangan Keamanan","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F01.md5\u002F04.security-considerations",{"title":54,"path":55,"stem":56},"Referensi API","\u002Fid\u002Fdocs\u002Fcore\u002Fmd5\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F01.md5\u002F05.api-reference",{"title":58,"path":59,"stem":60,"children":61,"page":26},"UUID","\u002Fid\u002Fdocs\u002Fcore\u002Fuuid","id\u002F01.docs\u002F02.core\u002F02.uuid",[62,65],{"title":38,"path":63,"stem":64},"\u002Fid\u002Fdocs\u002Fcore\u002Fuuid\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F02.uuid\u002F01.introduction",{"title":66,"path":67,"stem":68},"API","\u002Fid\u002Fdocs\u002Fcore\u002Fuuid\u002Fapi","id\u002F01.docs\u002F02.core\u002F02.uuid\u002F02.api",{"title":70,"path":71,"stem":72,"children":73,"page":26},"Pembuat Kode QR","\u002Fid\u002Fdocs\u002Fcore\u002Fqr-code-generator","id\u002F01.docs\u002F02.core\u002F03.qr-code-generator",[74],{"title":70,"path":75,"stem":76},"\u002Fid\u002Fdocs\u002Fcore\u002Fqr-code-generator\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F03.qr-code-generator\u002F01.introduction",{"title":78,"path":79,"stem":80,"children":81,"page":26},"Image Cropper","\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper","id\u002F01.docs\u002F02.core\u002F04.image-cropper",[82,86,89,92,95,98,102,106],{"title":83,"path":84,"stem":85},"Pengantar","\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F04.image-cropper\u002F0.introduction",{"title":42,"path":87,"stem":88},"\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F04.image-cropper\u002F02.basic-usage",{"title":46,"path":90,"stem":91},"\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F04.image-cropper\u002F03.advanced-features",{"title":50,"path":93,"stem":94},"\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F04.image-cropper\u002F04.security-considerations",{"title":54,"path":96,"stem":97},"\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F04.image-cropper\u002F05.api-reference",{"title":99,"path":100,"stem":101},"Contoh","\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Fexamples","id\u002F01.docs\u002F02.core\u002F04.image-cropper\u002F06.examples",{"title":103,"path":104,"stem":105},"Pertanyaan yang Sering Diajukan","\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Ffaq","id\u002F01.docs\u002F02.core\u002F04.image-cropper\u002F07.faq",{"title":107,"path":108,"stem":109},"Alat Terkait","\u002Fid\u002Fdocs\u002Fcore\u002Fimage-cropper\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F04.image-cropper\u002F08.related-tools",{"title":111,"path":112,"stem":113,"children":114,"page":26},"Json To Csv","\u002Fid\u002Fdocs\u002Fcore\u002Fjson-to-csv","id\u002F01.docs\u002F02.core\u002F05.json-to-csv",[115,119,122,125,128,131,134,137],{"title":116,"path":117,"stem":118},"Introduction","\u002Fid\u002Fdocs\u002Fcore\u002Fjson-to-csv\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F05.json-to-csv\u002F0.introduction",{"title":42,"path":120,"stem":121},"\u002Fid\u002Fdocs\u002Fcore\u002Fjson-to-csv\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F05.json-to-csv\u002F02.basic-usage",{"title":46,"path":123,"stem":124},"\u002Fid\u002Fdocs\u002Fcore\u002Fjson-to-csv\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F05.json-to-csv\u002F03.advanced-features",{"title":50,"path":126,"stem":127},"\u002Fid\u002Fdocs\u002Fcore\u002Fjson-to-csv\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F05.json-to-csv\u002F04.security-considerations",{"title":54,"path":129,"stem":130},"\u002Fid\u002Fdocs\u002Fcore\u002Fjson-to-csv\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F05.json-to-csv\u002F05.api-reference",{"title":99,"path":132,"stem":133},"\u002Fid\u002Fdocs\u002Fcore\u002Fjson-to-csv\u002Fexamples","id\u002F01.docs\u002F02.core\u002F05.json-to-csv\u002F06.examples",{"title":103,"path":135,"stem":136},"\u002Fid\u002Fdocs\u002Fcore\u002Fjson-to-csv\u002Ffaq","id\u002F01.docs\u002F02.core\u002F05.json-to-csv\u002F07.faq",{"title":107,"path":138,"stem":139},"\u002Fid\u002Fdocs\u002Fcore\u002Fjson-to-csv\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F05.json-to-csv\u002F08.related-tools",{"title":141,"path":142,"stem":143,"children":144,"page":26},"Open Graph Meta Generator","\u002Fid\u002Fdocs\u002Fcore\u002Fopen-graph-meta-generator","id\u002F01.docs\u002F02.core\u002F05.open-graph-meta-generator",[145,148,152,155,158,161,164,167],{"title":116,"path":146,"stem":147},"\u002Fid\u002Fdocs\u002Fcore\u002Fopen-graph-meta-generator\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F05.open-graph-meta-generator\u002F0.introduction",{"title":149,"path":150,"stem":151},"Panduan Penggunaan Dasar","\u002Fid\u002Fdocs\u002Fcore\u002Fopen-graph-meta-generator\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F05.open-graph-meta-generator\u002F02.basic-usage",{"title":46,"path":153,"stem":154},"\u002Fid\u002Fdocs\u002Fcore\u002Fopen-graph-meta-generator\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F05.open-graph-meta-generator\u002F03.advanced-features",{"title":50,"path":156,"stem":157},"\u002Fid\u002Fdocs\u002Fcore\u002Fopen-graph-meta-generator\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F05.open-graph-meta-generator\u002F04.security-considerations",{"title":54,"path":159,"stem":160},"\u002Fid\u002Fdocs\u002Fcore\u002Fopen-graph-meta-generator\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F05.open-graph-meta-generator\u002F05.api-reference",{"title":99,"path":162,"stem":163},"\u002Fid\u002Fdocs\u002Fcore\u002Fopen-graph-meta-generator\u002Fexamples","id\u002F01.docs\u002F02.core\u002F05.open-graph-meta-generator\u002F06.examples",{"title":103,"path":165,"stem":166},"\u002Fid\u002Fdocs\u002Fcore\u002Fopen-graph-meta-generator\u002Ffaq","id\u002F01.docs\u002F02.core\u002F05.open-graph-meta-generator\u002F07.faq",{"title":107,"path":168,"stem":169},"\u002Fid\u002Fdocs\u002Fcore\u002Fopen-graph-meta-generator\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F05.open-graph-meta-generator\u002F08.related-tools",{"title":171,"path":172,"stem":173,"children":174,"page":26},"Scientific Calculator","\u002Fid\u002Fdocs\u002Fcore\u002Fscientific-calculator","id\u002F01.docs\u002F02.core\u002F05.scientific-calculator",[175,178,181],{"title":116,"path":176,"stem":177},"\u002Fid\u002Fdocs\u002Fcore\u002Fscientific-calculator\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F05.scientific-calculator\u002F0.introduction",{"title":42,"path":179,"stem":180},"\u002Fid\u002Fdocs\u002Fcore\u002Fscientific-calculator\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F05.scientific-calculator\u002F02.basic-usage",{"title":46,"path":182,"stem":183},"\u002Fid\u002Fdocs\u002Fcore\u002Fscientific-calculator\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F05.scientific-calculator\u002F03.advanced-features",{"title":185,"path":186,"stem":187,"children":188,"page":26},"Sha Calculator","\u002Fid\u002Fdocs\u002Fcore\u002Fsha-calculator","id\u002F01.docs\u002F02.core\u002F05.sha-calculator",[189],{"title":190,"path":191,"stem":192},"Kalkulator Hash SHA","\u002Fid\u002Fdocs\u002Fcore\u002Fsha-calculator\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F05.sha-calculator\u002F0.introduction",{"title":194,"path":195,"stem":196,"children":197,"page":26},"Sql Prettify","\u002Fid\u002Fdocs\u002Fcore\u002Fsql-prettify","id\u002F01.docs\u002F02.core\u002F05.sql-prettify",[198,201,204,207,210,213,216,219],{"title":116,"path":199,"stem":200},"\u002Fid\u002Fdocs\u002Fcore\u002Fsql-prettify\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F05.sql-prettify\u002F0.introduction",{"title":42,"path":202,"stem":203},"\u002Fid\u002Fdocs\u002Fcore\u002Fsql-prettify\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F05.sql-prettify\u002F02.basic-usage",{"title":46,"path":205,"stem":206},"\u002Fid\u002Fdocs\u002Fcore\u002Fsql-prettify\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F05.sql-prettify\u002F03.advanced-features",{"title":50,"path":208,"stem":209},"\u002Fid\u002Fdocs\u002Fcore\u002Fsql-prettify\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F05.sql-prettify\u002F04.security-considerations",{"title":54,"path":211,"stem":212},"\u002Fid\u002Fdocs\u002Fcore\u002Fsql-prettify\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F05.sql-prettify\u002F05.api-reference",{"title":99,"path":214,"stem":215},"\u002Fid\u002Fdocs\u002Fcore\u002Fsql-prettify\u002Fexamples","id\u002F01.docs\u002F02.core\u002F05.sql-prettify\u002F06.examples",{"title":103,"path":217,"stem":218},"\u002Fid\u002Fdocs\u002Fcore\u002Fsql-prettify\u002Ffaq","id\u002F01.docs\u002F02.core\u002F05.sql-prettify\u002F07.faq",{"title":107,"path":220,"stem":221},"\u002Fid\u002Fdocs\u002Fcore\u002Fsql-prettify\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F05.sql-prettify\u002F08.related-tools",{"title":223,"path":224,"stem":225,"children":226,"page":26},"Yaml To Toml","\u002Fid\u002Fdocs\u002Fcore\u002Fyaml-to-toml","id\u002F01.docs\u002F02.core\u002F05.yaml-to-toml",[227,230,233],{"title":116,"path":228,"stem":229},"\u002Fid\u002Fdocs\u002Fcore\u002Fyaml-to-toml\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F05.yaml-to-toml\u002F0.introduction",{"title":42,"path":231,"stem":232},"\u002Fid\u002Fdocs\u002Fcore\u002Fyaml-to-toml\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F05.yaml-to-toml\u002F02.basic-usage",{"title":234,"path":235,"stem":236},"Fitur lanjutan","\u002Fid\u002Fdocs\u002Fcore\u002Fyaml-to-toml\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F05.yaml-to-toml\u002F03.advanced-features",{"title":238,"path":239,"stem":240,"children":241,"page":26},"Beyond Compare","\u002Fid\u002Fdocs\u002Fcore\u002Fbeyond-compare","id\u002F01.docs\u002F02.core\u002F06.beyond-compare",[242,245,248,251,254,257,260,263],{"title":116,"path":243,"stem":244},"\u002Fid\u002Fdocs\u002Fcore\u002Fbeyond-compare\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F06.beyond-compare\u002F0.introduction",{"title":42,"path":246,"stem":247},"\u002Fid\u002Fdocs\u002Fcore\u002Fbeyond-compare\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F06.beyond-compare\u002F02.basic-usage",{"title":46,"path":249,"stem":250},"\u002Fid\u002Fdocs\u002Fcore\u002Fbeyond-compare\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F06.beyond-compare\u002F03.advanced-features",{"title":50,"path":252,"stem":253},"\u002Fid\u002Fdocs\u002Fcore\u002Fbeyond-compare\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F06.beyond-compare\u002F04.security-considerations",{"title":54,"path":255,"stem":256},"\u002Fid\u002Fdocs\u002Fcore\u002Fbeyond-compare\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F06.beyond-compare\u002F05.api-reference",{"title":99,"path":258,"stem":259},"\u002Fid\u002Fdocs\u002Fcore\u002Fbeyond-compare\u002Fexamples","id\u002F01.docs\u002F02.core\u002F06.beyond-compare\u002F06.examples",{"title":103,"path":261,"stem":262},"\u002Fid\u002Fdocs\u002Fcore\u002Fbeyond-compare\u002Ffaq","id\u002F01.docs\u002F02.core\u002F06.beyond-compare\u002F07.faq",{"title":107,"path":264,"stem":265},"\u002Fid\u002Fdocs\u002Fcore\u002Fbeyond-compare\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F06.beyond-compare\u002F08.related-tools",{"title":267,"path":268,"stem":269,"children":270,"page":26},"Clock","\u002Fid\u002Fdocs\u002Fcore\u002Fclock","id\u002F01.docs\u002F02.core\u002F06.clock",[271],{"title":272,"path":273,"stem":274},"Clock Tool","\u002Fid\u002Fdocs\u002Fcore\u002Fclock\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F06.clock\u002F0.introduction",{"title":276,"path":277,"stem":278,"children":279,"page":26},"Group Chat","\u002Fid\u002Fdocs\u002Fcore\u002Fgroup-chat","id\u002F01.docs\u002F02.core\u002F06.group-chat",[280],{"title":116,"path":281,"stem":282},"\u002Fid\u002Fdocs\u002Fcore\u002Fgroup-chat\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F06.group-chat\u002F0.introduction",{"title":284,"path":285,"stem":286,"children":287,"page":26},"Hmac Calculator","\u002Fid\u002Fdocs\u002Fcore\u002Fhmac-calculator","id\u002F01.docs\u002F02.core\u002F06.hmac-calculator",[288],{"title":289,"path":290,"stem":291},"Kalkulator HMAC","\u002Fid\u002Fdocs\u002Fcore\u002Fhmac-calculator\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F06.hmac-calculator\u002F0.introduction",{"title":293,"path":294,"stem":295,"children":296,"page":26},"Jwt Parser","\u002Fid\u002Fdocs\u002Fcore\u002Fjwt-parser","id\u002F01.docs\u002F02.core\u002F06.jwt-parser",[297,300,303,306],{"title":116,"path":298,"stem":299},"\u002Fid\u002Fdocs\u002Fcore\u002Fjwt-parser\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F06.jwt-parser\u002F0.introduction",{"title":42,"path":301,"stem":302},"\u002Fid\u002Fdocs\u002Fcore\u002Fjwt-parser\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F06.jwt-parser\u002F02.basic-usage",{"title":46,"path":304,"stem":305},"\u002Fid\u002Fdocs\u002Fcore\u002Fjwt-parser\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F06.jwt-parser\u002F03.advanced-features",{"title":50,"path":307,"stem":308},"\u002Fid\u002Fdocs\u002Fcore\u002Fjwt-parser\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F06.jwt-parser\u002F04.security-considerations",{"title":310,"path":311,"stem":312,"children":313,"page":26},"Screenshot Tool","\u002Fid\u002Fdocs\u002Fcore\u002Fscreenshot-tool","id\u002F01.docs\u002F02.core\u002F07.screenshot-tool",[314],{"title":116,"path":315,"stem":316},"\u002Fid\u002Fdocs\u002Fcore\u002Fscreenshot-tool\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F07.screenshot-tool\u002F0.introduction",{"title":318,"path":319,"stem":320,"children":321,"page":26},"Area Converter","\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter","id\u002F01.docs\u002F02.core\u002F08.area-converter",[322,326,329,332,335],{"title":323,"path":324,"stem":325},"Konverter Luas","\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F0.introduction",{"title":42,"path":327,"stem":328},"\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F02.basic-usage",{"title":46,"path":330,"stem":331},"\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F03.advanced-features",{"title":99,"path":333,"stem":334},"\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Fexamples","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F04.examples",{"title":103,"path":336,"stem":337},"\u002Fid\u002Fdocs\u002Fcore\u002Farea-converter\u002Ffaq","id\u002F01.docs\u002F02.core\u002F08.area-converter\u002F05.faq",{"title":339,"path":340,"stem":341,"children":342,"page":26},"Camera Recorder","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder","id\u002F01.docs\u002F02.core\u002F08.camera-recorder",[343,346,350,354,358,362,366],{"title":116,"path":344,"stem":345},"\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F0.introduction",{"title":347,"path":348,"stem":349},"Basic Usage","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F02.basic-usage",{"title":351,"path":352,"stem":353},"Advanced Features","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F03.advanced-features",{"title":355,"path":356,"stem":357},"Examples","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fexamples","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F04.examples",{"title":359,"path":360,"stem":361},"Frequently Asked Questions","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Ffaq","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F05.faq",{"title":363,"path":364,"stem":365},"Related Tools","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F06.related-tools",{"title":367,"path":368,"stem":369},"Security Considerations","\u002Fid\u002Fdocs\u002Fcore\u002Fcamera-recorder\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F08.camera-recorder\u002F07.security-considerations",{"title":371,"path":372,"stem":373,"children":374,"page":26},"Cursor Canvas","\u002Fid\u002Fdocs\u002Fcore\u002Fcursor-canvas","id\u002F01.docs\u002F02.core\u002F09.cursor-canvas",[375,379,383,387,391,395,399,403],{"title":376,"path":377,"stem":378},"Pengantar - Cursor Canvas","\u002Fid\u002Fdocs\u002Fcore\u002Fcursor-canvas\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F09.cursor-canvas\u002F0.introduction",{"title":380,"path":381,"stem":382},"Penggunaan dasar - Cursor Canvas","\u002Fid\u002Fdocs\u002Fcore\u002Fcursor-canvas\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F09.cursor-canvas\u002F02.basic-usage",{"title":384,"path":385,"stem":386},"Fitur lanjutan - Cursor Canvas","\u002Fid\u002Fdocs\u002Fcore\u002Fcursor-canvas\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F09.cursor-canvas\u002F03.advanced-features",{"title":388,"path":389,"stem":390},"Keamanan - Cursor Canvas","\u002Fid\u002Fdocs\u002Fcore\u002Fcursor-canvas\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F09.cursor-canvas\u002F04.security-considerations",{"title":392,"path":393,"stem":394},"Referensi API - Cursor Canvas","\u002Fid\u002Fdocs\u002Fcore\u002Fcursor-canvas\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F09.cursor-canvas\u002F05.api-reference",{"title":396,"path":397,"stem":398},"Contoh - Cursor Canvas","\u002Fid\u002Fdocs\u002Fcore\u002Fcursor-canvas\u002Fexamples","id\u002F01.docs\u002F02.core\u002F09.cursor-canvas\u002F06.examples",{"title":400,"path":401,"stem":402},"FAQ - Cursor Canvas","\u002Fid\u002Fdocs\u002Fcore\u002Fcursor-canvas\u002Ffaq","id\u002F01.docs\u002F02.core\u002F09.cursor-canvas\u002F07.faq",{"title":404,"path":405,"stem":406},"Alat terkait - Cursor Canvas","\u002Fid\u002Fdocs\u002Fcore\u002Fcursor-canvas\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F09.cursor-canvas\u002F08.related-tools",{"title":408,"path":409,"stem":410,"children":411,"page":26},"Keycode Info","\u002Fid\u002Fdocs\u002Fcore\u002Fkeycode-info","id\u002F01.docs\u002F02.core\u002F13.keycode-info",[412],{"title":413,"path":414,"stem":415},"Informasi Kode Tombol - Pengantar","\u002Fid\u002Fdocs\u002Fcore\u002Fkeycode-info\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F13.keycode-info\u002F0.introduction",{"title":417,"path":418,"stem":419,"children":420,"page":26},"Xml To Json","\u002Fid\u002Fdocs\u002Fcore\u002Fxml-to-json","id\u002F01.docs\u002F02.core\u002F16.xml-to-json",[421],{"title":116,"path":422,"stem":423},"\u002Fid\u002Fdocs\u002Fcore\u002Fxml-to-json\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F16.xml-to-json\u002F0.introduction",{"title":425,"path":426,"stem":427,"children":428,"page":26},"Text Replacer","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-replacer","id\u002F01.docs\u002F02.core\u002F19.text-replacer",[429],{"title":430,"path":431,"stem":432},"Alat Pengganti Teks - Pengantar","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-replacer\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F19.text-replacer\u002F01.introduction",{"title":434,"path":435,"stem":436,"children":437,"page":26},"Temperature Converter","\u002Fid\u002Fdocs\u002Fcore\u002Ftemperature-converter","id\u002F01.docs\u002F02.core\u002F20.temperature-converter",[438],{"title":116,"path":439,"stem":440},"\u002Fid\u002Fdocs\u002Fcore\u002Ftemperature-converter\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F20.temperature-converter\u002F0.introduction",{"title":442,"path":443,"stem":444,"children":445,"page":26},"Black Wallpaper","\u002Fid\u002Fdocs\u002Fcore\u002Fblack-wallpaper","id\u002F01.docs\u002F02.core\u002F23.black-wallpaper",[446],{"title":447,"path":448,"stem":449},"Generator Wallpaper Hitam","\u002Fid\u002Fdocs\u002Fcore\u002Fblack-wallpaper\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F23.black-wallpaper\u002F0.introduction",{"title":451,"path":452,"stem":453,"children":454,"page":26},"Text Diff","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff","id\u002F01.docs\u002F02.core\u002F23.text-diff",[455,459,463,467],{"title":456,"path":457,"stem":458},"Alat Text Diff - Pengantar","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F23.text-diff\u002F0.introduction",{"title":460,"path":461,"stem":462},"Penggunaan Dasar - Alat Text Diff","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F23.text-diff\u002F02.basic-usage",{"title":464,"path":465,"stem":466},"Fitur Lanjutan - Alat Text Diff","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F23.text-diff\u002F03.advanced-features",{"title":468,"path":469,"stem":470},"Contoh - Alat Text Diff","\u002Fid\u002Fdocs\u002Fcore\u002Ftext-diff\u002Fexamples","id\u002F01.docs\u002F02.core\u002F23.text-diff\u002F04.examples",{"title":472,"path":473,"stem":474,"children":475,"page":26},"M3u8 Player","\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player","id\u002F01.docs\u002F02.core\u002F26.m3u8-player",[476,479,482,485,488,492,495],{"title":116,"path":477,"stem":478},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F0.introduction",{"title":42,"path":480,"stem":481},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F02.basic-usage",{"title":46,"path":483,"stem":484},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F03.advanced-features",{"title":54,"path":486,"stem":487},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F05.api-reference",{"title":489,"path":490,"stem":491},"Contoh Kode","\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Fexamples","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F06.examples",{"title":103,"path":493,"stem":494},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Ffaq","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F07.faq",{"title":107,"path":496,"stem":497},"\u002Fid\u002Fdocs\u002Fcore\u002Fm3u8-player\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F26.m3u8-player\u002F08.related-tools",{"title":499,"path":500,"stem":501,"children":502,"page":26},"Screen Dead Pixel Detector","\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector",[503,507,510,513,517,520,524],{"title":504,"path":505,"stem":506},"Detektor Piksel Mati Layar","\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F0.introduction",{"title":42,"path":508,"stem":509},"\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F02.basic-usage",{"title":46,"path":511,"stem":512},"\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F03.advanced-features",{"title":514,"path":515,"stem":516},"Keamanan & Privasi","\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F04.security-considerations",{"title":99,"path":518,"stem":519},"\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Fexamples","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F06.examples",{"title":521,"path":522,"stem":523},"FAQ","\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Ffaq","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F07.faq",{"title":107,"path":525,"stem":526},"\u002Fid\u002Fdocs\u002Fcore\u002Fscreen-dead-pixel-detector\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F30.screen-dead-pixel-detector\u002F08.related-tools",{"title":528,"path":529,"stem":530,"children":531,"page":26},"Survey Tool","\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool","id\u002F01.docs\u002F02.core\u002F31.survey-tool",[532,536,539,542,545,548,551],{"title":533,"path":534,"stem":535},"Alat Survei","\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F0.introduction",{"title":42,"path":537,"stem":538},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F02.basic-usage",{"title":46,"path":540,"stem":541},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F03.advanced-features",{"title":50,"path":543,"stem":544},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F04.security-considerations",{"title":99,"path":546,"stem":547},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Fexamples","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F06.examples",{"title":521,"path":549,"stem":550},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Ffaq","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F07.faq",{"title":107,"path":552,"stem":553},"\u002Fid\u002Fdocs\u002Fcore\u002Fsurvey-tool\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F31.survey-tool\u002F08.related-tools",{"title":555,"path":556,"stem":557,"children":558,"page":26},"Vue Office","\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office","id\u002F01.docs\u002F02.core\u002F32.vue-office",[559,563,566,569,572,575,578],{"title":560,"path":561,"stem":562},"Penampil Dokumen Vue Office","\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F0.introduction",{"title":42,"path":564,"stem":565},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F02.basic-usage",{"title":46,"path":567,"stem":568},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F03.advanced-features",{"title":50,"path":570,"stem":571},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F04.security-considerations",{"title":99,"path":573,"stem":574},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Fexamples","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F06.examples",{"title":521,"path":576,"stem":577},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Ffaq","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F07.faq",{"title":107,"path":579,"stem":580},"\u002Fid\u002Fdocs\u002Fcore\u002Fvue-office\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F32.vue-office\u002F08.related-tools",{"title":582,"path":583,"stem":584,"children":585,"page":26},"Event Calendar","\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar","id\u002F01.docs\u002F02.core\u002F33.event-calendar",[586,590,593,596,599,602,605],{"title":587,"path":588,"stem":589},"Kalender Acara","\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F0.introduction",{"title":42,"path":591,"stem":592},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F02.basic-usage",{"title":46,"path":594,"stem":595},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F03.advanced-features",{"title":50,"path":597,"stem":598},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F04.security-considerations",{"title":99,"path":600,"stem":601},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Fexamples","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F06.examples",{"title":521,"path":603,"stem":604},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Ffaq","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F07.faq",{"title":107,"path":606,"stem":607},"\u002Fid\u002Fdocs\u002Fcore\u002Fevent-calendar\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F33.event-calendar\u002F08.related-tools",{"title":609,"path":610,"stem":611,"children":612,"page":26},"Html Preview","\u002Fid\u002Fdocs\u002Fcore\u002Fhtml-preview","id\u002F01.docs\u002F02.core\u002F35.html-preview",[613,617,621,625,629,633,637,641],{"title":614,"path":615,"stem":616},"Introduction - HTML Preview","\u002Fid\u002Fdocs\u002Fcore\u002Fhtml-preview\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F35.html-preview\u002F0.introduction",{"title":618,"path":619,"stem":620},"Basic usage - HTML Preview","\u002Fid\u002Fdocs\u002Fcore\u002Fhtml-preview\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F35.html-preview\u002F02.basic-usage",{"title":622,"path":623,"stem":624},"Advanced features - HTML Preview","\u002Fid\u002Fdocs\u002Fcore\u002Fhtml-preview\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F35.html-preview\u002F03.advanced-features",{"title":626,"path":627,"stem":628},"Security considerations - HTML Preview","\u002Fid\u002Fdocs\u002Fcore\u002Fhtml-preview\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F35.html-preview\u002F04.security-considerations",{"title":630,"path":631,"stem":632},"API reference - HTML Preview","\u002Fid\u002Fdocs\u002Fcore\u002Fhtml-preview\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002F35.html-preview\u002F05.api-reference",{"title":634,"path":635,"stem":636},"Examples - HTML Preview","\u002Fid\u002Fdocs\u002Fcore\u002Fhtml-preview\u002Fexamples","id\u002F01.docs\u002F02.core\u002F35.html-preview\u002F06.examples",{"title":638,"path":639,"stem":640},"FAQ - HTML Preview","\u002Fid\u002Fdocs\u002Fcore\u002Fhtml-preview\u002Ffaq","id\u002F01.docs\u002F02.core\u002F35.html-preview\u002F07.faq",{"title":642,"path":643,"stem":644},"Related tools - HTML Preview","\u002Fid\u002Fdocs\u002Fcore\u002Fhtml-preview\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F35.html-preview\u002F08.related-tools",{"title":646,"path":647,"stem":648,"children":649,"page":26},"Pembuat kartu nama","\u002Fid\u002Fdocs\u002Fcore\u002Fbusiness-card","id\u002F01.docs\u002F02.core\u002F36.business-card",[650,653,657,660,664,667,670],{"title":646,"path":651,"stem":652},"\u002Fid\u002Fdocs\u002Fcore\u002Fbusiness-card\u002Fintroduction","id\u002F01.docs\u002F02.core\u002F36.business-card\u002F0.introduction",{"title":654,"path":655,"stem":656},"Penggunaan dasar","\u002Fid\u002Fdocs\u002Fcore\u002Fbusiness-card\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002F36.business-card\u002F02.basic-usage",{"title":234,"path":658,"stem":659},"\u002Fid\u002Fdocs\u002Fcore\u002Fbusiness-card\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002F36.business-card\u002F03.advanced-features",{"title":661,"path":662,"stem":663},"Keamanan","\u002Fid\u002Fdocs\u002Fcore\u002Fbusiness-card\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002F36.business-card\u002F04.security-considerations",{"title":99,"path":665,"stem":666},"\u002Fid\u002Fdocs\u002Fcore\u002Fbusiness-card\u002Fexamples","id\u002F01.docs\u002F02.core\u002F36.business-card\u002F06.examples",{"title":521,"path":668,"stem":669},"\u002Fid\u002Fdocs\u002Fcore\u002Fbusiness-card\u002Ffaq","id\u002F01.docs\u002F02.core\u002F36.business-card\u002F07.faq",{"title":671,"path":672,"stem":673},"Alat terkait","\u002Fid\u002Fdocs\u002Fcore\u002Fbusiness-card\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002F36.business-card\u002F08.related-tools",{"title":675,"path":676,"stem":677,"children":678,"page":26},"Base64","\u002Fid\u002Fdocs\u002Fcore\u002Fbase64","id\u002F01.docs\u002F02.core\u002Fbase64",[679,682,685,688,691,694,697,700],{"title":116,"path":680,"stem":681},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fintroduction","id\u002F01.docs\u002F02.core\u002Fbase64\u002F0.introduction",{"title":42,"path":683,"stem":684},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fbasic-usage","id\u002F01.docs\u002F02.core\u002Fbase64\u002F02.basic-usage",{"title":46,"path":686,"stem":687},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fadvanced-features","id\u002F01.docs\u002F02.core\u002Fbase64\u002F03.advanced-features",{"title":50,"path":689,"stem":690},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fsecurity-considerations","id\u002F01.docs\u002F02.core\u002Fbase64\u002F04.security-considerations",{"title":54,"path":692,"stem":693},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fapi-reference","id\u002F01.docs\u002F02.core\u002Fbase64\u002F05.api-reference",{"title":99,"path":695,"stem":696},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Fexamples","id\u002F01.docs\u002F02.core\u002Fbase64\u002F06.examples",{"title":103,"path":698,"stem":699},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Ffaq","id\u002F01.docs\u002F02.core\u002Fbase64\u002F07.faq",{"title":107,"path":701,"stem":702},"\u002Fid\u002Fdocs\u002Fcore\u002Fbase64\u002Frelated-tools","id\u002F01.docs\u002F02.core\u002Fbase64\u002F08.related-tools",{"title":704,"path":705,"stem":706,"children":707,"page":26},"Troubleshooting","\u002Fid\u002Fdocs\u002Ftroubleshooting","id\u002F01.docs\u002F06.troubleshooting",[708],{"title":709,"path":710,"stem":711},"Pertanyaan Umum","\u002Fid\u002Fdocs\u002Ftroubleshooting\u002Fcommon-issues","id\u002F01.docs\u002F06.troubleshooting\u002F01.common-issues",{"id":713,"title":54,"body":714,"description":724,"extension":3503,"meta":3504,"navigation":6,"path":96,"seo":3505,"sitemap":3506,"stem":97,"__hash__":3507},"content_id\u002Fid\u002F01.docs\u002F02.core\u002F04.image-cropper\u002F05.api-reference.md",{"type":715,"value":716,"toc":3472},"minimark",[717,721,725,730,735,738,837,842,966,970,1031,1035,1038,1188,1191,1278,1282,1374,1378,1382,1537,1541,1632,1636,1640,2029,2033,2321,2325,2598,2602,2606,2641,2645,2716,2720,2724,2891,2895,3029,3033,3037,3175,3179,3468],[718,719,54],"h1",{"id":720},"referensi-api",[722,723,724],"p",{},"Referensi teknis untuk pengembang yang ingin mengintegrasikan atau memperluas fungsionalitas Image Cropper.",[726,727,729],"h2",{"id":728},"komponen-inti","Komponen Inti",[731,732,734],"h3",{"id":733},"komponen-imagecropper","Komponen ImageCropper",[722,736,737],{},"Komponen Vue utama yang menyediakan antarmuka pemotongan gambar.",[739,740,745],"pre",{"className":741,"code":742,"language":743,"meta":744,"style":744},"language-vue shiki shiki-themes github-light github-light dark-plus","\u003Ctemplate>\n  \u003CImageCropper\n    :aspect-ratio=\"aspectRatio\"\n    :output-format=\"format\"\n    :quality=\"quality\"\n    @crop-complete=\"handleCropComplete\"\n  \u002F>\n\u003C\u002Ftemplate>\n","vue","",[746,747,748,764,773,788,799,810,821,827],"code",{"__ignoreMap":744},[749,750,753,757,761],"span",{"class":751,"line":752},"line",1,[749,754,756],{"class":755},"skpqk","\u003C",[749,758,760],{"class":759},"sq2bZ","template",[749,762,763],{"class":755},">\n",[749,765,767,770],{"class":751,"line":766},2,[749,768,769],{"class":755},"  \u003C",[749,771,772],{"class":759},"ImageCropper\n",[749,774,776,780,784],{"class":751,"line":775},3,[749,777,779],{"class":778},"shCbc","    :aspect-ratio",[749,781,783],{"class":782},"svVIm","=",[749,785,787],{"class":786},"sjj1j","\"aspectRatio\"\n",[749,789,791,794,796],{"class":751,"line":790},4,[749,792,793],{"class":778},"    :output-format",[749,795,783],{"class":782},[749,797,798],{"class":786},"\"format\"\n",[749,800,802,805,807],{"class":751,"line":801},5,[749,803,804],{"class":778},"    :quality",[749,806,783],{"class":782},[749,808,809],{"class":786},"\"quality\"\n",[749,811,813,816,818],{"class":751,"line":812},6,[749,814,815],{"class":778},"    @crop-complete",[749,817,783],{"class":782},[749,819,820],{"class":786},"\"handleCropComplete\"\n",[749,822,824],{"class":751,"line":823},7,[749,825,826],{"class":755},"  \u002F>\n",[749,828,830,833,835],{"class":751,"line":829},8,[749,831,832],{"class":755},"\u003C\u002F",[749,834,760],{"class":759},[749,836,763],{"class":755},[838,839,841],"h4",{"id":840},"props","Props",[843,844,845,864],"table",{},[846,847,848],"thead",{},[849,850,851,855,858,861],"tr",{},[852,853,854],"th",{},"Prop",[852,856,857],{},"Tipe",[852,859,860],{},"Bawaan",[852,862,863],{},"Deskripsi",[865,866,867,888,908,928,948],"tbody",{},[849,868,869,875,880,885],{},[870,871,872],"td",{},[746,873,874],{},"aspectRatio",[870,876,877],{},[746,878,879],{},"number | 'free'",[870,881,882],{},[746,883,884],{},"'free'",[870,886,887],{},"Batasan rasio aspek pemotongan",[849,889,890,895,900,905],{},[870,891,892],{},[746,893,894],{},"outputFormat",[870,896,897],{},[746,898,899],{},"'png' | 'jpeg' | 'webp'",[870,901,902],{},[746,903,904],{},"'png'",[870,906,907],{},"Format gambar keluaran",[849,909,910,915,920,925],{},[870,911,912],{},[746,913,914],{},"quality",[870,916,917],{},[746,918,919],{},"number[]",[870,921,922],{},[746,923,924],{},"[85]",[870,926,927],{},"Kualitas JPEG (10-100)",[849,929,930,935,940,945],{},[870,931,932],{},[746,933,934],{},"maxWidth",[870,936,937],{},[746,938,939],{},"number",[870,941,942],{},[746,943,944],{},"undefined",[870,946,947],{},"Lebar keluaran maksimum",[849,949,950,955,959,963],{},[870,951,952],{},[746,953,954],{},"maxHeight",[870,956,957],{},[746,958,939],{},[870,960,961],{},[746,962,944],{},[870,964,965],{},"Tinggi keluaran maksimum",[838,967,969],{"id":968},"events","Events",[843,971,972,984],{},[846,973,974],{},[849,975,976,979,982],{},[852,977,978],{},"Event",[852,980,981],{},"Payload",[852,983,863],{},[865,985,986,1001,1016],{},[849,987,988,993,998],{},[870,989,990],{},[746,991,992],{},"crop-complete",[870,994,995],{},[746,996,997],{},"CropResult",[870,999,1000],{},"Dipicu saat pemotongan selesai",[849,1002,1003,1008,1013],{},[870,1004,1005],{},[746,1006,1007],{},"image-loaded",[870,1009,1010],{},[746,1011,1012],{},"ImageInfo",[870,1014,1015],{},"Dipicu saat gambar sumber dimuat",[849,1017,1018,1023,1028],{},[870,1019,1020],{},[746,1021,1022],{},"error",[870,1024,1025],{},[746,1026,1027],{},"Error",[870,1029,1030],{},"Dipicu saat terjadi kesalahan",[726,1032,1034],{"id":1033},"definisi-tipe","Definisi Tipe",[731,1036,997],{"id":1037},"cropresult",[739,1039,1043],{"className":1040,"code":1041,"language":1042,"meta":744,"style":744},"language-typescript shiki shiki-themes github-light github-light dark-plus","interface CropResult {\n  url: string; \u002F\u002F URL Blob dari gambar yang dipotong\n  blob: Blob; \u002F\u002F Data blob gambar\n  canvas: HTMLCanvasElement; \u002F\u002F Elemen canvas\n  info: {\n    width: number; \u002F\u002F Lebar keluaran dalam piksel\n    height: number; \u002F\u002F Tinggi keluaran dalam piksel\n    size: number; \u002F\u002F Ukuran file dalam byte\n    format: string; \u002F\u002F Format keluaran\n  };\n}\n","typescript",[746,1044,1045,1058,1079,1094,1109,1118,1133,1147,1161,1176,1182],{"__ignoreMap":744},[749,1046,1047,1051,1055],{"class":751,"line":752},[749,1048,1050],{"class":1049},"sGiLm","interface",[749,1052,1054],{"class":1053},"s_0E6"," CropResult",[749,1056,1057],{"class":782}," {\n",[749,1059,1060,1064,1068,1072,1075],{"class":751,"line":766},[749,1061,1063],{"class":1062},"szM7h","  url",[749,1065,1067],{"class":1066},"sGmsN",":",[749,1069,1071],{"class":1070},"s2-Xe"," string",[749,1073,1074],{"class":782},"; ",[749,1076,1078],{"class":1077},"sLEZ0","\u002F\u002F URL Blob dari gambar yang dipotong\n",[749,1080,1081,1084,1086,1089,1091],{"class":751,"line":775},[749,1082,1083],{"class":1062},"  blob",[749,1085,1067],{"class":1066},[749,1087,1088],{"class":1053}," Blob",[749,1090,1074],{"class":782},[749,1092,1093],{"class":1077},"\u002F\u002F Data blob gambar\n",[749,1095,1096,1099,1101,1104,1106],{"class":751,"line":790},[749,1097,1098],{"class":1062},"  canvas",[749,1100,1067],{"class":1066},[749,1102,1103],{"class":1053}," HTMLCanvasElement",[749,1105,1074],{"class":782},[749,1107,1108],{"class":1077},"\u002F\u002F Elemen canvas\n",[749,1110,1111,1114,1116],{"class":751,"line":801},[749,1112,1113],{"class":1062},"  info",[749,1115,1067],{"class":1066},[749,1117,1057],{"class":782},[749,1119,1120,1123,1125,1128,1130],{"class":751,"line":812},[749,1121,1122],{"class":1062},"    width",[749,1124,1067],{"class":1066},[749,1126,1127],{"class":1070}," number",[749,1129,1074],{"class":782},[749,1131,1132],{"class":1077},"\u002F\u002F Lebar keluaran dalam piksel\n",[749,1134,1135,1138,1140,1142,1144],{"class":751,"line":823},[749,1136,1137],{"class":1062},"    height",[749,1139,1067],{"class":1066},[749,1141,1127],{"class":1070},[749,1143,1074],{"class":782},[749,1145,1146],{"class":1077},"\u002F\u002F Tinggi keluaran dalam piksel\n",[749,1148,1149,1152,1154,1156,1158],{"class":751,"line":829},[749,1150,1151],{"class":1062},"    size",[749,1153,1067],{"class":1066},[749,1155,1127],{"class":1070},[749,1157,1074],{"class":782},[749,1159,1160],{"class":1077},"\u002F\u002F Ukuran file dalam byte\n",[749,1162,1164,1167,1169,1171,1173],{"class":751,"line":1163},9,[749,1165,1166],{"class":1062},"    format",[749,1168,1067],{"class":1066},[749,1170,1071],{"class":1070},[749,1172,1074],{"class":782},[749,1174,1175],{"class":1077},"\u002F\u002F Format keluaran\n",[749,1177,1179],{"class":751,"line":1178},10,[749,1180,1181],{"class":782},"  };\n",[749,1183,1185],{"class":751,"line":1184},11,[749,1186,1187],{"class":782},"}\n",[731,1189,1012],{"id":1190},"imageinfo",[739,1192,1194],{"className":1040,"code":1193,"language":1042,"meta":744,"style":744},"interface ImageInfo {\n  width: number; \u002F\u002F Lebar asli\n  height: number; \u002F\u002F Tinggi asli\n  size: number; \u002F\u002F Ukuran file dalam byte\n  type: string; \u002F\u002F Tipe MIME\n  name: string; \u002F\u002F Nama file asli\n}\n",[746,1195,1196,1205,1219,1233,1246,1260,1274],{"__ignoreMap":744},[749,1197,1198,1200,1203],{"class":751,"line":752},[749,1199,1050],{"class":1049},[749,1201,1202],{"class":1053}," ImageInfo",[749,1204,1057],{"class":782},[749,1206,1207,1210,1212,1214,1216],{"class":751,"line":766},[749,1208,1209],{"class":1062},"  width",[749,1211,1067],{"class":1066},[749,1213,1127],{"class":1070},[749,1215,1074],{"class":782},[749,1217,1218],{"class":1077},"\u002F\u002F Lebar asli\n",[749,1220,1221,1224,1226,1228,1230],{"class":751,"line":775},[749,1222,1223],{"class":1062},"  height",[749,1225,1067],{"class":1066},[749,1227,1127],{"class":1070},[749,1229,1074],{"class":782},[749,1231,1232],{"class":1077},"\u002F\u002F Tinggi asli\n",[749,1234,1235,1238,1240,1242,1244],{"class":751,"line":790},[749,1236,1237],{"class":1062},"  size",[749,1239,1067],{"class":1066},[749,1241,1127],{"class":1070},[749,1243,1074],{"class":782},[749,1245,1160],{"class":1077},[749,1247,1248,1251,1253,1255,1257],{"class":751,"line":801},[749,1249,1250],{"class":1062},"  type",[749,1252,1067],{"class":1066},[749,1254,1071],{"class":1070},[749,1256,1074],{"class":782},[749,1258,1259],{"class":1077},"\u002F\u002F Tipe MIME\n",[749,1261,1262,1265,1267,1269,1271],{"class":751,"line":812},[749,1263,1264],{"class":1062},"  name",[749,1266,1067],{"class":1066},[749,1268,1071],{"class":1070},[749,1270,1074],{"class":782},[749,1272,1273],{"class":1077},"\u002F\u002F Nama file asli\n",[749,1275,1276],{"class":751,"line":823},[749,1277,1187],{"class":782},[731,1279,1281],{"id":1280},"cropsettings","CropSettings",[739,1283,1285],{"className":1040,"code":1284,"language":1042,"meta":744,"style":744},"interface CropSettings {\n  aspectRatio: number | \"free\";\n  outputFormat: \"png\" | \"jpeg\" | \"webp\";\n  quality: number;\n  outputWidth?: number;\n  outputHeight?: number;\n}\n",[746,1286,1287,1296,1314,1336,1347,1359,1370],{"__ignoreMap":744},[749,1288,1289,1291,1294],{"class":751,"line":752},[749,1290,1050],{"class":1049},[749,1292,1293],{"class":1053}," CropSettings",[749,1295,1057],{"class":782},[749,1297,1298,1301,1303,1305,1308,1311],{"class":751,"line":766},[749,1299,1300],{"class":1062},"  aspectRatio",[749,1302,1067],{"class":1066},[749,1304,1127],{"class":1070},[749,1306,1307],{"class":1066}," |",[749,1309,1310],{"class":786}," \"free\"",[749,1312,1313],{"class":782},";\n",[749,1315,1316,1319,1321,1324,1326,1329,1331,1334],{"class":751,"line":775},[749,1317,1318],{"class":1062},"  outputFormat",[749,1320,1067],{"class":1066},[749,1322,1323],{"class":786}," \"png\"",[749,1325,1307],{"class":1066},[749,1327,1328],{"class":786}," \"jpeg\"",[749,1330,1307],{"class":1066},[749,1332,1333],{"class":786}," \"webp\"",[749,1335,1313],{"class":782},[749,1337,1338,1341,1343,1345],{"class":751,"line":790},[749,1339,1340],{"class":1062},"  quality",[749,1342,1067],{"class":1066},[749,1344,1127],{"class":1070},[749,1346,1313],{"class":782},[749,1348,1349,1352,1355,1357],{"class":751,"line":801},[749,1350,1351],{"class":1062},"  outputWidth",[749,1353,1354],{"class":1066},"?:",[749,1356,1127],{"class":1070},[749,1358,1313],{"class":782},[749,1360,1361,1364,1366,1368],{"class":751,"line":812},[749,1362,1363],{"class":1062},"  outputHeight",[749,1365,1354],{"class":1066},[749,1367,1127],{"class":1070},[749,1369,1313],{"class":782},[749,1371,1372],{"class":751,"line":823},[749,1373,1187],{"class":782},[726,1375,1377],{"id":1376},"integrasi-cropperjs","Integrasi Cropper.js",[731,1379,1381],{"id":1380},"opsi-konfigurasi","Opsi Konfigurasi",[739,1383,1387],{"className":1384,"code":1385,"language":1386,"meta":744,"style":744},"language-javascript shiki shiki-themes github-light github-light dark-plus","const cropperOptions = {\n  aspectRatio: NaN, \u002F\u002F Rasio aspek bebas\n  viewMode: 1, \u002F\u002F Batasi kotak potong ke canvas\n  responsive: true, \u002F\u002F Pemotong responsif\n  restore: false, \u002F\u002F Jangan kembalikan setelah mengubah ukuran\n  guides: true, \u002F\u002F Tampilkan garis putus-putus\n  center: true, \u002F\u002F Tampilkan indikator tengah\n  highlight: false, \u002F\u002F Jangan sorot area potong\n  cropBoxMovable: true, \u002F\u002F Izinkan memindahkan kotak potong\n  cropBoxResizable: true, \u002F\u002F Izinkan mengubah ukuran kotak potong\n  toggleDragModeOnDblclick: false, \u002F\u002F Nonaktifkan klik ganda\n};\n","javascript",[746,1388,1389,1403,1419,1433,1446,1459,1471,1483,1495,1507,1519,1531],{"__ignoreMap":744},[749,1390,1391,1394,1398,1401],{"class":751,"line":752},[749,1392,1393],{"class":1049},"const",[749,1395,1397],{"class":1396},"sdRU0"," cropperOptions",[749,1399,1400],{"class":1066}," =",[749,1402,1057],{"class":782},[749,1404,1405,1409,1413,1416],{"class":751,"line":766},[749,1406,1408],{"class":1407},"szTj3","  aspectRatio:",[749,1410,1412],{"class":1411},"sLV08"," NaN",[749,1414,1415],{"class":782},", ",[749,1417,1418],{"class":1077},"\u002F\u002F Rasio aspek bebas\n",[749,1420,1421,1424,1428,1430],{"class":751,"line":775},[749,1422,1423],{"class":1407},"  viewMode:",[749,1425,1427],{"class":1426},"sewGd"," 1",[749,1429,1415],{"class":782},[749,1431,1432],{"class":1077},"\u002F\u002F Batasi kotak potong ke canvas\n",[749,1434,1435,1438,1441,1443],{"class":751,"line":790},[749,1436,1437],{"class":1407},"  responsive:",[749,1439,1440],{"class":1411}," true",[749,1442,1415],{"class":782},[749,1444,1445],{"class":1077},"\u002F\u002F Pemotong responsif\n",[749,1447,1448,1451,1454,1456],{"class":751,"line":801},[749,1449,1450],{"class":1407},"  restore:",[749,1452,1453],{"class":1411}," false",[749,1455,1415],{"class":782},[749,1457,1458],{"class":1077},"\u002F\u002F Jangan kembalikan setelah mengubah ukuran\n",[749,1460,1461,1464,1466,1468],{"class":751,"line":812},[749,1462,1463],{"class":1407},"  guides:",[749,1465,1440],{"class":1411},[749,1467,1415],{"class":782},[749,1469,1470],{"class":1077},"\u002F\u002F Tampilkan garis putus-putus\n",[749,1472,1473,1476,1478,1480],{"class":751,"line":823},[749,1474,1475],{"class":1407},"  center:",[749,1477,1440],{"class":1411},[749,1479,1415],{"class":782},[749,1481,1482],{"class":1077},"\u002F\u002F Tampilkan indikator tengah\n",[749,1484,1485,1488,1490,1492],{"class":751,"line":829},[749,1486,1487],{"class":1407},"  highlight:",[749,1489,1453],{"class":1411},[749,1491,1415],{"class":782},[749,1493,1494],{"class":1077},"\u002F\u002F Jangan sorot area potong\n",[749,1496,1497,1500,1502,1504],{"class":751,"line":1163},[749,1498,1499],{"class":1407},"  cropBoxMovable:",[749,1501,1440],{"class":1411},[749,1503,1415],{"class":782},[749,1505,1506],{"class":1077},"\u002F\u002F Izinkan memindahkan kotak potong\n",[749,1508,1509,1512,1514,1516],{"class":751,"line":1178},[749,1510,1511],{"class":1407},"  cropBoxResizable:",[749,1513,1440],{"class":1411},[749,1515,1415],{"class":782},[749,1517,1518],{"class":1077},"\u002F\u002F Izinkan mengubah ukuran kotak potong\n",[749,1520,1521,1524,1526,1528],{"class":751,"line":1184},[749,1522,1523],{"class":1407},"  toggleDragModeOnDblclick:",[749,1525,1453],{"class":1411},[749,1527,1415],{"class":782},[749,1529,1530],{"class":1077},"\u002F\u002F Nonaktifkan klik ganda\n",[749,1532,1534],{"class":751,"line":1533},12,[749,1535,1536],{"class":782},"};\n",[731,1538,1540],{"id":1539},"metode","Metode",[843,1542,1543,1557],{},[846,1544,1545],{},[849,1546,1547,1549,1552,1555],{},[852,1548,1540],{},[852,1550,1551],{},"Parameter",[852,1553,1554],{},"Kembali",[852,1556,863],{},[865,1558,1559,1579,1599,1616],{},[849,1560,1561,1566,1571,1576],{},[870,1562,1563],{},[746,1564,1565],{},"getCroppedCanvas()",[870,1567,1568],{},[746,1569,1570],{},"options?",[870,1572,1573],{},[746,1574,1575],{},"HTMLCanvasElement",[870,1577,1578],{},"Dapatkan area potong sebagai canvas",[849,1580,1581,1586,1591,1596],{},[870,1582,1583],{},[746,1584,1585],{},"setAspectRatio()",[870,1587,1588],{},[746,1589,1590],{},"ratio: number",[870,1592,1593],{},[746,1594,1595],{},"void",[870,1597,1598],{},"Ubah rasio aspek",[849,1600,1601,1606,1609,1613],{},[870,1602,1603],{},[746,1604,1605],{},"reset()",[870,1607,1608],{},"-",[870,1610,1611],{},[746,1612,1595],{},[870,1614,1615],{},"Setel ulang ke status asli",[849,1617,1618,1623,1625,1629],{},[870,1619,1620],{},[746,1621,1622],{},"destroy()",[870,1624,1608],{},[870,1626,1627],{},[746,1628,1595],{},[870,1630,1631],{},"Hancurkan instance pemotong",[726,1633,1635],{"id":1634},"fungsi-utilitas","Fungsi Utilitas",[731,1637,1639],{"id":1638},"penanganan-file","Penanganan File",[739,1641,1643],{"className":1040,"code":1642,"language":1042,"meta":744,"style":744},"\u002F\u002F Muat gambar dari file\nfunction loadImageFromFile(file: File): Promise\u003Cstring> {\n  return new Promise((resolve, reject) => {\n    const reader = new FileReader();\n    reader.onload = (e) => resolve(e.target?.result as string);\n    reader.onerror = reject;\n    reader.readAsDataURL(file);\n  });\n}\n\n\u002F\u002F Unduh blob sebagai file\nfunction downloadBlob(blob: Blob, filename: string): void {\n  const url = URL.createObjectURL(blob);\n  const link = document.createElement(\"a\");\n  link.href = url;\n  link.download = filename;\n  document.body.appendChild(link);\n  link.click();\n  document.body.removeChild(link);\n  URL.revokeObjectURL(url);\n}\n",[746,1644,1645,1650,1686,1716,1734,1783,1799,1814,1819,1823,1828,1833,1867,1892,1917,1934,1951,1974,1986,2006,2024],{"__ignoreMap":744},[749,1646,1647],{"class":751,"line":752},[749,1648,1649],{"class":1077},"\u002F\u002F Muat gambar dari file\n",[749,1651,1652,1655,1659,1662,1665,1667,1670,1673,1675,1678,1680,1683],{"class":751,"line":766},[749,1653,1654],{"class":1049},"function",[749,1656,1658],{"class":1657},"sqMzV"," loadImageFromFile",[749,1660,1661],{"class":782},"(",[749,1663,1664],{"class":1062},"file",[749,1666,1067],{"class":1066},[749,1668,1669],{"class":1053}," File",[749,1671,1672],{"class":782},")",[749,1674,1067],{"class":1066},[749,1676,1677],{"class":1053}," Promise",[749,1679,756],{"class":782},[749,1681,1682],{"class":1070},"string",[749,1684,1685],{"class":782},"> {\n",[749,1687,1688,1692,1695,1697,1700,1703,1705,1708,1711,1714],{"class":751,"line":775},[749,1689,1691],{"class":1690},"srAhW","  return",[749,1693,1694],{"class":1049}," new",[749,1696,1677],{"class":1070},[749,1698,1699],{"class":782},"((",[749,1701,1702],{"class":1062},"resolve",[749,1704,1415],{"class":782},[749,1706,1707],{"class":1062},"reject",[749,1709,1710],{"class":782},") ",[749,1712,1713],{"class":1049},"=>",[749,1715,1057],{"class":782},[749,1717,1718,1721,1724,1726,1728,1731],{"class":751,"line":790},[749,1719,1720],{"class":1049},"    const",[749,1722,1723],{"class":1396}," reader",[749,1725,1400],{"class":1066},[749,1727,1694],{"class":1049},[749,1729,1730],{"class":1657}," FileReader",[749,1732,1733],{"class":782},"();\n",[749,1735,1736,1739,1742,1745,1747,1750,1753,1755,1757,1760,1762,1764,1766,1769,1772,1775,1778,1780],{"class":751,"line":801},[749,1737,1738],{"class":1407},"    reader",[749,1740,1741],{"class":782},".",[749,1743,1744],{"class":1657},"onload",[749,1746,1400],{"class":1066},[749,1748,1749],{"class":782}," (",[749,1751,1752],{"class":1062},"e",[749,1754,1710],{"class":782},[749,1756,1713],{"class":1049},[749,1758,1759],{"class":1657}," resolve",[749,1761,1661],{"class":782},[749,1763,1752],{"class":1407},[749,1765,1741],{"class":782},[749,1767,1768],{"class":1407},"target",[749,1770,1771],{"class":782},"?.",[749,1773,1774],{"class":1407},"result",[749,1776,1777],{"class":1690}," as",[749,1779,1071],{"class":1070},[749,1781,1782],{"class":782},");\n",[749,1784,1785,1787,1789,1792,1794,1797],{"class":751,"line":812},[749,1786,1738],{"class":1407},[749,1788,1741],{"class":782},[749,1790,1791],{"class":1407},"onerror",[749,1793,1400],{"class":1066},[749,1795,1796],{"class":1407}," reject",[749,1798,1313],{"class":782},[749,1800,1801,1803,1805,1808,1810,1812],{"class":751,"line":823},[749,1802,1738],{"class":1407},[749,1804,1741],{"class":782},[749,1806,1807],{"class":1657},"readAsDataURL",[749,1809,1661],{"class":782},[749,1811,1664],{"class":1407},[749,1813,1782],{"class":782},[749,1815,1816],{"class":751,"line":829},[749,1817,1818],{"class":782},"  });\n",[749,1820,1821],{"class":751,"line":1163},[749,1822,1187],{"class":782},[749,1824,1825],{"class":751,"line":1178},[749,1826,1827],{"emptyLinePlaceholder":6},"\n",[749,1829,1830],{"class":751,"line":1184},[749,1831,1832],{"class":1077},"\u002F\u002F Unduh blob sebagai file\n",[749,1834,1835,1837,1840,1842,1845,1847,1849,1851,1854,1856,1858,1860,1862,1865],{"class":751,"line":1533},[749,1836,1654],{"class":1049},[749,1838,1839],{"class":1657}," downloadBlob",[749,1841,1661],{"class":782},[749,1843,1844],{"class":1062},"blob",[749,1846,1067],{"class":1066},[749,1848,1088],{"class":1053},[749,1850,1415],{"class":782},[749,1852,1853],{"class":1062},"filename",[749,1855,1067],{"class":1066},[749,1857,1071],{"class":1070},[749,1859,1672],{"class":782},[749,1861,1067],{"class":1066},[749,1863,1864],{"class":1070}," void",[749,1866,1057],{"class":782},[749,1868,1870,1873,1876,1878,1881,1883,1886,1888,1890],{"class":751,"line":1869},13,[749,1871,1872],{"class":1049},"  const",[749,1874,1875],{"class":1396}," url",[749,1877,1400],{"class":1066},[749,1879,1880],{"class":1396}," URL",[749,1882,1741],{"class":782},[749,1884,1885],{"class":1657},"createObjectURL",[749,1887,1661],{"class":782},[749,1889,1844],{"class":1407},[749,1891,1782],{"class":782},[749,1893,1895,1897,1900,1902,1905,1907,1910,1912,1915],{"class":751,"line":1894},14,[749,1896,1872],{"class":1049},[749,1898,1899],{"class":1396}," link",[749,1901,1400],{"class":1066},[749,1903,1904],{"class":1407}," document",[749,1906,1741],{"class":782},[749,1908,1909],{"class":1657},"createElement",[749,1911,1661],{"class":782},[749,1913,1914],{"class":786},"\"a\"",[749,1916,1782],{"class":782},[749,1918,1920,1923,1925,1928,1930,1932],{"class":751,"line":1919},15,[749,1921,1922],{"class":1407},"  link",[749,1924,1741],{"class":782},[749,1926,1927],{"class":1407},"href",[749,1929,1400],{"class":1066},[749,1931,1875],{"class":1407},[749,1933,1313],{"class":782},[749,1935,1937,1939,1941,1944,1946,1949],{"class":751,"line":1936},16,[749,1938,1922],{"class":1407},[749,1940,1741],{"class":782},[749,1942,1943],{"class":1407},"download",[749,1945,1400],{"class":1066},[749,1947,1948],{"class":1407}," filename",[749,1950,1313],{"class":782},[749,1952,1954,1957,1959,1962,1964,1967,1969,1972],{"class":751,"line":1953},17,[749,1955,1956],{"class":1407},"  document",[749,1958,1741],{"class":782},[749,1960,1961],{"class":1407},"body",[749,1963,1741],{"class":782},[749,1965,1966],{"class":1657},"appendChild",[749,1968,1661],{"class":782},[749,1970,1971],{"class":1407},"link",[749,1973,1782],{"class":782},[749,1975,1977,1979,1981,1984],{"class":751,"line":1976},18,[749,1978,1922],{"class":1407},[749,1980,1741],{"class":782},[749,1982,1983],{"class":1657},"click",[749,1985,1733],{"class":782},[749,1987,1989,1991,1993,1995,1997,2000,2002,2004],{"class":751,"line":1988},19,[749,1990,1956],{"class":1407},[749,1992,1741],{"class":782},[749,1994,1961],{"class":1407},[749,1996,1741],{"class":782},[749,1998,1999],{"class":1657},"removeChild",[749,2001,1661],{"class":782},[749,2003,1971],{"class":1407},[749,2005,1782],{"class":782},[749,2007,2009,2012,2014,2017,2019,2022],{"class":751,"line":2008},20,[749,2010,2011],{"class":1396},"  URL",[749,2013,1741],{"class":782},[749,2015,2016],{"class":1657},"revokeObjectURL",[749,2018,1661],{"class":782},[749,2020,2021],{"class":1407},"url",[749,2023,1782],{"class":782},[749,2025,2027],{"class":751,"line":2026},21,[749,2028,1187],{"class":782},[731,2030,2032],{"id":2031},"pemrosesan-gambar","Pemrosesan Gambar",[739,2034,2036],{"className":1040,"code":2035,"language":1042,"meta":744,"style":744},"\u002F\u002F Ubah canvas ke blob\nfunction canvasToBlob(canvas: HTMLCanvasElement, format: string, quality?: number): Promise\u003CBlob> {\n  return new Promise((resolve) => {\n    canvas.toBlob(resolve, `image\u002F${format}`, quality);\n  });\n}\n\n\u002F\u002F Dapatkan dimensi gambar\nfunction getImageDimensions(src: string): Promise\u003C{ width: number; height: number }> {\n  return new Promise((resolve) => {\n    const img = new Image();\n    img.onload = () =>\n      resolve({\n        width: img.naturalWidth,\n        height: img.naturalHeight,\n      });\n    img.src = src;\n  });\n}\n",[746,2037,2038,2043,2089,2107,2144,2148,2152,2156,2161,2205,2223,2239,2256,2264,2279,2293,2298,2313,2317],{"__ignoreMap":744},[749,2039,2040],{"class":751,"line":752},[749,2041,2042],{"class":1077},"\u002F\u002F Ubah canvas ke blob\n",[749,2044,2045,2047,2050,2052,2055,2057,2059,2061,2064,2066,2068,2070,2072,2074,2076,2078,2080,2082,2084,2087],{"class":751,"line":766},[749,2046,1654],{"class":1049},[749,2048,2049],{"class":1657}," canvasToBlob",[749,2051,1661],{"class":782},[749,2053,2054],{"class":1062},"canvas",[749,2056,1067],{"class":1066},[749,2058,1103],{"class":1053},[749,2060,1415],{"class":782},[749,2062,2063],{"class":1062},"format",[749,2065,1067],{"class":1066},[749,2067,1071],{"class":1070},[749,2069,1415],{"class":782},[749,2071,914],{"class":1062},[749,2073,1354],{"class":1066},[749,2075,1127],{"class":1070},[749,2077,1672],{"class":782},[749,2079,1067],{"class":1066},[749,2081,1677],{"class":1053},[749,2083,756],{"class":782},[749,2085,2086],{"class":1053},"Blob",[749,2088,1685],{"class":782},[749,2090,2091,2093,2095,2097,2099,2101,2103,2105],{"class":751,"line":775},[749,2092,1691],{"class":1690},[749,2094,1694],{"class":1049},[749,2096,1677],{"class":1070},[749,2098,1699],{"class":782},[749,2100,1702],{"class":1062},[749,2102,1710],{"class":782},[749,2104,1713],{"class":1049},[749,2106,1057],{"class":782},[749,2108,2109,2112,2114,2117,2119,2121,2123,2126,2130,2132,2135,2138,2140,2142],{"class":751,"line":790},[749,2110,2111],{"class":1407},"    canvas",[749,2113,1741],{"class":782},[749,2115,2116],{"class":1657},"toBlob",[749,2118,1661],{"class":782},[749,2120,1702],{"class":1407},[749,2122,1415],{"class":782},[749,2124,2125],{"class":786},"`image\u002F",[749,2127,2129],{"class":2128},"s7eq4","${",[749,2131,2063],{"class":1407},[749,2133,2134],{"class":2128},"}",[749,2136,2137],{"class":786},"`",[749,2139,1415],{"class":782},[749,2141,914],{"class":1407},[749,2143,1782],{"class":782},[749,2145,2146],{"class":751,"line":801},[749,2147,1818],{"class":782},[749,2149,2150],{"class":751,"line":812},[749,2151,1187],{"class":782},[749,2153,2154],{"class":751,"line":823},[749,2155,1827],{"emptyLinePlaceholder":6},[749,2157,2158],{"class":751,"line":829},[749,2159,2160],{"class":1077},"\u002F\u002F Dapatkan dimensi gambar\n",[749,2162,2163,2165,2168,2170,2173,2175,2177,2179,2181,2183,2186,2189,2191,2193,2195,2198,2200,2202],{"class":751,"line":1163},[749,2164,1654],{"class":1049},[749,2166,2167],{"class":1657}," getImageDimensions",[749,2169,1661],{"class":782},[749,2171,2172],{"class":1062},"src",[749,2174,1067],{"class":1066},[749,2176,1071],{"class":1070},[749,2178,1672],{"class":782},[749,2180,1067],{"class":1066},[749,2182,1677],{"class":1053},[749,2184,2185],{"class":782},"\u003C{ ",[749,2187,2188],{"class":1062},"width",[749,2190,1067],{"class":1066},[749,2192,1127],{"class":1070},[749,2194,1074],{"class":782},[749,2196,2197],{"class":1062},"height",[749,2199,1067],{"class":1066},[749,2201,1127],{"class":1070},[749,2203,2204],{"class":782}," }> {\n",[749,2206,2207,2209,2211,2213,2215,2217,2219,2221],{"class":751,"line":1178},[749,2208,1691],{"class":1690},[749,2210,1694],{"class":1049},[749,2212,1677],{"class":1070},[749,2214,1699],{"class":782},[749,2216,1702],{"class":1062},[749,2218,1710],{"class":782},[749,2220,1713],{"class":1049},[749,2222,1057],{"class":782},[749,2224,2225,2227,2230,2232,2234,2237],{"class":751,"line":1184},[749,2226,1720],{"class":1049},[749,2228,2229],{"class":1396}," img",[749,2231,1400],{"class":1066},[749,2233,1694],{"class":1049},[749,2235,2236],{"class":1657}," Image",[749,2238,1733],{"class":782},[749,2240,2241,2244,2246,2248,2250,2253],{"class":751,"line":1533},[749,2242,2243],{"class":1407},"    img",[749,2245,1741],{"class":782},[749,2247,1744],{"class":1657},[749,2249,1400],{"class":1066},[749,2251,2252],{"class":782}," () ",[749,2254,2255],{"class":1049},"=>\n",[749,2257,2258,2261],{"class":751,"line":1869},[749,2259,2260],{"class":1657},"      resolve",[749,2262,2263],{"class":782},"({\n",[749,2265,2266,2269,2271,2273,2276],{"class":751,"line":1894},[749,2267,2268],{"class":1407},"        width:",[749,2270,2229],{"class":1407},[749,2272,1741],{"class":782},[749,2274,2275],{"class":1407},"naturalWidth",[749,2277,2278],{"class":782},",\n",[749,2280,2281,2284,2286,2288,2291],{"class":751,"line":1919},[749,2282,2283],{"class":1407},"        height:",[749,2285,2229],{"class":1407},[749,2287,1741],{"class":782},[749,2289,2290],{"class":1407},"naturalHeight",[749,2292,2278],{"class":782},[749,2294,2295],{"class":751,"line":1936},[749,2296,2297],{"class":782},"      });\n",[749,2299,2300,2302,2304,2306,2308,2311],{"class":751,"line":1953},[749,2301,2243],{"class":1407},[749,2303,1741],{"class":782},[749,2305,2172],{"class":1407},[749,2307,1400],{"class":1066},[749,2309,2310],{"class":1407}," src",[749,2312,1313],{"class":782},[749,2314,2315],{"class":751,"line":1976},[749,2316,1818],{"class":782},[749,2318,2319],{"class":751,"line":1988},[749,2320,1187],{"class":782},[731,2322,2324],{"id":2323},"konversi-format","Konversi Format",[739,2326,2328],{"className":1040,"code":2327,"language":1042,"meta":744,"style":744},"\u002F\u002F Format ukuran file untuk tampilan\nfunction formatFileSize(bytes: number): string {\n  const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\"];\n  if (bytes === 0) return \"0 Bytes\";\n  const i = Math.floor(Math.log(bytes) \u002F Math.log(1024));\n  return Math.round((bytes \u002F Math.pow(1024, i)) * 100) \u002F 100 + \" \" + sizes[i];\n}\n\n\u002F\u002F Validasi file gambar\nfunction isValidImageFile(file: File): boolean {\n  return file.type.startsWith(\"image\u002F\");\n}\n",[746,2329,2330,2335,2359,2392,2417,2467,2533,2537,2541,2546,2570,2594],{"__ignoreMap":744},[749,2331,2332],{"class":751,"line":752},[749,2333,2334],{"class":1077},"\u002F\u002F Format ukuran file untuk tampilan\n",[749,2336,2337,2339,2342,2344,2347,2349,2351,2353,2355,2357],{"class":751,"line":766},[749,2338,1654],{"class":1049},[749,2340,2341],{"class":1657}," formatFileSize",[749,2343,1661],{"class":782},[749,2345,2346],{"class":1062},"bytes",[749,2348,1067],{"class":1066},[749,2350,1127],{"class":1070},[749,2352,1672],{"class":782},[749,2354,1067],{"class":1066},[749,2356,1071],{"class":1070},[749,2358,1057],{"class":782},[749,2360,2361,2363,2366,2368,2371,2374,2376,2379,2381,2384,2386,2389],{"class":751,"line":775},[749,2362,1872],{"class":1049},[749,2364,2365],{"class":1396}," sizes",[749,2367,1400],{"class":1066},[749,2369,2370],{"class":782}," [",[749,2372,2373],{"class":786},"\"Bytes\"",[749,2375,1415],{"class":782},[749,2377,2378],{"class":786},"\"KB\"",[749,2380,1415],{"class":782},[749,2382,2383],{"class":786},"\"MB\"",[749,2385,1415],{"class":782},[749,2387,2388],{"class":786},"\"GB\"",[749,2390,2391],{"class":782},"];\n",[749,2393,2394,2397,2399,2401,2404,2407,2409,2412,2415],{"class":751,"line":790},[749,2395,2396],{"class":1690},"  if",[749,2398,1749],{"class":782},[749,2400,2346],{"class":1407},[749,2402,2403],{"class":1066}," ===",[749,2405,2406],{"class":1426}," 0",[749,2408,1710],{"class":782},[749,2410,2411],{"class":1690},"return",[749,2413,2414],{"class":786}," \"0 Bytes\"",[749,2416,1313],{"class":782},[749,2418,2419,2421,2424,2426,2429,2431,2434,2436,2439,2441,2444,2446,2448,2450,2453,2455,2457,2459,2461,2464],{"class":751,"line":801},[749,2420,1872],{"class":1049},[749,2422,2423],{"class":1396}," i",[749,2425,1400],{"class":1066},[749,2427,2428],{"class":1407}," Math",[749,2430,1741],{"class":782},[749,2432,2433],{"class":1657},"floor",[749,2435,1661],{"class":782},[749,2437,2438],{"class":1407},"Math",[749,2440,1741],{"class":782},[749,2442,2443],{"class":1657},"log",[749,2445,1661],{"class":782},[749,2447,2346],{"class":1407},[749,2449,1710],{"class":782},[749,2451,2452],{"class":1066},"\u002F",[749,2454,2428],{"class":1407},[749,2456,1741],{"class":782},[749,2458,2443],{"class":1657},[749,2460,1661],{"class":782},[749,2462,2463],{"class":1426},"1024",[749,2465,2466],{"class":782},"));\n",[749,2468,2469,2471,2473,2475,2478,2480,2482,2485,2487,2489,2492,2494,2496,2498,2501,2504,2507,2510,2512,2514,2516,2519,2522,2524,2526,2529,2531],{"class":751,"line":812},[749,2470,1691],{"class":1690},[749,2472,2428],{"class":1407},[749,2474,1741],{"class":782},[749,2476,2477],{"class":1657},"round",[749,2479,1699],{"class":782},[749,2481,2346],{"class":1407},[749,2483,2484],{"class":1066}," \u002F",[749,2486,2428],{"class":1407},[749,2488,1741],{"class":782},[749,2490,2491],{"class":1657},"pow",[749,2493,1661],{"class":782},[749,2495,2463],{"class":1426},[749,2497,1415],{"class":782},[749,2499,2500],{"class":1407},"i",[749,2502,2503],{"class":782},")) ",[749,2505,2506],{"class":1066},"*",[749,2508,2509],{"class":1426}," 100",[749,2511,1710],{"class":782},[749,2513,2452],{"class":1066},[749,2515,2509],{"class":1426},[749,2517,2518],{"class":1066}," +",[749,2520,2521],{"class":786}," \" \"",[749,2523,2518],{"class":1066},[749,2525,2365],{"class":1407},[749,2527,2528],{"class":782},"[",[749,2530,2500],{"class":1407},[749,2532,2391],{"class":782},[749,2534,2535],{"class":751,"line":823},[749,2536,1187],{"class":782},[749,2538,2539],{"class":751,"line":829},[749,2540,1827],{"emptyLinePlaceholder":6},[749,2542,2543],{"class":751,"line":1163},[749,2544,2545],{"class":1077},"\u002F\u002F Validasi file gambar\n",[749,2547,2548,2550,2553,2555,2557,2559,2561,2563,2565,2568],{"class":751,"line":1178},[749,2549,1654],{"class":1049},[749,2551,2552],{"class":1657}," isValidImageFile",[749,2554,1661],{"class":782},[749,2556,1664],{"class":1062},[749,2558,1067],{"class":1066},[749,2560,1669],{"class":1053},[749,2562,1672],{"class":782},[749,2564,1067],{"class":1066},[749,2566,2567],{"class":1070}," boolean",[749,2569,1057],{"class":782},[749,2571,2572,2574,2577,2579,2582,2584,2587,2589,2592],{"class":751,"line":1184},[749,2573,1691],{"class":1690},[749,2575,2576],{"class":1407}," file",[749,2578,1741],{"class":782},[749,2580,2581],{"class":1407},"type",[749,2583,1741],{"class":782},[749,2585,2586],{"class":1657},"startsWith",[749,2588,1661],{"class":782},[749,2590,2591],{"class":786},"\"image\u002F\"",[749,2593,1782],{"class":782},[749,2595,2596],{"class":751,"line":1533},[749,2597,1187],{"class":782},[726,2599,2601],{"id":2600},"kompatibilitas-browser","Kompatibilitas Browser",[731,2603,2605],{"id":2604},"api-yang-diperlukan","API yang Diperlukan",[2607,2608,2609,2617,2623,2629,2635],"ul",{},[2610,2611,2612,2616],"li",{},[2613,2614,2615],"strong",{},"Canvas API",": Untuk manipulasi gambar",[2610,2618,2619,2622],{},[2613,2620,2621],{},"File API",": Untuk penanganan unggahan file",[2610,2624,2625,2628],{},[2613,2626,2627],{},"Blob API",": Untuk pembuatan hasil",[2610,2630,2631,2634],{},[2613,2632,2633],{},"URL.createObjectURL",": Untuk pratinjau gambar",[2610,2636,2637,2640],{},[2613,2638,2639],{},"Clipboard API",": Untuk fungsionalitas salin (opsional)",[731,2642,2644],{"id":2643},"dukungan-browser","Dukungan Browser",[843,2646,2647,2666],{},[846,2648,2649],{},[849,2650,2651,2654,2657,2660,2663],{},[852,2652,2653],{},"Fitur",[852,2655,2656],{},"Chrome",[852,2658,2659],{},"Firefox",[852,2661,2662],{},"Safari",[852,2664,2665],{},"Edge",[865,2667,2668,2685,2701],{},[849,2669,2670,2673,2676,2679,2682],{},[870,2671,2672],{},"Fungsionalitas inti",[870,2674,2675],{},"✅ 50+",[870,2677,2678],{},"✅ 52+",[870,2680,2681],{},"✅ 10+",[870,2683,2684],{},"✅ 79+",[849,2686,2687,2690,2693,2696,2699],{},[870,2688,2689],{},"Keluaran WebP",[870,2691,2692],{},"✅ 32+",[870,2694,2695],{},"✅ 65+",[870,2697,2698],{},"✅ 14+",[870,2700,2684],{},[849,2702,2703,2705,2708,2711,2714],{},[870,2704,2639],{},[870,2706,2707],{},"✅ 66+",[870,2709,2710],{},"✅ 63+",[870,2712,2713],{},"✅ 13.1+",[870,2715,2684],{},[726,2717,2719],{"id":2718},"penanganan-kesalahan","Penanganan Kesalahan",[731,2721,2723],{"id":2722},"jenis-kesalahan-umum","Jenis Kesalahan Umum",[739,2725,2727],{"className":1040,"code":2726,"language":1042,"meta":744,"style":744},"\u002F\u002F Kesalahan validasi file\nclass InvalidFileTypeError extends Error {\n  constructor() {\n    super(\"Jenis file tidak valid. Silakan pilih file gambar.\");\n  }\n}\n\n\u002F\u002F Kesalahan memori\nclass ImageTooLargeError extends Error {\n  constructor() {\n    super(\"Gambar terlalu besar untuk diproses di browser ini.\");\n  }\n}\n\n\u002F\u002F Kesalahan pemrosesan\nclass CropProcessingError extends Error {\n  constructor(message: string) {\n    super(`Pemrosesan pemotongan gagal: ${message}`);\n  }\n}\n",[746,2728,2729,2734,2750,2758,2770,2775,2779,2783,2788,2801,2807,2818,2822,2826,2830,2835,2848,2864,2883,2887],{"__ignoreMap":744},[749,2730,2731],{"class":751,"line":752},[749,2732,2733],{"class":1077},"\u002F\u002F Kesalahan validasi file\n",[749,2735,2736,2739,2742,2745,2748],{"class":751,"line":766},[749,2737,2738],{"class":1049},"class",[749,2740,2741],{"class":1053}," InvalidFileTypeError",[749,2743,2744],{"class":1049}," extends",[749,2746,2747],{"class":1053}," Error",[749,2749,1057],{"class":782},[749,2751,2752,2755],{"class":751,"line":775},[749,2753,2754],{"class":1049},"  constructor",[749,2756,2757],{"class":782},"() {\n",[749,2759,2760,2763,2765,2768],{"class":751,"line":790},[749,2761,2762],{"class":1411},"    super",[749,2764,1661],{"class":782},[749,2766,2767],{"class":786},"\"Jenis file tidak valid. Silakan pilih file gambar.\"",[749,2769,1782],{"class":782},[749,2771,2772],{"class":751,"line":801},[749,2773,2774],{"class":782},"  }\n",[749,2776,2777],{"class":751,"line":812},[749,2778,1187],{"class":782},[749,2780,2781],{"class":751,"line":823},[749,2782,1827],{"emptyLinePlaceholder":6},[749,2784,2785],{"class":751,"line":829},[749,2786,2787],{"class":1077},"\u002F\u002F Kesalahan memori\n",[749,2789,2790,2792,2795,2797,2799],{"class":751,"line":1163},[749,2791,2738],{"class":1049},[749,2793,2794],{"class":1053}," ImageTooLargeError",[749,2796,2744],{"class":1049},[749,2798,2747],{"class":1053},[749,2800,1057],{"class":782},[749,2802,2803,2805],{"class":751,"line":1178},[749,2804,2754],{"class":1049},[749,2806,2757],{"class":782},[749,2808,2809,2811,2813,2816],{"class":751,"line":1184},[749,2810,2762],{"class":1411},[749,2812,1661],{"class":782},[749,2814,2815],{"class":786},"\"Gambar terlalu besar untuk diproses di browser ini.\"",[749,2817,1782],{"class":782},[749,2819,2820],{"class":751,"line":1533},[749,2821,2774],{"class":782},[749,2823,2824],{"class":751,"line":1869},[749,2825,1187],{"class":782},[749,2827,2828],{"class":751,"line":1894},[749,2829,1827],{"emptyLinePlaceholder":6},[749,2831,2832],{"class":751,"line":1919},[749,2833,2834],{"class":1077},"\u002F\u002F Kesalahan pemrosesan\n",[749,2836,2837,2839,2842,2844,2846],{"class":751,"line":1936},[749,2838,2738],{"class":1049},[749,2840,2841],{"class":1053}," CropProcessingError",[749,2843,2744],{"class":1049},[749,2845,2747],{"class":1053},[749,2847,1057],{"class":782},[749,2849,2850,2852,2854,2857,2859,2861],{"class":751,"line":1953},[749,2851,2754],{"class":1049},[749,2853,1661],{"class":782},[749,2855,2856],{"class":1062},"message",[749,2858,1067],{"class":1066},[749,2860,1071],{"class":1070},[749,2862,2863],{"class":782},") {\n",[749,2865,2866,2868,2870,2873,2875,2877,2879,2881],{"class":751,"line":1976},[749,2867,2762],{"class":1411},[749,2869,1661],{"class":782},[749,2871,2872],{"class":786},"`Pemrosesan pemotongan gagal: ",[749,2874,2129],{"class":2128},[749,2876,2856],{"class":1407},[749,2878,2134],{"class":2128},[749,2880,2137],{"class":786},[749,2882,1782],{"class":782},[749,2884,2885],{"class":751,"line":1988},[749,2886,2774],{"class":782},[749,2888,2889],{"class":751,"line":2008},[749,2890,1187],{"class":782},[731,2892,2894],{"id":2893},"pemulihan-kesalahan","Pemulihan Kesalahan",[739,2896,2898],{"className":1040,"code":2897,"language":1042,"meta":744,"style":744},"\u002F\u002F Penanganan kesalahan yang anggun\nfunction handleCropError(error: Error): void {\n  if (error instanceof InvalidFileTypeError) {\n    \u002F\u002F Tampilkan pesan kesalahan jenis file\n    showErrorMessage(\"Silakan pilih file gambar yang valid\");\n  } else if (error instanceof ImageTooLargeError) {\n    \u002F\u002F Sarankan pengurangan ukuran gambar\n    showErrorMessage(\"Gambar terlalu besar. Silakan gunakan gambar yang lebih kecil\");\n  } else {\n    \u002F\u002F Penanganan kesalahan umum\n    showErrorMessage(\"Terjadi kesalahan. Silakan coba lagi\");\n  }\n}\n",[746,2899,2900,2905,2928,2943,2948,2960,2981,2986,2997,3005,3010,3021,3025],{"__ignoreMap":744},[749,2901,2902],{"class":751,"line":752},[749,2903,2904],{"class":1077},"\u002F\u002F Penanganan kesalahan yang anggun\n",[749,2906,2907,2909,2912,2914,2916,2918,2920,2922,2924,2926],{"class":751,"line":766},[749,2908,1654],{"class":1049},[749,2910,2911],{"class":1657}," handleCropError",[749,2913,1661],{"class":782},[749,2915,1022],{"class":1062},[749,2917,1067],{"class":1066},[749,2919,2747],{"class":1053},[749,2921,1672],{"class":782},[749,2923,1067],{"class":1066},[749,2925,1864],{"class":1070},[749,2927,1057],{"class":782},[749,2929,2930,2932,2934,2936,2939,2941],{"class":751,"line":775},[749,2931,2396],{"class":1690},[749,2933,1749],{"class":782},[749,2935,1022],{"class":1407},[749,2937,2938],{"class":1049}," instanceof",[749,2940,2741],{"class":1053},[749,2942,2863],{"class":782},[749,2944,2945],{"class":751,"line":790},[749,2946,2947],{"class":1077},"    \u002F\u002F Tampilkan pesan kesalahan jenis file\n",[749,2949,2950,2953,2955,2958],{"class":751,"line":801},[749,2951,2952],{"class":1657},"    showErrorMessage",[749,2954,1661],{"class":782},[749,2956,2957],{"class":786},"\"Silakan pilih file gambar yang valid\"",[749,2959,1782],{"class":782},[749,2961,2962,2965,2968,2971,2973,2975,2977,2979],{"class":751,"line":812},[749,2963,2964],{"class":782},"  } ",[749,2966,2967],{"class":1690},"else",[749,2969,2970],{"class":1690}," if",[749,2972,1749],{"class":782},[749,2974,1022],{"class":1407},[749,2976,2938],{"class":1049},[749,2978,2794],{"class":1053},[749,2980,2863],{"class":782},[749,2982,2983],{"class":751,"line":823},[749,2984,2985],{"class":1077},"    \u002F\u002F Sarankan pengurangan ukuran gambar\n",[749,2987,2988,2990,2992,2995],{"class":751,"line":829},[749,2989,2952],{"class":1657},[749,2991,1661],{"class":782},[749,2993,2994],{"class":786},"\"Gambar terlalu besar. Silakan gunakan gambar yang lebih kecil\"",[749,2996,1782],{"class":782},[749,2998,2999,3001,3003],{"class":751,"line":1163},[749,3000,2964],{"class":782},[749,3002,2967],{"class":1690},[749,3004,1057],{"class":782},[749,3006,3007],{"class":751,"line":1178},[749,3008,3009],{"class":1077},"    \u002F\u002F Penanganan kesalahan umum\n",[749,3011,3012,3014,3016,3019],{"class":751,"line":1184},[749,3013,2952],{"class":1657},[749,3015,1661],{"class":782},[749,3017,3018],{"class":786},"\"Terjadi kesalahan. Silakan coba lagi\"",[749,3020,1782],{"class":782},[749,3022,3023],{"class":751,"line":1533},[749,3024,2774],{"class":782},[749,3026,3027],{"class":751,"line":1869},[749,3028,1187],{"class":782},[726,3030,3032],{"id":3031},"pengoptimalan-kinerja","Pengoptimalan Kinerja",[731,3034,3036],{"id":3035},"manajemen-memori","Manajemen Memori",[739,3038,3040],{"className":1040,"code":3039,"language":1042,"meta":744,"style":744},"\u002F\u002F Bersihkan sumber daya\nfunction cleanup(): void {\n  \u002F\u002F Cabut URL blob\n  blobUrls.forEach((url) => URL.revokeObjectURL(url));\n\n  \u002F\u002F Hancurkan instance pemotong\n  if (cropper) {\n    cropper.destroy();\n    cropper = null;\n  }\n\n  \u002F\u002F Bersihkan referensi canvas\n  canvasRefs.length = 0;\n}\n",[746,3041,3042,3047,3063,3068,3098,3102,3107,3118,3130,3141,3145,3149,3154,3171],{"__ignoreMap":744},[749,3043,3044],{"class":751,"line":752},[749,3045,3046],{"class":1077},"\u002F\u002F Bersihkan sumber daya\n",[749,3048,3049,3051,3054,3057,3059,3061],{"class":751,"line":766},[749,3050,1654],{"class":1049},[749,3052,3053],{"class":1657}," cleanup",[749,3055,3056],{"class":782},"()",[749,3058,1067],{"class":1066},[749,3060,1864],{"class":1070},[749,3062,1057],{"class":782},[749,3064,3065],{"class":751,"line":775},[749,3066,3067],{"class":1077},"  \u002F\u002F Cabut URL blob\n",[749,3069,3070,3073,3075,3078,3080,3082,3084,3086,3088,3090,3092,3094,3096],{"class":751,"line":790},[749,3071,3072],{"class":1407},"  blobUrls",[749,3074,1741],{"class":782},[749,3076,3077],{"class":1657},"forEach",[749,3079,1699],{"class":782},[749,3081,2021],{"class":1062},[749,3083,1710],{"class":782},[749,3085,1713],{"class":1049},[749,3087,1880],{"class":1396},[749,3089,1741],{"class":782},[749,3091,2016],{"class":1657},[749,3093,1661],{"class":782},[749,3095,2021],{"class":1407},[749,3097,2466],{"class":782},[749,3099,3100],{"class":751,"line":801},[749,3101,1827],{"emptyLinePlaceholder":6},[749,3103,3104],{"class":751,"line":812},[749,3105,3106],{"class":1077},"  \u002F\u002F Hancurkan instance pemotong\n",[749,3108,3109,3111,3113,3116],{"class":751,"line":823},[749,3110,2396],{"class":1690},[749,3112,1749],{"class":782},[749,3114,3115],{"class":1407},"cropper",[749,3117,2863],{"class":782},[749,3119,3120,3123,3125,3128],{"class":751,"line":829},[749,3121,3122],{"class":1407},"    cropper",[749,3124,1741],{"class":782},[749,3126,3127],{"class":1657},"destroy",[749,3129,1733],{"class":782},[749,3131,3132,3134,3136,3139],{"class":751,"line":1163},[749,3133,3122],{"class":1407},[749,3135,1400],{"class":1066},[749,3137,3138],{"class":1411}," null",[749,3140,1313],{"class":782},[749,3142,3143],{"class":751,"line":1178},[749,3144,2774],{"class":782},[749,3146,3147],{"class":751,"line":1184},[749,3148,1827],{"emptyLinePlaceholder":6},[749,3150,3151],{"class":751,"line":1533},[749,3152,3153],{"class":1077},"  \u002F\u002F Bersihkan referensi canvas\n",[749,3155,3156,3159,3161,3165,3167,3169],{"class":751,"line":1869},[749,3157,3158],{"class":1407},"  canvasRefs",[749,3160,1741],{"class":782},[749,3162,3164],{"class":3163},"sSQ6O","length",[749,3166,1400],{"class":1066},[749,3168,2406],{"class":1426},[749,3170,1313],{"class":782},[749,3172,3173],{"class":751,"line":1894},[749,3174,1187],{"class":782},[731,3176,3178],{"id":3177},"penanganan-gambar-besar","Penanganan Gambar Besar",[739,3180,3182],{"className":1040,"code":3181,"language":1042,"meta":744,"style":744},"\u002F\u002F Proses gambar besar secara efisien\nfunction processLargeImage(canvas: HTMLCanvasElement): HTMLCanvasElement {\n  const maxDimension = 4096; \u002F\u002F Batas browser\n  const scale = Math.min(maxDimension \u002F canvas.width, maxDimension \u002F canvas.height, 1);\n\n  if (scale \u003C 1) {\n    const scaledCanvas = document.createElement(\"canvas\");\n    scaledCanvas.width = canvas.width * scale;\n    scaledCanvas.height = canvas.height * scale;\n\n    const ctx = scaledCanvas.getContext(\"2d\");\n    ctx.drawImage(canvas, 0, 0, scaledCanvas.width, scaledCanvas.height);\n\n    return scaledCanvas;\n  }\n\n  return canvas;\n}\n",[746,3183,3184,3189,3212,3229,3278,3282,3298,3320,3344,3366,3370,3393,3435,3439,3448,3452,3456,3464],{"__ignoreMap":744},[749,3185,3186],{"class":751,"line":752},[749,3187,3188],{"class":1077},"\u002F\u002F Proses gambar besar secara efisien\n",[749,3190,3191,3193,3196,3198,3200,3202,3204,3206,3208,3210],{"class":751,"line":766},[749,3192,1654],{"class":1049},[749,3194,3195],{"class":1657}," processLargeImage",[749,3197,1661],{"class":782},[749,3199,2054],{"class":1062},[749,3201,1067],{"class":1066},[749,3203,1103],{"class":1053},[749,3205,1672],{"class":782},[749,3207,1067],{"class":1066},[749,3209,1103],{"class":1053},[749,3211,1057],{"class":782},[749,3213,3214,3216,3219,3221,3224,3226],{"class":751,"line":775},[749,3215,1872],{"class":1049},[749,3217,3218],{"class":1396}," maxDimension",[749,3220,1400],{"class":1066},[749,3222,3223],{"class":1426}," 4096",[749,3225,1074],{"class":782},[749,3227,3228],{"class":1077},"\u002F\u002F Batas browser\n",[749,3230,3231,3233,3236,3238,3240,3242,3245,3247,3250,3252,3255,3257,3259,3261,3263,3265,3267,3269,3271,3273,3276],{"class":751,"line":790},[749,3232,1872],{"class":1049},[749,3234,3235],{"class":1396}," scale",[749,3237,1400],{"class":1066},[749,3239,2428],{"class":1407},[749,3241,1741],{"class":782},[749,3243,3244],{"class":1657},"min",[749,3246,1661],{"class":782},[749,3248,3249],{"class":1407},"maxDimension",[749,3251,2484],{"class":1066},[749,3253,3254],{"class":1407}," canvas",[749,3256,1741],{"class":782},[749,3258,2188],{"class":1407},[749,3260,1415],{"class":782},[749,3262,3249],{"class":1407},[749,3264,2484],{"class":1066},[749,3266,3254],{"class":1407},[749,3268,1741],{"class":782},[749,3270,2197],{"class":1407},[749,3272,1415],{"class":782},[749,3274,3275],{"class":1426},"1",[749,3277,1782],{"class":782},[749,3279,3280],{"class":751,"line":801},[749,3281,1827],{"emptyLinePlaceholder":6},[749,3283,3284,3286,3288,3291,3294,3296],{"class":751,"line":812},[749,3285,2396],{"class":1690},[749,3287,1749],{"class":782},[749,3289,3290],{"class":1407},"scale",[749,3292,3293],{"class":1066}," \u003C",[749,3295,1427],{"class":1426},[749,3297,2863],{"class":782},[749,3299,3300,3302,3305,3307,3309,3311,3313,3315,3318],{"class":751,"line":823},[749,3301,1720],{"class":1049},[749,3303,3304],{"class":1396}," scaledCanvas",[749,3306,1400],{"class":1066},[749,3308,1904],{"class":1407},[749,3310,1741],{"class":782},[749,3312,1909],{"class":1657},[749,3314,1661],{"class":782},[749,3316,3317],{"class":786},"\"canvas\"",[749,3319,1782],{"class":782},[749,3321,3322,3325,3327,3329,3331,3333,3335,3337,3340,3342],{"class":751,"line":829},[749,3323,3324],{"class":1407},"    scaledCanvas",[749,3326,1741],{"class":782},[749,3328,2188],{"class":1407},[749,3330,1400],{"class":1066},[749,3332,3254],{"class":1407},[749,3334,1741],{"class":782},[749,3336,2188],{"class":1407},[749,3338,3339],{"class":1066}," *",[749,3341,3235],{"class":1407},[749,3343,1313],{"class":782},[749,3345,3346,3348,3350,3352,3354,3356,3358,3360,3362,3364],{"class":751,"line":1163},[749,3347,3324],{"class":1407},[749,3349,1741],{"class":782},[749,3351,2197],{"class":1407},[749,3353,1400],{"class":1066},[749,3355,3254],{"class":1407},[749,3357,1741],{"class":782},[749,3359,2197],{"class":1407},[749,3361,3339],{"class":1066},[749,3363,3235],{"class":1407},[749,3365,1313],{"class":782},[749,3367,3368],{"class":751,"line":1178},[749,3369,1827],{"emptyLinePlaceholder":6},[749,3371,3372,3374,3377,3379,3381,3383,3386,3388,3391],{"class":751,"line":1184},[749,3373,1720],{"class":1049},[749,3375,3376],{"class":1396}," ctx",[749,3378,1400],{"class":1066},[749,3380,3304],{"class":1407},[749,3382,1741],{"class":782},[749,3384,3385],{"class":1657},"getContext",[749,3387,1661],{"class":782},[749,3389,3390],{"class":786},"\"2d\"",[749,3392,1782],{"class":782},[749,3394,3395,3398,3400,3403,3405,3407,3409,3412,3414,3416,3418,3421,3423,3425,3427,3429,3431,3433],{"class":751,"line":1533},[749,3396,3397],{"class":1407},"    ctx",[749,3399,1741],{"class":782},[749,3401,3402],{"class":1657},"drawImage",[749,3404,1661],{"class":782},[749,3406,2054],{"class":1407},[749,3408,1415],{"class":782},[749,3410,3411],{"class":1426},"0",[749,3413,1415],{"class":782},[749,3415,3411],{"class":1426},[749,3417,1415],{"class":782},[749,3419,3420],{"class":1407},"scaledCanvas",[749,3422,1741],{"class":782},[749,3424,2188],{"class":1407},[749,3426,1415],{"class":782},[749,3428,3420],{"class":1407},[749,3430,1741],{"class":782},[749,3432,2197],{"class":1407},[749,3434,1782],{"class":782},[749,3436,3437],{"class":751,"line":1869},[749,3438,1827],{"emptyLinePlaceholder":6},[749,3440,3441,3444,3446],{"class":751,"line":1894},[749,3442,3443],{"class":1690},"    return",[749,3445,3304],{"class":1407},[749,3447,1313],{"class":782},[749,3449,3450],{"class":751,"line":1919},[749,3451,2774],{"class":782},[749,3453,3454],{"class":751,"line":1936},[749,3455,1827],{"emptyLinePlaceholder":6},[749,3457,3458,3460,3462],{"class":751,"line":1953},[749,3459,1691],{"class":1690},[749,3461,3254],{"class":1407},[749,3463,1313],{"class":782},[749,3465,3466],{"class":751,"line":1976},[749,3467,1187],{"class":782},[3469,3470,3471],"style",{},"html pre.shiki code .skpqk, html code.shiki .skpqk{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#808080}html pre.shiki code .sq2bZ, html code.shiki .sq2bZ{--shiki-default:#22863A;--shiki-light:#22863A;--shiki-dark:#569CD6}html pre.shiki code .shCbc, html code.shiki .shCbc{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#9CDCFE}html pre.shiki code .svVIm, html code.shiki .svVIm{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#D4D4D4}html pre.shiki code .sjj1j, html code.shiki .sjj1j{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#CE9178}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sGiLm, html code.shiki .sGiLm{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#569CD6}html pre.shiki code .s_0E6, html code.shiki .s_0E6{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#4EC9B0}html pre.shiki code .szM7h, html code.shiki .szM7h{--shiki-default:#E36209;--shiki-light:#E36209;--shiki-dark:#9CDCFE}html pre.shiki code .sGmsN, html code.shiki .sGmsN{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#D4D4D4}html pre.shiki code .s2-Xe, html code.shiki .s2-Xe{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#4EC9B0}html pre.shiki code .sLEZ0, html code.shiki .sLEZ0{--shiki-default:#6A737D;--shiki-light:#6A737D;--shiki-dark:#6A9955}html pre.shiki code .sdRU0, html code.shiki .sdRU0{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#4FC1FF}html pre.shiki code .szTj3, html code.shiki .szTj3{--shiki-default:#24292E;--shiki-light:#24292E;--shiki-dark:#9CDCFE}html pre.shiki code .sLV08, html code.shiki .sLV08{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#569CD6}html pre.shiki code .sewGd, html code.shiki .sewGd{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#B5CEA8}html pre.shiki code .sqMzV, html code.shiki .sqMzV{--shiki-default:#6F42C1;--shiki-light:#6F42C1;--shiki-dark:#DCDCAA}html pre.shiki code .srAhW, html code.shiki .srAhW{--shiki-default:#D73A49;--shiki-light:#D73A49;--shiki-dark:#C586C0}html pre.shiki code .s7eq4, html code.shiki .s7eq4{--shiki-default:#032F62;--shiki-light:#032F62;--shiki-dark:#569CD6}html pre.shiki code .sSQ6O, html code.shiki .sSQ6O{--shiki-default:#005CC5;--shiki-light:#005CC5;--shiki-dark:#9CDCFE}",{"title":744,"searchDepth":766,"depth":766,"links":3473},[3474,3477,3482,3486,3491,3495,3499],{"id":728,"depth":766,"text":729,"children":3475},[3476],{"id":733,"depth":775,"text":734},{"id":1033,"depth":766,"text":1034,"children":3478},[3479,3480,3481],{"id":1037,"depth":775,"text":997},{"id":1190,"depth":775,"text":1012},{"id":1280,"depth":775,"text":1281},{"id":1376,"depth":766,"text":1377,"children":3483},[3484,3485],{"id":1380,"depth":775,"text":1381},{"id":1539,"depth":775,"text":1540},{"id":1634,"depth":766,"text":1635,"children":3487},[3488,3489,3490],{"id":1638,"depth":775,"text":1639},{"id":2031,"depth":775,"text":2032},{"id":2323,"depth":775,"text":2324},{"id":2600,"depth":766,"text":2601,"children":3492},[3493,3494],{"id":2604,"depth":775,"text":2605},{"id":2643,"depth":775,"text":2644},{"id":2718,"depth":766,"text":2719,"children":3496},[3497,3498],{"id":2722,"depth":775,"text":2723},{"id":2893,"depth":775,"text":2894},{"id":3031,"depth":766,"text":3032,"children":3500},[3501,3502],{"id":3035,"depth":775,"text":3036},{"id":3177,"depth":775,"text":3178},"md",{},{"title":54,"description":724},{"loc":96},"9MgSkL-HjtHV87boP6oXuw57TTkWdEg_Yuwo4QR8Pkg",[3509,3509],null]