UNPKG

@thewtex/vtk.js-esm

Version:

Visualization Toolkit for the Web

7 lines (4 loc) 14.5 kB
import { c as createBase64WorkerFactory } from '../../../../rollup-plugin-web-worker-loader__helper__browser__createBase64WorkerFactory.js'; var WorkerFactory = createBase64WorkerFactory('Lyogcm9sbHVwLXBsdWdpbi13ZWItd29ya2VyLWxvYWRlciAqLwooZnVuY3Rpb24gKCkgewogICd1c2Ugc3RyaWN0JzsKCiAgdmFyIF9jcmVhdGVDbGFzcyQxID0gZnVuY3Rpb24gKCkgeyBmdW5jdGlvbiBkZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgcHJvcHMpIHsgZm9yICh2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKykgeyB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldOyBkZXNjcmlwdG9yLmVudW1lcmFibGUgPSBkZXNjcmlwdG9yLmVudW1lcmFibGUgfHwgZmFsc2U7IGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTsgaWYgKCJ2YWx1ZSIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTsgfSB9IHJldHVybiBmdW5jdGlvbiAoQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7IGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpOyByZXR1cm4gQ29uc3RydWN0b3I7IH07IH0oKTsKCiAgZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrJDEoaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpOyB9IH0KCiAgdmFyIFRpbnlFbWl0dGVyID0gZnVuY3Rpb24gKCkgewogICAgZnVuY3Rpb24gVGlueUVtaXR0ZXIoKSB7CiAgICAgIF9jbGFzc0NhbGxDaGVjayQxKHRoaXMsIFRpbnlFbWl0dGVyKTsKCiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnX19saXN0ZW5lcnMnLCB7CiAgICAgICAgdmFsdWU6IHt9LAogICAgICAgIGVudW1lcmFibGU6IGZhbHNlLAogICAgICAgIHdyaXRhYmxlOiBmYWxzZQogICAgICB9KTsKICAgIH0KCiAgICBfY3JlYXRlQ2xhc3MkMShUaW55RW1pdHRlciwgW3sKICAgICAga2V5OiAnZW1pdCcsCiAgICAgIHZhbHVlOiBmdW5jdGlvbiBlbWl0KGV2ZW50TmFtZSkgewogICAgICAgIGlmICghdGhpcy5fX2xpc3RlbmVyc1tldmVudE5hbWVdKSByZXR1cm4gdGhpczsKCiAgICAgICAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7CiAgICAgICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTsKICAgICAgICB9CgogICAgICAgIHZhciBfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uID0gdHJ1ZTsKICAgICAgICB2YXIgX2RpZEl0ZXJhdG9yRXJyb3IgPSBmYWxzZTsKICAgICAgICB2YXIgX2l0ZXJhdG9yRXJyb3IgPSB1bmRlZmluZWQ7CgogICAgICAgIHRyeSB7CiAgICAgICAgICBmb3IgKHZhciBfaXRlcmF0b3IgPSB0aGlzLl9fbGlzdGVuZXJzW2V2ZW50TmFtZV1bU3ltYm9sLml0ZXJhdG9yXSgpLCBfc3RlcDsgIShfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uID0gKF9zdGVwID0gX2l0ZXJhdG9yLm5leHQoKSkuZG9uZSk7IF9pdGVyYXRvck5vcm1hbENvbXBsZXRpb24gPSB0cnVlKSB7CiAgICAgICAgICAgIHZhciBoYW5kbGVyID0gX3N0ZXAudmFsdWU7CgogICAgICAgICAgICBoYW5kbGVyLmFwcGx5KHVuZGVmaW5lZCwgYXJncyk7CiAgICAgICAgICB9CiAgICAgICAgfSBjYXRjaCAoZXJyKSB7CiAgICAgICAgICBfZGlkSXRlcmF0b3JFcnJvciA9IHRydWU7CiAgICAgICAgICBfaXRlcmF0b3JFcnJvciA9IGVycjsKICAgICAgICB9IGZpbmFsbHkgewogICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgaWYgKCFfaXRlcmF0b3JOb3JtYWxDb21wbGV0aW9uICYmIF9pdGVyYXRvci5yZXR1cm4pIHsKICAgICAgICAgICAgICBfaXRlcmF0b3IucmV0dXJuKCk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0gZmluYWxseSB7CiAgICAgICAgICAgIGlmIChfZGlkSXRlcmF0b3JFcnJvcikgewogICAgICAgICAgICAgIHRocm93IF9pdGVyYXRvckVycm9yOwogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICByZXR1cm4gdGhpczsKICAgICAgfQogICAgfSwgewogICAgICBrZXk6ICdvbmNlJywKICAgICAgdmFsdWU6IGZ1bmN0aW9uIG9uY2UoZXZlbnROYW1lLCBoYW5kbGVyKSB7CiAgICAgICAgdmFyIF90aGlzID0gdGhpczsKCiAgICAgICAgdmFyIG9uY2UgPSBmdW5jdGlvbiBvbmNlKCkgewogICAgICAgICAgX3RoaXMub2ZmKGV2ZW50TmFtZSwgb25jZSk7CiAgICAgICAgICBoYW5kbGVyLmFwcGx5KHVuZGVmaW5lZCwgYXJndW1lbnRzKTsKICAgICAgICB9OwoKICAgICAgICByZXR1cm4gdGhpcy5vbihldmVudE5hbWUsIG9uY2UpOwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogJ29uJywKICAgICAgdmFsdWU6IGZ1bmN0aW9uIG9uKGV2ZW50TmFtZSwgaGFuZGxlcikgewogICAgICAgIGlmICghdGhpcy5fX2xpc3RlbmVyc1tldmVudE5hbWVdKSB0aGlzLl9fbGlzdGVuZXJzW2V2ZW50TmFtZV0gPSBbXTsKCiAgICAgICAgdGhpcy5fX2xpc3RlbmVyc1tldmVudE5hbWVdLnB1c2goaGFuZGxlcik7CgogICAgICAgIHJldHVybiB0aGlzOwogICAgICB9CiAgICB9LCB7CiAgICAgIGtleTogJ29mZicsCiAgICAgIHZhbHVlOiBmdW5jdGlvbiBvZmYoZXZlbnROYW1lLCBoYW5kbGVyKSB7CiAgICAgICAgaWYgKGhhbmRsZXIpIHRoaXMuX19saXN0ZW5lcnNbZXZlbnROYW1lXSA9IHRoaXMuX19saXN0ZW5lcnNbZXZlbnROYW1lXS5maWx0ZXIoZnVuY3Rpb24gKGgpIHsKICAgICAgICAgIHJldHVybiBoICE9PSBoYW5kbGVyOwogICAgICAgIH0pO2Vsc2UgdGhpcy5fX2xpc3RlbmVyc1tldmVudE5hbWVdID0gW107CgogICAgICAgIHJldHVybiB0aGlzOwogICAgICB9CiAgICB9XSk7CgogICAgcmV0dXJuIFRpbnlFbWl0dGVyOwogIH0oKTsKCiAgdmFyIHRpbnlFbWl0dGVyID0gVGlueUVtaXR0ZXI7CgogIHZhciBfY3JlYXRlQ2xhc3MgPSBmdW5jdGlvbiAoKSB7IGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoInZhbHVlIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgZGVzY3JpcHRvci5rZXksIGRlc2NyaXB0b3IpOyB9IH0gcmV0dXJuIGZ1bmN0aW9uIChDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IucHJvdG90eXBlLCBwcm90b1Byb3BzKTsgaWYgKHN0YXRpY1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLCBzdGF0aWNQcm9wcyk7IHJldHVybiBDb25zdHJ1Y3RvcjsgfTsgfSgpOwoKICB2YXIgX2dldCA9IGZ1bmN0aW9uIGdldChvYmplY3QsIHByb3BlcnR5LCByZWNlaXZlcikgeyBpZiAob2JqZWN0ID09PSBudWxsKSBvYmplY3QgPSBGdW5jdGlvbi5wcm90b3R5cGU7IHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmplY3QsIHByb3BlcnR5KTsgaWYgKGRlc2MgPT09IHVuZGVmaW5lZCkgeyB2YXIgcGFyZW50ID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKG9iamVjdCk7IGlmIChwYXJlbnQgPT09IG51bGwpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfSBlbHNlIHsgcmV0dXJuIGdldChwYXJlbnQsIHByb3BlcnR5LCByZWNlaXZlcik7IH0gfSBlbHNlIGlmICgidmFsdWUiIGluIGRlc2MpIHsgcmV0dXJuIGRlc2MudmFsdWU7IH0gZWxzZSB7IHZhciBnZXR0ZXIgPSBkZXNjLmdldDsgaWYgKGdldHRlciA9PT0gdW5kZWZpbmVkKSB7IHJldHVybiB1bmRlZmluZWQ7IH0gcmV0dXJuIGdldHRlci5jYWxsKHJlY2VpdmVyKTsgfSB9OwoKICB2YXIgX3R5cGVvZiA9IHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgdHlwZW9mIFN5bWJvbC5pdGVyYXRvciA9PT0gInN5bWJvbCIgPyBmdW5jdGlvbiAob2JqKSB7IHJldHVybiB0eXBlb2Ygb2JqOyB9IDogZnVuY3Rpb24gKG9iaikgeyByZXR1cm4gb2JqICYmIHR5cGVvZiBTeW1ib2wgPT09ICJmdW5jdGlvbiIgJiYgb2JqLmNvbnN0cnVjdG9yID09PSBTeW1ib2wgJiYgb2JqICE9PSBTeW1ib2wucHJvdG90eXBlID8gInN5bWJvbCIgOiB0eXBlb2Ygb2JqOyB9OwoKICBmdW5jdGlvbiBfdG9Db25zdW1hYmxlQXJyYXkoYXJyKSB7IGlmIChBcnJheS5pc0FycmF5KGFycikpIHsgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBBcnJheShhcnIubGVuZ3RoKTsgaSA8IGFyci5sZW5ndGg7IGkrKykgeyBhcnIyW2ldID0gYXJyW2ldOyB9IHJldHVybiBhcnIyOyB9IGVsc2UgeyByZXR1cm4gQXJyYXkuZnJvbShhcnIpOyB9IH0KCiAgZnVuY3Rpb24gX2NsYXNzQ2FsbENoZWNrKGluc3RhbmNlLCBDb25zdHJ1Y3RvcikgeyBpZiAoIShpbnN0YW5jZSBpbnN0YW5jZW9mIENvbnN0cnVjdG9yKSkgeyB0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKTsgfSB9CgogIGZ1bmN0aW9uIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHNlbGYsIGNhbGwpIHsgaWYgKCFzZWxmKSB7IHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkIik7IH0gcmV0dXJuIGNhbGwgJiYgKHR5cGVvZiBjYWxsID09PSAib2JqZWN0IiB8fCB0eXBlb2YgY2FsbCA9PT0gImZ1bmN0aW9uIikgPyBjYWxsIDogc2VsZjsgfQoKICBmdW5jdGlvbiBfaW5oZXJpdHMoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIHsgaWYgKHR5cGVvZiBzdXBlckNsYXNzICE9PSAiZnVuY3Rpb24iICYmIHN1cGVyQ2xhc3MgIT09IG51bGwpIHsgdGhyb3cgbmV3IFR5cGVFcnJvcigiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCAiICsgdHlwZW9mIHN1cGVyQ2xhc3MpOyB9IHN1YkNsYXNzLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDbGFzcyAmJiBzdXBlckNsYXNzLnByb3RvdHlwZSwgeyBjb25zdHJ1Y3RvcjogeyB2YWx1ZTogc3ViQ2xhc3MsIGVudW1lcmFibGU6IGZhbHNlLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0gfSk7IGlmIChzdXBlckNsYXNzKSBPYmplY3Quc2V0UHJvdG90eXBlT2YgPyBPYmplY3Quc2V0UHJvdG90eXBlT2Yoc3ViQ2xhc3MsIHN1cGVyQ2xhc3MpIDogc3ViQ2xhc3MuX19wcm90b19fID0gc3VwZXJDbGFzczsgfQoKICBmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7IGlmIChrZXkgaW4gb2JqKSB7IE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgeyB2YWx1ZTogdmFsdWUsIGVudW1lcmFibGU6IHRydWUsIGNvbmZpZ3VyYWJsZTogdHJ1ZSwgd3JpdGFibGU6IHRydWUgfSk7IH0gZWxzZSB7IG9ialtrZXldID0gdmFsdWU7IH0gcmV0dXJuIG9iajsgfQoKCgogIHZhciBNRVNTQUdFX1JFU1VMVCA9IDA7CiAgdmFyIE1FU1NBR0VfRVZFTlQgPSAxOwoKICB2YXIgUkVTVUxUX0VSUk9SID0gMDsKICB2YXIgUkVTVUxUX1NVQ0NFU1MgPSAxOwoKICB2YXIgREVGQVVMVF9IQU5ETEVSID0gJ21haW4nOwoKICB2YXIgaXNQcm9taXNlID0gZnVuY3Rpb24gaXNQcm9taXNlKG8pIHsKICAgIHJldHVybiAodHlwZW9mIG8gPT09ICd1bmRlZmluZWQnID8gJ3VuZGVmaW5lZCcgOiBfdHlwZW9mKG8pKSA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG8udGhlbiA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2Ygby5jYXRjaCA9PT0gJ2Z1bmN0aW9uJzsKICB9OwoKICBmdW5jdGlvbiBSZWdpc3RlclByb21pc2UoZm4pIHsKICAgIHZhciBoYW5kbGVycyA9IF9kZWZpbmVQcm9wZXJ0eSh7fSwgREVGQVVMVF9IQU5ETEVSLCBmbik7CiAgICB2YXIgc2VuZFBvc3RNZXNzYWdlID0gc2VsZi5wb3N0TWVzc2FnZS5iaW5kKHNlbGYpOwoKICAgIHZhciBzZXJ2ZXIgPSBuZXcgKGZ1bmN0aW9uIChfVGlueUVtaXR0ZXIpIHsKICAgICAgX2luaGVyaXRzKFdvcmtlclJlZ2lzdGVyLCBfVGlueUVtaXR0ZXIpOwoKICAgICAgZnVuY3Rpb24gV29ya2VyUmVnaXN0ZXIoKSB7CiAgICAgICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIFdvcmtlclJlZ2lzdGVyKTsKCiAgICAgICAgcmV0dXJuIF9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuKHRoaXMsIChXb3JrZXJSZWdpc3Rlci5fX3Byb3RvX18gfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKFdvcmtlclJlZ2lzdGVyKSkuYXBwbHkodGhpcywgYXJndW1lbnRzKSk7CiAgICAgIH0KCiAgICAgIF9jcmVhdGVDbGFzcyhXb3JrZXJSZWdpc3RlciwgW3sKICAgICAgICBrZXk6ICdlbWl0JywKICAgICAgICB2YWx1ZTogZnVuY3Rpb24gZW1pdChldmVudE5hbWUpIHsKICAgICAgICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKykgewogICAgICAgICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTsKICAgICAgICAgIH0KCiAgICAgICAgICBzZW5kUG9zdE1lc3NhZ2UoeyBldmVudE5hbWU6IGV2ZW50TmFtZSwgYXJnczogYXJncyB9KTsKICAgICAgICAgIHJldHVybiB0aGlzOwogICAgICAgIH0KICAgICAgfSwgewogICAgICAgIGtleTogJ2VtaXRMb2NhbGx5JywKICAgICAgICB2YWx1ZTogZnVuY3Rpb24gZW1pdExvY2FsbHkoZXZlbnROYW1lKSB7CiAgICAgICAgICB2YXIgX2dldDI7CgogICAgICAgICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gQXJyYXkoX2xlbjIgPiAxID8gX2xlbjIgLSAxIDogMCksIF9rZXkyID0gMTsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykgewogICAgICAgICAgICBhcmdzW19rZXkyIC0gMV0gPSBhcmd1bWVudHNbX2tleTJdOwogICAgICAgICAgfQoKICAgICAgICAgIChfZ2V0MiA9IF9nZXQoV29ya2VyUmVnaXN0ZXIucHJvdG90eXBlLl9fcHJvdG9fXyB8fCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoV29ya2VyUmVnaXN0ZXIucHJvdG90eXBlKSwgJ2VtaXQnLCB0aGlzKSkuY2FsbC5hcHBseShfZ2V0MiwgW3RoaXMsIGV2ZW50TmFtZV0uY29uY2F0KGFyZ3MpKTsKICAgICAgICB9CiAgICAgIH0sIHsKICAgICAgICBrZXk6ICdvcGVyYXRpb24nLAogICAgICAgIHZhbHVlOiBmdW5jdGlvbiBvcGVyYXRpb24obmFtZSwgaGFuZGxlcikgewogICAgICAgICAgaGFuZGxlcnNbbmFtZV0gPSBoYW5kbGVyOwogICAgICAgICAgcmV0dXJuIHRoaXM7CiAgICAgICAgfQogICAgICB9XSk7CgogICAgICByZXR1cm4gV29ya2VyUmVnaXN0ZXI7CiAgICB9KHRpbnlFbWl0dGVyKSkoKTsKCiAgICB2YXIgcnVuID0gZnVuY3Rpb24gcnVuKG1lc3NhZ2VJZCwgcGF5bG9hZCwgaGFuZGxlck5hbWUpIHsKCiAgICAgIHZhciBvblN1Y2Nlc3MgPSBmdW5jdGlvbiBvblN1Y2Nlc3MocmVzdWx0KSB7CiAgICAgICAgaWYgKHJlc3VsdCAmJiByZXN1bHQgaW5zdGFuY2VvZiBUcmFuc2ZlcmFibGVSZXNwb25zZSkgewogICAgICAgICAgc2VuZFJlc3VsdChtZXNzYWdlSWQsIFJFU1VMVF9TVUNDRVNTLCByZXN1bHQucGF5bG9hZCwgcmVzdWx0LnRyYW5zZmVyYWJsZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIHNlbmRSZXN1bHQobWVzc2FnZUlkLCBSRVNVTFRfU1VDQ0VTUywgcmVzdWx0KTsKICAgICAgICB9CiAgICAgIH07CgogICAgICB2YXIgb25FcnJvciA9IGZ1bmN0aW9uIG9uRXJyb3IoZSkgewogICAgICAgIHNlbmRSZXN1bHQobWVzc2FnZUlkLCBSRVNVTFRfRVJST1IsIHsKICAgICAgICAgIG1lc3NhZ2U6IGUubWVzc2FnZSwKICAgICAgICAgIHN0YWNrOiBlLnN0YWNrCiAgICAgICAgfSk7CiAgICAgIH07CgogICAgICB0cnkgewogICAgICAgIHZhciByZXN1bHQgPSBydW5GbihtZXNzYWdlSWQsIHBheWxvYWQsIGhhbmRsZXJOYW1lKTsKICAgICAgICBpZiAoaXNQcm9taXNlKHJlc3VsdCkpIHsKICAgICAgICAgIHJlc3VsdC50aGVuKG9uU3VjY2VzcykuY2F0Y2gob25FcnJvcik7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgIG9uU3VjY2VzcyhyZXN1bHQpOwogICAgICAgIH0KICAgICAgfSBjYXRjaCAoZSkgewogICAgICAgIG9uRXJyb3IoZSk7CiAgICAgIH0KICAgIH07CgogICAgdmFyIHJ1bkZuID0gZnVuY3Rpb24gcnVuRm4obWVzc2FnZUlkLCBwYXlsb2FkLCBoYW5kbGVyTmFtZSkgewogICAgICB2YXIgaGFuZGxlciA9IGhhbmRsZXJzW2hhbmRsZXJOYW1lIHx8IERFRkFVTFRfSEFORExFUl07CiAgICAgIGlmICghaGFuZGxlcikgdGhyb3cgbmV3IEVycm9yKCdOb3QgZm91bmQgaGFuZGxlciBmb3IgdGhpcyByZXF1ZXN0Jyk7CgogICAgICByZXR1cm4gaGFuZGxlcihwYXlsb2FkLCBzZW5kRXZlbnQuYmluZChudWxsLCBtZXNzYWdlSWQpKTsKICAgIH07CgogICAgdmFyIHNlbmRSZXN1bHQgPSBmdW5jdGlvbiBzZW5kUmVzdWx0KG1lc3NhZ2VJZCwgc3VjY2VzcywgcGF5bG9hZCkgewogICAgICB2YXIgdHJhbnNmZXJhYmxlID0gYXJndW1lbnRzLmxlbmd0aCA+IDMgJiYgYXJndW1lbnRzWzNdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbM10gOiBbXTsKCiAgICAgIHNlbmRQb3N0TWVzc2FnZShbTUVTU0FHRV9SRVNVTFQsIG1lc3NhZ2VJZCwgc3VjY2VzcywgcGF5bG9hZF0sIHRyYW5zZmVyYWJsZSk7CiAgICB9OwoKICAgIHZhciBzZW5kRXZlbnQgPSBmdW5jdGlvbiBzZW5kRXZlbnQobWVzc2FnZUlkLCBldmVudE5hbWUsIHBheWxvYWQpIHsKICAgICAgaWYgKCFldmVudE5hbWUpIHRocm93IG5ldyBFcnJvcignZXZlbnROYW1lIGlzIHJlcXVpcmVkJyk7CgogICAgICBpZiAodHlwZW9mIGV2ZW50TmFtZSAhPT0gJ3N0cmluZycpIHRocm93IG5ldyBFcnJvcignZXZlbnROYW1lIHNob3VsZCBiZSBzdHJpbmcnKTsKCiAgICAgIHNlbmRQb3N0TWVzc2FnZShbTUVTU0FHRV9FVkVOVCwgbWVzc2FnZUlkLCBldmVudE5hbWUsIHBheWxvYWRdKTsKICAgIH07CgogICAgc2VsZi5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgZnVuY3Rpb24gKF9yZWYpIHsKICAgICAgdmFyIGRhdGEgPSBfcmVmLmRhdGE7CgogICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkgewogICAgICAgIHJ1bi5hcHBseSh1bmRlZmluZWQsIF90b0NvbnN1bWFibGVBcnJheShkYXRhKSk7CiAgICAgIH0gZWxzZSBpZiAoZGF0YSAmJiBkYXRhLmV2ZW50TmFtZSkgewogICAgICAgIHNlcnZlci5lbWl0TG9jYWxseS5hcHBseShzZXJ2ZXIsIFtkYXRhLmV2ZW50TmFtZV0uY29uY2F0KF90b0NvbnN1bWFibGVBcnJheShkYXRhLmFyZ3MpKSk7CiAgICAgIH0KICAgIH0pOwoKICAgIHJldHVybiBzZXJ2ZXI7CiAgfQoKICB2YXIgVHJhbnNmZXJhYmxlUmVzcG9uc2UgPSBmdW5jdGlvbiBUcmFuc2ZlcmFibGVSZXNwb25zZShwYXlsb2FkLCB0cmFuc2ZlcmFibGUpIHsKICAgIF9jbGFzc0NhbGxDaGVjayh0aGlzLCBUcmFuc2ZlcmFibGVSZXNwb25zZSk7CgogICAgdGhpcy5wYXlsb2FkID0gcGF5bG9hZDsKICAgIHRoaXMudHJhbnNmZXJhYmxlID0gdHJhbnNmZXJhYmxlOwogIH07CgogIHZhciByZWdpc3RlciA9IFJlZ2lzdGVyUHJvbWlzZTsKICB2YXIgVHJhbnNmZXJhYmxlUmVzcG9uc2VfMSA9IFRyYW5zZmVyYWJsZVJlc3BvbnNlOwogIHJlZ2lzdGVyLlRyYW5zZmVyYWJsZVJlc3BvbnNlID0gVHJhbnNmZXJhYmxlUmVzcG9uc2VfMTsKCiAgLyogZXNsaW50LWRpc2FibGUgKi8KICAvLyBwcmV0dGllci1pZ25vcmUKCiAgcmVnaXN0ZXIoZnVuY3Rpb24gKG1lc3NhZ2UsIGVtaXQpIHsKICAgIHZhciBhcnJheSA9IG1lc3NhZ2UuYXJyYXk7CiAgICB2YXIgbWluID0gbWVzc2FnZS5taW47CiAgICB2YXIgbWF4ID0gbWVzc2FnZS5tYXg7CiAgICB2YXIgb2Zmc2V0ID0gbWVzc2FnZS5jb21wb25lbnQgfHwgMDsKICAgIHZhciBzdGVwID0gbWVzc2FnZS5udW1iZXJPZkNvbXBvbmVudHMgfHwgMTsKICAgIHZhciBudW1iZXJPZkJpbnMgPSBtZXNzYWdlLm51bWJlck9mQmluczsKICAgIHZhciBkZWx0YSA9IG1heCAtIG1pbjsKICAgIHZhciBoaXN0b2dyYW0gPSBuZXcgRmxvYXQzMkFycmF5KG51bWJlck9mQmlucyk7CiAgICBoaXN0b2dyYW0uZmlsbCgwKTsKICAgIHZhciBsZW4gPSBhcnJheS5sZW5ndGg7CgogICAgZm9yICh2YXIgaSA9IG9mZnNldDsgaSA8IGxlbjsgaSArPSBzdGVwKSB7CiAgICAgIHZhciBpZHggPSBNYXRoLmZsb29yKChudW1iZXJPZkJpbnMgLSAxKSAqIChOdW1iZXIoYXJyYXlbaV0pIC0gbWluKSAvIGRlbHRhKTsKICAgICAgaGlzdG9ncmFtW2lkeF0gKz0gMTsKICAgIH0KCiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyByZWdpc3Rlci5UcmFuc2ZlcmFibGVSZXNwb25zZShoaXN0b2dyYW0sIFtoaXN0b2dyYW0uYnVmZmVyXSkpOwogIH0pOwoKfSgpKTsKCg==', null, false); /* eslint-enable */ export { WorkerFactory as W };