@worktile/theia 18.0.7 → 18.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/custom-types.d.ts CHANGED
@@ -65,6 +65,8 @@ export interface ImageElement extends TheElement {
65
65
  name?: string;
66
66
  width?: number;
67
67
  height?: number;
68
+ originWidth?: number;
69
+ originHeight?: number;
68
70
  url?: string;
69
71
  thumbUrl?: string;
70
72
  originUrl?: string;
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2N1c3RvbS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY2VuZGFudCwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFsaWdubWVudCwgRWxlbWVudEtpbmRzLCBMYXlvdXRUeXBlcywgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCbG9ja0VsZW1lbnRLaW5kcywgSW5saW5lRWxlbWVudEtpbmRzLCBUaGVFZGl0b3IgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGhlVGFibGVDb2x1bW4sIFRoZVRhYmxlT3B0aW9ucyB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS90YWJsZS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlRWxlbWVudDxUID0gQmxvY2tFbGVtZW50S2luZHMgfCBJbmxpbmVFbGVtZW50S2luZHM+IHtcbiAgICB0eXBlOiBUO1xuICAgIGNoaWxkcmVuOiBEZXNjZW5kYW50W107XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIF9pZD86IHN0cmluZztcbiAgICB2b2lkcz86IGJvb2xlYW47XG4gICAgYWxpZ24/OiBBbGlnbm1lbnQ7XG4gICAgaW5kZW50PzogbnVtYmVyO1xuICAgIHRleHRJbmRlbnQ/OiBudW1iZXI7XG4gICAgdmVydGljYWxBbGlnbj86IFZlcnRpY2FsQWxpZ25tZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFncmFwaEVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJsb2NrUXVvdGVFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmJsb2NrcXVvdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVsbGV0ZWRMaXN0RWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3Q7XG4gICAgc3RhcnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTnVtYmVyZWRMaXN0RWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3Q7XG4gICAgc3RhcnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEl0ZW1FbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtO1xuICAgIHN0YXJ0PzogbnVtYmVyO1xuICAgIGNoaWxkcmVuOiBFbGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua0VsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMubGluaztcbiAgICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2RvSXRlbUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuY2hlY2tJdGVtO1xuICAgIGNoZWNrZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGluZ09uZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18xO1xufVxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nVHdvRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzI7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdUaHJlZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18zO1xufVxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nRm91ckVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ180O1xufVxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nRml2ZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ181O1xufVxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nU2l4RWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzY7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmltYWdlO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbiAgICBmaWxlPzogRmlsZTtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgdGh1bWJVcmw/OiBzdHJpbmc7XG4gICAgb3JpZ2luVXJsPzogc3RyaW5nO1xuICAgIGFsaWduPzogQWxpZ25tZW50O1xuICAgIGxheW91dD86IExheW91dFR5cGVzO1xuICAgIHJlU2l6ZWQ/OiBib29sZWFuO1xuICAgIHNpemU/OiBudW1iZXI7XG4gICAgZXh0ZXJuYWxVcmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFibGVFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLnRhYmxlO1xuICAgIGNoaWxkcmVuOiBUYWJsZVJvd0VsZW1lbnRbXTtcbiAgICBjb2x1bW5zPzogVGhlVGFibGVDb2x1bW5bXTtcbiAgICBvcHRpb25zPzogVGhlVGFibGVPcHRpb25zO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlUm93RWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy50YWJsZVJvdztcbiAgICBjaGlsZHJlbjogVGFibGVDZWxsRWxlbWVudFtdO1xuICAgIGhlYWRlcj86IGJvb2xlYW47XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlQ2VsbEVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICBrZXk/OiBzdHJpbmc7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLnRhYmxlQ2VsbDtcbiAgICBjb2xzcGFuPzogbnVtYmVyO1xuICAgIHJvd3NwYW4/OiBudW1iZXI7XG4gICAgaGlkZGVuPzogYm9vbGVhbjtcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHJFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmhyO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2RlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5jb2RlO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbiAgICBjb250ZW50Pzogc3RyaW5nO1xuICAgIGxhbmd1YWdlPzogc3RyaW5nO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBhdXRvV3JhcD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWRpdGFibGVWb2lkRWxlbWVudCB7XG4gICAgdHlwZTogJ2VkaXRhYmxlLXZvaWQnO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbmxpbmVDb2RlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbmxpbmVDb2RlO1xufVxuXG5leHBvcnQgdHlwZSBDdXN0b21FbGVtZW50ID1cbiAgICB8IEJsb2NrUXVvdGVFbGVtZW50XG4gICAgfCBOdW1iZXJlZExpc3RFbGVtZW50XG4gICAgfCBCdWxsZXRlZExpc3RFbGVtZW50XG4gICAgfCBUb2RvSXRlbUVsZW1lbnRcbiAgICB8IEhlYWRpbmdPbmVFbGVtZW50XG4gICAgfCBIZWFkaW5nVHdvRWxlbWVudFxuICAgIHwgSGVhZGluZ1RocmVlRWxlbWVudFxuICAgIHwgSGVhZGluZ0ZvdXJFbGVtZW50XG4gICAgfCBIZWFkaW5nRml2ZUVsZW1lbnRcbiAgICB8IEhlYWRpbmdTaXhFbGVtZW50XG4gICAgfCBJbWFnZUVsZW1lbnRcbiAgICB8IExpbmtFbGVtZW50XG4gICAgfCBMaXN0SXRlbUVsZW1lbnRcbiAgICB8IFBhcmFncmFwaEVsZW1lbnRcbiAgICB8IFRhYmxlRWxlbWVudFxuICAgIHwgVGFibGVSb3dFbGVtZW50XG4gICAgfCBUYWJsZUNlbGxFbGVtZW50XG4gICAgfCBIckVsZW1lbnRcbiAgICB8IElubGluZUNvZGVFbGVtZW50XG4gICAgfCBDb2RlRWxlbWVudDtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tVGV4dCA9IHtcbiAgICBib2xkPzogYm9vbGVhbjtcbiAgICBpdGFsaWM/OiBib29sZWFuO1xuICAgIGNvZGU/OiBib29sZWFuO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICB1bmRlcmxpbmVkPzogYm9vbGVhbjtcbiAgICBjb2xvcj86IHN0cmluZztcbiAgICBbYGJhY2tncm91bmQtY29sb3JgXT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEVtcHR5VGV4dCA9IHtcbiAgICB0ZXh0OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDdXN0b21FZGl0b3IgPSBUaGVFZGl0b3I7XG5cbnR5cGUgR2V0PFQsIFAgZXh0ZW5kcyBrZXlvZiBUPiA9IFRbUF07XG5leHBvcnQgdHlwZSBDdXN0b21FbGVtZW50S2luZHMgPSBHZXQ8RWxlbWVudCwgJ3R5cGUnPjtcbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvc3JjL2N1c3RvbS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzY2VuZGFudCwgRWxlbWVudCB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFsaWdubWVudCwgRWxlbWVudEtpbmRzLCBMYXlvdXRUeXBlcywgVmVydGljYWxBbGlnbm1lbnQgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBCbG9ja0VsZW1lbnRLaW5kcywgSW5saW5lRWxlbWVudEtpbmRzLCBUaGVFZGl0b3IgfSBmcm9tICcuL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgVGhlVGFibGVDb2x1bW4sIFRoZVRhYmxlT3B0aW9ucyB9IGZyb20gJy4vcGx1Z2lucy90YWJsZS90YWJsZS50eXBlcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlRWxlbWVudDxUID0gQmxvY2tFbGVtZW50S2luZHMgfCBJbmxpbmVFbGVtZW50S2luZHM+IHtcbiAgICB0eXBlOiBUO1xuICAgIGNoaWxkcmVuOiBEZXNjZW5kYW50W107XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIF9pZD86IHN0cmluZztcbiAgICB2b2lkcz86IGJvb2xlYW47XG4gICAgYWxpZ24/OiBBbGlnbm1lbnQ7XG4gICAgaW5kZW50PzogbnVtYmVyO1xuICAgIHRleHRJbmRlbnQ/OiBudW1iZXI7XG4gICAgdmVydGljYWxBbGlnbj86IFZlcnRpY2FsQWxpZ25tZW50O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFBhcmFncmFwaEVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMucGFyYWdyYXBoO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEJsb2NrUXVvdGVFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmJsb2NrcXVvdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQnVsbGV0ZWRMaXN0RWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5idWxsZXRlZExpc3Q7XG4gICAgc3RhcnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTnVtYmVyZWRMaXN0RWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5udW1iZXJlZExpc3Q7XG4gICAgc3RhcnQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdEl0ZW1FbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmxpc3RJdGVtO1xuICAgIHN0YXJ0PzogbnVtYmVyO1xuICAgIGNoaWxkcmVuOiBFbGVtZW50W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlua0VsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMubGluaztcbiAgICB1cmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUb2RvSXRlbUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuY2hlY2tJdGVtO1xuICAgIGNoZWNrZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGVhZGluZ09uZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18xO1xufVxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nVHdvRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzI7XG59XG5leHBvcnQgaW50ZXJmYWNlIEhlYWRpbmdUaHJlZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ18zO1xufVxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nRm91ckVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ180O1xufVxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nRml2ZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaGVhZGluZ181O1xufVxuZXhwb3J0IGludGVyZmFjZSBIZWFkaW5nU2l4RWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5oZWFkaW5nXzY7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAgdHlwZTogRWxlbWVudEtpbmRzLmltYWdlO1xuICAgIGNoaWxkcmVuOiBFbXB0eVRleHRbXTtcbiAgICBmaWxlPzogRmlsZTtcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHdpZHRoPzogbnVtYmVyO1xuICAgIGhlaWdodD86IG51bWJlcjtcbiAgICBvcmlnaW5XaWR0aD86IG51bWJlcjtcbiAgICBvcmlnaW5IZWlnaHQ/OiBudW1iZXI7XG4gICAgdXJsPzogc3RyaW5nO1xuICAgIHRodW1iVXJsPzogc3RyaW5nO1xuICAgIG9yaWdpblVybD86IHN0cmluZztcbiAgICBhbGlnbj86IEFsaWdubWVudDtcbiAgICBsYXlvdXQ/OiBMYXlvdXRUeXBlcztcbiAgICByZVNpemVkPzogYm9vbGVhbjtcbiAgICBzaXplPzogbnVtYmVyO1xuICAgIGV4dGVybmFsVXJsPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRhYmxlRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy50YWJsZTtcbiAgICBjaGlsZHJlbjogVGFibGVSb3dFbGVtZW50W107XG4gICAgY29sdW1ucz86IFRoZVRhYmxlQ29sdW1uW107XG4gICAgb3B0aW9ucz86IFRoZVRhYmxlT3B0aW9ucztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZVJvd0VsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMudGFibGVSb3c7XG4gICAgY2hpbGRyZW46IFRhYmxlQ2VsbEVsZW1lbnRbXTtcbiAgICBoZWFkZXI/OiBib29sZWFuO1xuICAgIGhlaWdodD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYWJsZUNlbGxFbGVtZW50IGV4dGVuZHMgVGhlRWxlbWVudCB7XG4gICAga2V5Pzogc3RyaW5nO1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy50YWJsZUNlbGw7XG4gICAgY29sc3Bhbj86IG51bWJlcjtcbiAgICByb3dzcGFuPzogbnVtYmVyO1xuICAgIGhpZGRlbj86IGJvb2xlYW47XG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEhyRWxlbWVudCBleHRlbmRzIFRoZUVsZW1lbnQge1xuICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5ocjtcbiAgICBjaGlsZHJlbjogRW1wdHlUZXh0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29kZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuY29kZTtcbiAgICBjaGlsZHJlbjogRW1wdHlUZXh0W107XG4gICAgY29udGVudD86IHN0cmluZztcbiAgICBsYW5ndWFnZT86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgYXV0b1dyYXA/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXRhYmxlVm9pZEVsZW1lbnQge1xuICAgIHR5cGU6ICdlZGl0YWJsZS12b2lkJztcbiAgICBjaGlsZHJlbjogRW1wdHlUZXh0W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5saW5lQ29kZUVsZW1lbnQgZXh0ZW5kcyBUaGVFbGVtZW50IHtcbiAgICB0eXBlOiBFbGVtZW50S2luZHMuaW5saW5lQ29kZTtcbn1cblxuZXhwb3J0IHR5cGUgQ3VzdG9tRWxlbWVudCA9XG4gICAgfCBCbG9ja1F1b3RlRWxlbWVudFxuICAgIHwgTnVtYmVyZWRMaXN0RWxlbWVudFxuICAgIHwgQnVsbGV0ZWRMaXN0RWxlbWVudFxuICAgIHwgVG9kb0l0ZW1FbGVtZW50XG4gICAgfCBIZWFkaW5nT25lRWxlbWVudFxuICAgIHwgSGVhZGluZ1R3b0VsZW1lbnRcbiAgICB8IEhlYWRpbmdUaHJlZUVsZW1lbnRcbiAgICB8IEhlYWRpbmdGb3VyRWxlbWVudFxuICAgIHwgSGVhZGluZ0ZpdmVFbGVtZW50XG4gICAgfCBIZWFkaW5nU2l4RWxlbWVudFxuICAgIHwgSW1hZ2VFbGVtZW50XG4gICAgfCBMaW5rRWxlbWVudFxuICAgIHwgTGlzdEl0ZW1FbGVtZW50XG4gICAgfCBQYXJhZ3JhcGhFbGVtZW50XG4gICAgfCBUYWJsZUVsZW1lbnRcbiAgICB8IFRhYmxlUm93RWxlbWVudFxuICAgIHwgVGFibGVDZWxsRWxlbWVudFxuICAgIHwgSHJFbGVtZW50XG4gICAgfCBJbmxpbmVDb2RlRWxlbWVudFxuICAgIHwgQ29kZUVsZW1lbnQ7XG5cbmV4cG9ydCB0eXBlIEN1c3RvbVRleHQgPSB7XG4gICAgYm9sZD86IGJvb2xlYW47XG4gICAgaXRhbGljPzogYm9vbGVhbjtcbiAgICBjb2RlPzogYm9vbGVhbjtcbiAgICB0ZXh0OiBzdHJpbmc7XG4gICAgdW5kZXJsaW5lZD86IGJvb2xlYW47XG4gICAgY29sb3I/OiBzdHJpbmc7XG4gICAgW2BiYWNrZ3JvdW5kLWNvbG9yYF0/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBFbXB0eVRleHQgPSB7XG4gICAgdGV4dDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ3VzdG9tRWRpdG9yID0gVGhlRWRpdG9yO1xuXG50eXBlIEdldDxULCBQIGV4dGVuZHMga2V5b2YgVD4gPSBUW1BdO1xuZXhwb3J0IHR5cGUgQ3VzdG9tRWxlbWVudEtpbmRzID0gR2V0PEVsZW1lbnQsICd0eXBlJz47XG4iXX0=
@@ -1,3 +1,3 @@
1
1
  import { InjectionToken } from '@angular/core';
2
2
  export const THE_IMAGE_SERVICE_TOKEN = new InjectionToken('THE_IMAGE_SERVICE_TOKEN');
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvaW50ZXJmYWNlcy9pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBeUMvQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIExheW91dFR5cGVzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRLaW5kcywgSW1hZ2VFbGVtZW50IH0gZnJvbSAnLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4vZWRpdG9yJztcbmltcG9ydCB7IFRvb2xiYXJJdGVtIH0gZnJvbSAnLi90b29sYmFyJztcbmltcG9ydCB7IEZpbGVVcGxvYWRpbmdJdGVtLCBVcGxvYWRGaWxlRW50aXR5IH0gZnJvbSAnLi91cGxvYWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRW50cnkge1xuICAgIGZpbGU/OiBGaWxlO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIHRodW1iVXJsPzogU2FmZVVybCB8IHN0cmluZztcbiAgICBvcmlnaW5Vcmw/OiBTYWZlVXJsIHwgc3RyaW5nO1xuICAgIGFsaWduPzogQWxpZ25tZW50O1xuICAgIGxheW91dD86IExheW91dFR5cGVzO1xuICAgIHJlU2l6ZWQ/OiBib29sZWFuO1xuICAgIHNpemU/OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEltYWdlSW5mbyA9IFBpY2s8SW1hZ2VFbnRyeSwgJ3RodW1iVXJsJyB8ICdvcmlnaW5VcmwnIHwgJ25hbWUnIHwgJ3NpemUnPjtcblxuZXhwb3J0IGludGVyZmFjZSBQcmV2aWV3SW1hZ2VJbmZvIHtcbiAgICBpbWFnZTogSW1hZ2VJbmZvO1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgaW1hZ2VHcm91cDogSW1hZ2VJbmZvW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGF5b3V0T3B0aW9uIGV4dGVuZHMgVG9vbGJhckl0ZW0ge1xuICAgIGhhbmRsZT86IChlOiBNb3VzZUV2ZW50LCBrZXk6IEFsaWdubWVudCB8IExheW91dFR5cGVzKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZUltYWdlU2VydmljZSB7XG4gICAgdXBsb2FkRmlsZUhhbmRsZTogKGZpbGVzOiBGaWxlIHwgc3RyaW5nKSA9PiBPYnNlcnZhYmxlPFVwbG9hZEZpbGVFbnRpdHlbXT47XG4gICAgZ2V0VXBsb2FkaW5nSXRlbXMkOiAoKSA9PiBPYnNlcnZhYmxlPEZpbGVVcGxvYWRpbmdJdGVtW10+O1xuICAgIGlzRXh0ZXJuYWxVcmw/OiAoaW1hZ2VVcmw6IHN0cmluZykgPT4gYm9vbGVhbjtcbiAgICBnZXRJbWFnZVVybD86IChlbGVtZW50OiBJbWFnZUVsZW1lbnQpID0+IE9ic2VydmFibGU8eyB0aHVtYlVybDogc3RyaW5nOyBvcmlnaW5Vcmw6IHN0cmluZyB9Pjtcbn1cblxuZXhwb3J0IGNvbnN0IFRIRV9JTUFHRV9TRVJWSUNFX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuPFRoZUltYWdlU2VydmljZT4oJ1RIRV9JTUFHRV9TRVJWSUNFX1RPS0VOJyk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VQbHVnaW5PcHRpb25zIHtcbiAgICBhbGxvd1BhcmVudFR5cGVzPzogQ3VzdG9tRWxlbWVudEtpbmRzW107XG4gICAgaW1hZ2VUeXBlcz86IHN0cmluZ1tdO1xuICAgIGRpc2FibGVQcmV2aWV3PzogKChlZGl0b3I6IFRoZUVkaXRvcikgPT4gYm9vbGVhbikgfCBib29sZWFuO1xuICAgIGFjY2VwdGVkVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICBlcnJvckltYWdlVXJsPzogc3RyaW5nIHwgKChlZGl0b3I6IFRoZUVkaXRvcikgPT4gc3RyaW5nKTtcbiAgICBwcmV2aWV3PzogKGRhdGE6IHsgZWRpdG9yOiBUaGVFZGl0b3I7IHByZXZpZXdJbWFnZUluZm86IFByZXZpZXdJbWFnZUluZm8gfSkgPT4gdm9pZDtcbn1cbiJdfQ==
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvaW50ZXJmYWNlcy9pbWFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBMkMvQyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLGNBQWMsQ0FBa0IseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTYWZlVXJsIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIExheW91dFR5cGVzIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcbmltcG9ydCB7IEN1c3RvbUVsZW1lbnRLaW5kcywgSW1hZ2VFbGVtZW50IH0gZnJvbSAnLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4vZWRpdG9yJztcbmltcG9ydCB7IFRvb2xiYXJJdGVtIH0gZnJvbSAnLi90b29sYmFyJztcbmltcG9ydCB7IEZpbGVVcGxvYWRpbmdJdGVtLCBVcGxvYWRGaWxlRW50aXR5IH0gZnJvbSAnLi91cGxvYWQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRW50cnkge1xuICAgIGZpbGU/OiBGaWxlO1xuICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgd2lkdGg/OiBudW1iZXI7XG4gICAgaGVpZ2h0PzogbnVtYmVyO1xuICAgIG9yaWdpbldpZHRoPzogbnVtYmVyO1xuICAgIG9yaWdpbkhlaWdodD86IG51bWJlcjtcbiAgICB0aHVtYlVybD86IFNhZmVVcmwgfCBzdHJpbmc7XG4gICAgb3JpZ2luVXJsPzogU2FmZVVybCB8IHN0cmluZztcbiAgICBhbGlnbj86IEFsaWdubWVudDtcbiAgICBsYXlvdXQ/OiBMYXlvdXRUeXBlcztcbiAgICByZVNpemVkPzogYm9vbGVhbjtcbiAgICBzaXplPzogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBJbWFnZUluZm8gPSBQaWNrPEltYWdlRW50cnksICd0aHVtYlVybCcgfCAnb3JpZ2luVXJsJyB8ICduYW1lJyB8ICdzaXplJz47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJldmlld0ltYWdlSW5mbyB7XG4gICAgaW1hZ2U6IEltYWdlSW5mbztcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIGltYWdlR3JvdXA6IEltYWdlSW5mb1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExheW91dE9wdGlvbiBleHRlbmRzIFRvb2xiYXJJdGVtIHtcbiAgICBoYW5kbGU/OiAoZTogTW91c2VFdmVudCwga2V5OiBBbGlnbm1lbnQgfCBMYXlvdXRUeXBlcykgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaGVJbWFnZVNlcnZpY2Uge1xuICAgIHVwbG9hZEZpbGVIYW5kbGU6IChmaWxlczogRmlsZSB8IHN0cmluZykgPT4gT2JzZXJ2YWJsZTxVcGxvYWRGaWxlRW50aXR5W10+O1xuICAgIGdldFVwbG9hZGluZ0l0ZW1zJDogKCkgPT4gT2JzZXJ2YWJsZTxGaWxlVXBsb2FkaW5nSXRlbVtdPjtcbiAgICBpc0V4dGVybmFsVXJsPzogKGltYWdlVXJsOiBzdHJpbmcpID0+IGJvb2xlYW47XG4gICAgZ2V0SW1hZ2VVcmw/OiAoZWxlbWVudDogSW1hZ2VFbGVtZW50KSA9PiBPYnNlcnZhYmxlPHsgdGh1bWJVcmw6IHN0cmluZzsgb3JpZ2luVXJsOiBzdHJpbmcgfT47XG59XG5cbmV4cG9ydCBjb25zdCBUSEVfSU1BR0VfU0VSVklDRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUaGVJbWFnZVNlcnZpY2U+KCdUSEVfSU1BR0VfU0VSVklDRV9UT0tFTicpO1xuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlUGx1Z2luT3B0aW9ucyB7XG4gICAgYWxsb3dQYXJlbnRUeXBlcz86IEN1c3RvbUVsZW1lbnRLaW5kc1tdO1xuICAgIGltYWdlVHlwZXM/OiBzdHJpbmdbXTtcbiAgICBkaXNhYmxlUHJldmlldz86ICgoZWRpdG9yOiBUaGVFZGl0b3IpID0+IGJvb2xlYW4pIHwgYm9vbGVhbjtcbiAgICBhY2NlcHRlZFVwbG9hZFNpemU/OiBudW1iZXI7XG4gICAgZXJyb3JJbWFnZVVybD86IHN0cmluZyB8ICgoZWRpdG9yOiBUaGVFZGl0b3IpID0+IHN0cmluZyk7XG4gICAgcHJldmlldz86IChkYXRhOiB7IGVkaXRvcjogVGhlRWRpdG9yOyBwcmV2aWV3SW1hZ2VJbmZvOiBQcmV2aWV3SW1hZ2VJbmZvIH0pID0+IHZvaWQ7XG59XG4iXX0=
@@ -212,7 +212,9 @@ export class TheImage extends TheBaseElement {
212
212
  thumbUrl,
213
213
  originUrl,
214
214
  size,
215
- align: this.imageEntry.align || Alignment.center
215
+ align: this.imageEntry.align || Alignment.center,
216
+ originWidth: this.naturalWidth,
217
+ originHeight: this.naturalHeight
216
218
  };
217
219
  this.setImageNodes(imageInfo);
218
220
  }
@@ -467,4 +469,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
467
469
  type: ViewChild,
468
470
  args: [ThyImageDirective]
469
471
  }] } });
470
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUdILFNBQVMsRUFHVCxNQUFNLEVBSU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUE0QyxNQUFNLGVBQWUsQ0FBQztBQUN4RixP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RTt3QkFDSCxTQUFTO3dCQUNULFFBQVE7d0JBQ1IsSUFBSTt3QkFDSixJQUFJO3FCQUNQO29CQUNELFVBQVU7b0JBQ1YsS0FBSztpQkFDUjthQUNKLENBQUMsQ0FBQztRQUNQLENBQUM7SUFDTCxDQUFDOzhHQTVmUSxRQUFRLGdGQW1HTCx1QkFBdUI7a0dBbkcxQixRQUFRLG9FQUZOLENBQUMsZUFBZSxDQUFDLHFXQWdHakIsaUJBQWlCLHVFQ2hLaEMsZ2dHQXdFQSw0Q0RwQlEsSUFBSSw2RkFDSixLQUFLLG1IQUNMLE9BQU8sMkVBQ1AsZ0JBQWdCLG9KQUNoQixPQUFPLHNNQUNQLGlCQUFpQiw4TEFDakIsU0FBUyxnTUFDVCxVQUFVLHFKQUNWLFVBQVUsNkVBQ1YsbUJBQW1CLDhUQUNuQixXQUFXOzsyRkFJTixRQUFRO2tCQW5CcEIsU0FBUzsrQkFDSSx1QkFBdUIsY0FFckIsSUFBSSxXQUNQO3dCQUNMLElBQUk7d0JBQ0osS0FBSzt3QkFDTCxPQUFPO3dCQUNQLGdCQUFnQjt3QkFDaEIsT0FBTzt3QkFDUCxpQkFBaUI7d0JBQ2pCLFNBQVM7d0JBQ1QsVUFBVTt3QkFDVixVQUFVO3dCQUNWLG1CQUFtQjt3QkFDbkIsV0FBVztxQkFDZCxhQUNVLENBQUMsZUFBZSxDQUFDOzswQkFxR3ZCLE1BQU07MkJBQUMsdUJBQXVCO2lKQWJuQyxZQUFZO3NCQURYLFNBQVM7dUJBQUMsY0FBYztnQkFJekIsR0FBRztzQkFERixTQUFTO3VCQUFDLEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBSW5DLGFBQWE7c0JBRFosU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUdkLGNBQWM7c0JBQTNDLFNBQVM7dUJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29ubmVjdGVkUG9zaXRpb24sIE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBOZ0ZvciwgTmdJZiwgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBJbmplY3QsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBUaHlBY3Rpb24sIFRoeUFjdGlvbnMgfSBmcm9tICduZ3gtdGV0aHlzL2FjdGlvbic7XG5pbXBvcnQgeyBUaHlEaXZpZGVyIH0gZnJvbSAnbmd4LXRldGh5cy9kaXZpZGVyJztcbmltcG9ydCB7IFRoeUljb24gfSBmcm9tICduZ3gtdGV0aHlzL2ljb24nO1xuaW1wb3J0IHsgVGh5SW1hZ2VEaXJlY3RpdmUsIFRoeUltYWdlR3JvdXAsIFRoeUltYWdlU2VydmljZSB9IGZyb20gJ25neC10ZXRoeXMvaW1hZ2UnO1xuaW1wb3J0IHsgVGh5UG9wb3ZlciwgVGh5UG9wb3ZlclJlZiB9IGZyb20gJ25neC10ZXRoeXMvcG9wb3Zlcic7XG5pbXBvcnQgeyBUaHlQcm9ncmVzcyB9IGZyb20gJ25neC10ZXRoeXMvcHJvZ3Jlc3MnO1xuaW1wb3J0IHsgVGh5VG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJ25neC10ZXRoeXMvdG9vbHRpcCc7XG5pbXBvcnQgeyBUaHlVcGxvYWRTdGF0dXMgfSBmcm9tICduZ3gtdGV0aHlzL3VwbG9hZCc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcy9pbnRlcm5hbC9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgRWRpdG9yLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciwgQmVmb3JlQ29udGV4dENoYW5nZSwgU2xhdGVFbGVtZW50Q29udGV4dCB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgQWxpZ25tZW50LCBFbGVtZW50S2luZHMsIExheW91dFR5cGVzLCBUb29sYmFyQWN0aW9uVHlwZXMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luT3B0aW9ucyB9IGZyb20gJy4uLy4uL2NvcmUnO1xuaW1wb3J0IHsgSW1hZ2VFbGVtZW50IH0gZnJvbSAnLi4vLi4vY3VzdG9tLXR5cGVzJztcbmltcG9ydCB7XG4gICAgSW1hZ2VFbnRyeSxcbiAgICBJbWFnZUluZm8sXG4gICAgSW1hZ2VQbHVnaW5PcHRpb25zLFxuICAgIExheW91dE9wdGlvbixcbiAgICBQbHVnaW5LZXlzLFxuICAgIFRIRV9JTUFHRV9TRVJWSUNFX1RPS0VOLFxuICAgIFRoZUJhc2VFbGVtZW50LFxuICAgIFRoZUltYWdlU2VydmljZVxufSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcbmltcG9ydCAqIGFzIFRoZVF1ZXJpZXMgZnJvbSAnLi4vLi4vcXVlcmllcyc7XG5pbXBvcnQgeyBUaGVDb250ZXh0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbnRleHQuc2VydmljZSc7XG5pbXBvcnQgeyBpc01vYmlsZU1vZGUgfSBmcm9tICcuLi8uLi91dGlscy9nZXQtbW9kZSc7XG5pbXBvcnQgeyBJbWFnZUVkaXRvciB9IGZyb20gJy4vaW1hZ2UuZWRpdG9yJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd0aGUtaW1hZ2UsIFt0aGVJbWFnZV0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9pbWFnZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIE5nSWYsXG4gICAgICAgIE5nRm9yLFxuICAgICAgICBOZ1N0eWxlLFxuICAgICAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgICAgICBUaHlJY29uLFxuICAgICAgICBUaHlJbWFnZURpcmVjdGl2ZSxcbiAgICAgICAgVGh5QWN0aW9uLFxuICAgICAgICBUaHlEaXZpZGVyLFxuICAgICAgICBUaHlBY3Rpb25zLFxuICAgICAgICBUaHlUb29sdGlwRGlyZWN0aXZlLFxuICAgICAgICBUaHlQcm9ncmVzc1xuICAgIF0sXG4gICAgcHJvdmlkZXJzOiBbVGh5SW1hZ2VTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBUaGVJbWFnZVxuICAgIGV4dGVuZHMgVGhlQmFzZUVsZW1lbnQ8SW1hZ2VFbGVtZW50LCBFZGl0b3I+XG4gICAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgQmVmb3JlQ29udGV4dENoYW5nZTxTbGF0ZUVsZW1lbnRDb250ZXh0Plxue1xuICAgIG5hdHVyYWxXaWR0aCA9IDA7XG5cbiAgICBuYXR1cmFsSGVpZ2h0ID0gMDtcblxuICAgIGltYWdlRW50cnk6IEltYWdlRW50cnkgPSB7fTtcblxuICAgIHVwbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgcGVyY2VudGFnZSA9IDA7XG5cbiAgICBmaWxlSXRlbTogeyB1cmw6IHN0cmluZzsgZmlsZTogRmlsZSB8IHN0cmluZyB9O1xuXG4gICAgbGF5b3V0RGVmYXVsdFdpZHRoID0gMzY4O1xuXG4gICAgZGlzYWJsZVByZXZpZXcgPSBmYWxzZTtcblxuICAgIGxvYWRJbWFnZUVycm9yID0gZmFsc2U7XG5cbiAgICBsYXlvdXRPcHRpb25zOiBMYXlvdXRPcHRpb25bXSA9IFtcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBBbGlnbm1lbnQubGVmdCxcbiAgICAgICAgICAgIGljb246ICdpbWFnZS1sZWZ0JyxcbiAgICAgICAgICAgIG5hbWU6ICflt6blr7npvZAnLFxuICAgICAgICAgICAgaGFuZGxlOiAoZTogTW91c2VFdmVudCwga2V5OiBBbGlnbm1lbnQpID0+IHRoaXMuc2V0SW1hZ2VOb2RlKGUsIHsgYWxpZ246IGtleSwgbGF5b3V0OiB1bmRlZmluZWQgfSlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBBbGlnbm1lbnQuY2VudGVyLFxuICAgICAgICAgICAgaWNvbjogJ2ltYWdlLWNlbnRlcicsXG4gICAgICAgICAgICBuYW1lOiAn5bGF5LitJyxcbiAgICAgICAgICAgIGhhbmRsZTogKGU6IE1vdXNlRXZlbnQsIGtleTogQWxpZ25tZW50KSA9PiB0aGlzLnNldEltYWdlTm9kZShlLCB7IGFsaWduOiBrZXksIGxheW91dDogdW5kZWZpbmVkIH0pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogQWxpZ25tZW50LnJpZ2h0LFxuICAgICAgICAgICAgaWNvbjogJ2ltYWdlLXJpZ2h0JyxcbiAgICAgICAgICAgIG5hbWU6ICflj7Plr7npvZAnLFxuICAgICAgICAgICAgaGFuZGxlOiAoZTogTW91c2VFdmVudCwga2V5OiBBbGlnbm1lbnQpID0+IHRoaXMuc2V0SW1hZ2VOb2RlKGUsIHsgYWxpZ246IGtleSwgbGF5b3V0OiB1bmRlZmluZWQgfSlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBUb29sYmFyQWN0aW9uVHlwZXMuc3BsaXRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBMYXlvdXRUeXBlcy53cmFwTGVmdCxcbiAgICAgICAgICAgIGljb246ICd3cmFwLWxlZnQnLFxuICAgICAgICAgICAgbmFtZTogJ+WbvueJh+WxheW3picsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50LCBrZXk6IExheW91dFR5cGVzKSA9PiB0aGlzLnNldEltYWdlTm9kZShlLCB7IGxheW91dDoga2V5IH0pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogTGF5b3V0VHlwZXMud3JhcFJpZ2h0LFxuICAgICAgICAgICAgaWNvbjogJ3dyYXAtcmlnaHQnLFxuICAgICAgICAgICAgbmFtZTogJ+WbvueJh+WxheWPsycsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50LCBrZXk6IExheW91dFR5cGVzKSA9PiB0aGlzLnNldEltYWdlTm9kZShlLCB7IGxheW91dDoga2V5IH0pXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogJ3JlbW92ZScsXG4gICAgICAgICAgICBpY29uOiAndHJhc2gnLFxuICAgICAgICAgICAgbmFtZTogJ+WIoOmZpCcsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50KSA9PiB0aGlzLm9uRGVsZXRlKGUpXG4gICAgICAgIH1cbiAgICBdO1xuXG4gICAgcHJpdmF0ZSB1cGxvYWRpbmdTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgbW91c2VNb3ZlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBwcml2YXRlIGRyYWdhYmxlID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIGxheW91dFRvb2xiYXJSZWY6IFRoeVBvcG92ZXJSZWY8YW55PjtcblxuICAgIHByaXZhdGUgaW1hZ2VQbHVnaW5PcHRpb25zOiBJbWFnZVBsdWdpbk9wdGlvbnM7XG5cbiAgICBnZXQgaXNPcGVuKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXlvdXRUb29sYmFyUmVmICYmIHRoaXMubGF5b3V0VG9vbGJhclJlZi5nZXRPdmVybGF5UmVmKCkgJiYgdGhpcy5sYXlvdXRUb29sYmFyUmVmLmdldE92ZXJsYXlSZWYoKS5oYXNBdHRhY2hlZCgpO1xuICAgIH1cblxuICAgIGdldCBpbWFnZUJpbmRpbmdXaWR0aCgpIHtcbiAgICAgICAgY29uc3QgY3VycmVudFdpZHRoID0gdGhpcy5pbWFnZUVudHJ5Py53aWR0aCB8fCB0aGlzLm5hdHVyYWxXaWR0aDtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW1hZ2VFbnRyeT8ubGF5b3V0ICYmIGN1cnJlbnRXaWR0aCA+IHRoaXMubGF5b3V0RGVmYXVsdFdpZHRoICYmICF0aGlzLmltYWdlRW50cnk/LnJlU2l6ZWRcbiAgICAgICAgICAgID8gdGhpcy5sYXlvdXREZWZhdWx0V2lkdGhcbiAgICAgICAgICAgIDogY3VycmVudFdpZHRoO1xuICAgIH1cblxuICAgIEBWaWV3Q2hpbGQoJ2ltYWdlQ29udGVudCcpXG4gICAgaW1hZ2VDb250ZW50OiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgnaW1nJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgaW1nOiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgnbGF5b3V0VG9vbGJhcicsIHsgc3RhdGljOiB0cnVlIH0pXG4gICAgbGF5b3V0VG9vbGJhcjogVGVtcGxhdGVSZWY8YW55PjtcblxuICAgIEBWaWV3Q2hpbGQoVGh5SW1hZ2VEaXJlY3RpdmUpIGltYWdlRGlyZWN0aXZlOiBUaHlJbWFnZURpcmVjdGl2ZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHVibGljIGltYWdlR3JvdXA6IFRoeUltYWdlR3JvdXAsXG4gICAgICAgIEBJbmplY3QoVEhFX0lNQUdFX1NFUlZJQ0VfVE9LRU4pXG4gICAgICAgIHByaXZhdGUgaW1hZ2VTZXJ2aWNlOiBUaGVJbWFnZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGhlQ29udGV4dFNlcnZpY2U6IFRoZUNvbnRleHRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHRoeVBvcG92ZXI6IFRoeVBvcG92ZXIsXG4gICAgICAgIHByaXZhdGUgb3ZlcmxheTogT3ZlcmxheSxcbiAgICAgICAgcHJpdmF0ZSBkZXN0cm95UmVmOiBEZXN0cm95UmVmXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgYmVmb3JlQ29udGV4dENoYW5nZSA9ICh2YWx1ZTogU2xhdGVFbGVtZW50Q29udGV4dDxJbWFnZUVsZW1lbnQ+KSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZS5lbGVtZW50ICE9PSB0aGlzLmVsZW1lbnQgJiYgdmFsdWUuZWxlbWVudC50aHVtYlVybCkge1xuICAgICAgICAgICAgbGV0IHRodW1iVXJsID0gdmFsdWUuZWxlbWVudC50aHVtYlVybDtcbiAgICAgICAgICAgIGxldCBvcmlnaW5VcmwgPSB2YWx1ZS5lbGVtZW50Lm9yaWdpblVybDtcblxuICAgICAgICAgICAgaWYgKHRoaXMuaW1hZ2VTZXJ2aWNlLmdldEltYWdlVXJsKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZVNlcnZpY2UuZ2V0SW1hZ2VVcmwodmFsdWUuZWxlbWVudCkuc3Vic2NyaWJlKCh7IHRodW1iVXJsLCBvcmlnaW5VcmwgfSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJ1aWxkSW1hZ2VFbnRyeSh2YWx1ZS5lbGVtZW50LCB0aHVtYlVybCwgb3JpZ2luVXJsKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRJbWFnZUVudHJ5KHZhbHVlLmVsZW1lbnQsIHRodW1iVXJsLCBvcmlnaW5VcmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZXRCbG9ja0NhcmRMYXlvdXRBdHRyKCk7XG4gICAgICAgIH1cbiAgICB9O1xuXG4gICAgYnVpbGRJbWFnZUVudHJ5KG5ld0VsZW1lbnQ6IEltYWdlRWxlbWVudCwgdGh1bWJVcmw6IHN0cmluZywgb3JpZ2luVXJsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5pbWFnZUVudHJ5ID0ge1xuICAgICAgICAgICAgLi4ubmV3RWxlbWVudCxcbiAgICAgICAgICAgIHRodW1iVXJsLFxuICAgICAgICAgICAgb3JpZ2luVXJsLFxuICAgICAgICAgICAgYWxpZ246IG5ld0VsZW1lbnQuYWxpZ24gfHwgQWxpZ25tZW50LmxlZnQsXG4gICAgICAgICAgICByZVNpemVkOiBuZXdFbGVtZW50LnJlU2l6ZWQgfHwgZmFsc2VcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICAgICAgdGhpcy5zZXRJbWFnZUZpbGVJdGVtKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZmlsZUl0ZW0/LmZpbGUpIHtcbiAgICAgICAgICAgIHRoaXMudXBsb2FkSW1hZ2UoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldEltYWdlUGx1Z2luT3B0aW9ucygpO1xuICAgICAgICB0aGlzLnNldERpc2FibGVQcmV2aWV3KCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICB0aGlzLnN1YnNjcmliZU1vdXNlVXAoKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVJbWFnZVVwbG9hZGluZ1N0YXRlKCk7XG4gICAgfVxuXG4gICAgb25Db250ZXh0Q2hhbmdlKCkge1xuICAgICAgICBzdXBlci5vbkNvbnRleHRDaGFuZ2UoKTtcbiAgICAgICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQgJiYgIWlzTW9iaWxlTW9kZSh0aGlzLmVkaXRvcikpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzU2hvdWxkT3BlbigpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuTGF5b3V0VG9vbGJhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuaXNTaG91bGRDbG9zZSgpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jbG9zZUxheW91dFRvb2xiYXIoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnVwbG9hZGluZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLnJlbW92ZVVwbG9hZEZpbGUodGhpcy5maWxlSXRlbSk7XG4gICAgICAgIGlmICh0aGlzLnVwbG9hZGluZykge1xuICAgICAgICAgICAgdGhpcy50aGVDb250ZXh0U2VydmljZS51cGxvYWRpbmdTdGF0dXMkLm5leHQoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbWFnZVBsdWdpbk9wdGlvbnMoKSB7XG4gICAgICAgIHRoaXMuaW1hZ2VQbHVnaW5PcHRpb25zID0gZ2V0UGx1Z2luT3B0aW9uczxJbWFnZVBsdWdpbk9wdGlvbnM+KHRoaXMuZWRpdG9yLCBQbHVnaW5LZXlzLmltYWdlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldERpc2FibGVQcmV2aWV3KCkge1xuICAgICAgICBjb25zdCB7IGRpc2FibGVQcmV2aWV3IH0gPSB0aGlzLmltYWdlUGx1Z2luT3B0aW9ucztcbiAgICAgICAgaWYgKGRpc2FibGVQcmV2aWV3ICYmIHR5cGVvZiBkaXNhYmxlUHJldmlldyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlUHJldmlldyA9IGRpc2FibGVQcmV2aWV3KHRoaXMuZWRpdG9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVByZXZpZXcgPSBkaXNhYmxlUHJldmlldyBhcyBib29sZWFuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbWFnZUZpbGVJdGVtKCkge1xuICAgICAgICB0aGlzLmZpbGVJdGVtID0gdGhpcy50aGVDb250ZXh0U2VydmljZS51cGxvYWRpbmdGaWxlcy5maW5kKGl0ZW0gPT4gaXRlbS51cmwgPT09IHRoaXMuZWxlbWVudC51cmwpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3Vic2NyaWJlTW91c2VVcCgpIHtcbiAgICAgICAgdGhpcy50aGVDb250ZXh0U2VydmljZS5vbk1vdXNlVXAkLnBpcGUodGFrZVVudGlsRGVzdHJveWVkKHRoaXMuZGVzdHJveVJlZikpLnN1YnNjcmliZShlID0+IHRoaXMuZW5kRHJhZyhlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVJbWFnZVVwbG9hZGluZ1N0YXRlKCkge1xuICAgICAgICB0aGlzLnVwbG9hZGluZ1N1YnNjcmlwdGlvbiA9IHRoaXMuaW1hZ2VTZXJ2aWNlXG4gICAgICAgICAgICAuZ2V0VXBsb2FkaW5nSXRlbXMkKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIG1hcChcbiAgICAgICAgICAgICAgICAgICAgZmlsZVVwbG9hZGluZ0l0ZW0gPT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmlsZUl0ZW0/LmZpbGUgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVVcGxvYWRpbmdJdGVtLmZpbmQoaXRlbSA9PiBpdGVtLmZpbGUgPT09IHRoaXMuZmlsZUl0ZW0/LmZpbGUgfHwgaXRlbT8udXJsID09PSB0aGlzLmZpbGVJdGVtPy5maWxlKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUodXBsb2FkaW5nSXRlbSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCF1cGxvYWRpbmdJdGVtIHx8ICF1cGxvYWRpbmdJdGVtLnJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMucGVyY2VudGFnZSA9IHVwbG9hZGluZ0l0ZW0ucmVzdWx0LnVwbG9hZEZpbGUucHJvZ3Jlc3MucGVyY2VudGFnZTtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHN0YXR1cyB9ID0gdXBsb2FkaW5nSXRlbS5yZXN1bHQ7XG4gICAgICAgICAgICAgICAgLy8g5oiQ5Yqf5ZKM5aSx6LSl6YO96KaB5LiK5Lyg57uT5p2fXG4gICAgICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gVGh5VXBsb2FkU3RhdHVzLmRvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRpbmdTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51cGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy50aGVDb250ZXh0U2VydmljZS5yZW1vdmVVcGxvYWRGaWxlKHRoaXMuZmlsZUl0ZW0pO1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMudGhlQ29udGV4dFNlcnZpY2UudXBsb2FkaW5nU3RhdHVzJC5uZXh0KGZhbHNlKSwgMCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW1hZ2VOb2RlcyhpbWFnZUluZm86IEltYWdlRW50cnkpIHtcbiAgICAgICAgY29uc3QgcGF0aCA9IEFuZ3VsYXJFZGl0b3IuZmluZFBhdGgodGhpcy5lZGl0b3IsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB7IHR5cGU6IEVsZW1lbnRLaW5kcy5pbWFnZSwgdXJsOiBudWxsLCAuLi5pbWFnZUluZm8gfTtcbiAgICAgICAgSGlzdG9yeUVkaXRvci53aXRob3V0U2F2aW5nKHRoaXMuZWRpdG9yLCAoKSA9PiBUcmFuc2Zvcm1zLnNldE5vZGVzKHRoaXMuZWRpdG9yLCBkYXRhLCB7IGF0OiBwYXRoIH0pKTtcbiAgICB9XG5cbiAgICBhc3luYyB1cGxvYWRJbWFnZSgpIHtcbiAgICAgICAgdGhpcy51cGxvYWRpbmcgPSB0cnVlO1xuXG4gICAgICAgIGNvbnN0IGZpbGUgPSB0aGlzLmZpbGVJdGVtLmZpbGU7XG4gICAgICAgIGlmIChmaWxlIGluc3RhbmNlb2YgRmlsZSkge1xuICAgICAgICAgICAgdGhpcy5pbWFnZUVudHJ5ID0ge1xuICAgICAgICAgICAgICAgIGFsaWduOiB0aGlzLmltYWdlRW50cnkuYWxpZ24gfHwgQWxpZ25tZW50LmNlbnRlcixcbiAgICAgICAgICAgICAgICB0aHVtYlVybDogVVJMLmNyZWF0ZU9iamVjdFVSTChmaWxlKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLnVwbG9hZGluZ1N0YXR1cyQubmV4dCh0cnVlKTtcblxuICAgICAgICBjb25zdCBbZmlsZUVudGl0eV0gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbSh0aGlzLmltYWdlU2VydmljZS51cGxvYWRGaWxlSGFuZGxlKGZpbGUpKTtcbiAgICAgICAgY29uc3QgeyBuYW1lLCBzaXplLCB0aHVtYlVybCwgb3JpZ2luVXJsIH0gPSBmaWxlRW50aXR5O1xuICAgICAgICBjb25zdCBpbWFnZUluZm86IEltYWdlRW50cnkgPSB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgdGh1bWJVcmwsXG4gICAgICAgICAgICBvcmlnaW5VcmwsXG4gICAgICAgICAgICBzaXplLFxuICAgICAgICAgICAgYWxpZ246IHRoaXMuaW1hZ2VFbnRyeS5hbGlnbiB8fCBBbGlnbm1lbnQuY2VudGVyXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc2V0SW1hZ2VOb2RlcyhpbWFnZUluZm8pO1xuICAgIH1cblxuICAgIHN0YXJ0RHJhZyhldmVudDogTW91c2VFdmVudCwgYXhpczogc3RyaW5nKSB7XG4gICAgICAgIGlmICh0aGlzLmxvYWRJbWFnZUVycm9yIHx8ICF0aGlzLmltZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICB0aGlzLmRyYWdhYmxlID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaW1nRWxlbWVudCA9IHRoaXMuaW1nLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGF4aXMsXG4gICAgICAgICAgICBwcmludGVyUG9zaXRpb25YOiBldmVudC5wYWdlWCxcbiAgICAgICAgICAgIHByaW50ZXJQb3NpdGlvblk6IGV2ZW50LnBhZ2VZLFxuICAgICAgICAgICAgaW50ZXJuYWxXaWR0aDogaW1nRWxlbWVudC53aWR0aCB8fCB0aGlzLmltYWdlRW50cnkud2lkdGgsXG4gICAgICAgICAgICBpbnRlcm5hbEhlaWdodDogaW1nRWxlbWVudC5oZWlnaHQgfHwgdGhpcy5pbWFnZUVudHJ5LmhlaWdodCxcbiAgICAgICAgICAgIG1heFdpZHRoOiB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldEZpcnN0RWxlbWVudENoaWxkKCkub2Zmc2V0V2lkdGhcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5tb3VzZU1vdmVTdWJzY3JpcHRpb24gPSB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLm9uTW91c2VNb3ZlJC5zdWJzY3JpYmUoZSA9PiB0aGlzLm1vdXNlTW92ZUhhbmRsZShlLCBvcHRpb25zKSk7XG4gICAgfVxuXG4gICAgbW91c2VNb3ZlSGFuZGxlKFxuICAgICAgICBldmVudDogTW91c2VFdmVudCxcbiAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgYXhpczogc3RyaW5nO1xuICAgICAgICAgICAgcHJpbnRlclBvc2l0aW9uWDogbnVtYmVyO1xuICAgICAgICAgICAgcHJpbnRlclBvc2l0aW9uWTogbnVtYmVyO1xuICAgICAgICAgICAgaW50ZXJuYWxXaWR0aDogbnVtYmVyO1xuICAgICAgICAgICAgaW50ZXJuYWxIZWlnaHQ6IG51bWJlcjtcbiAgICAgICAgICAgIG1heFdpZHRoOiBudW1iZXI7XG4gICAgICAgIH1cbiAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuZHJhZ2FibGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgYXhpcywgcHJpbnRlclBvc2l0aW9uWCwgcHJpbnRlclBvc2l0aW9uWSwgaW50ZXJuYWxXaWR0aCwgaW50ZXJuYWxIZWlnaHQsIG1heFdpZHRoIH0gPSBvcHRpb25zO1xuICAgICAgICAgICAgY29uc3QgaXNSZXZlcnNhbCA9IGF4aXMuaW5jbHVkZXMoJy0nKTtcblxuICAgICAgICAgICAgbGV0IG9mZnNldFggPSBldmVudC5wYWdlWCAtIHByaW50ZXJQb3NpdGlvblg7XG4gICAgICAgICAgICBsZXQgb2Zmc2V0WSA9IGV2ZW50LnBhZ2VZIC0gcHJpbnRlclBvc2l0aW9uWTtcbiAgICAgICAgICAgIGxldCB7IHdpZHRoLCBoZWlnaHQgfSA9IHRoaXMuZWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKGlzUmV2ZXJzYWwpIHtcbiAgICAgICAgICAgICAgICBvZmZzZXRYID0gLW9mZnNldFg7XG4gICAgICAgICAgICAgICAgb2Zmc2V0WSA9IC1vZmZzZXRZO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMuZWxlbWVudC5hbGlnbiA9PT0gJ2NlbnRlcicpIHtcbiAgICAgICAgICAgICAgICBvZmZzZXRYID0gb2Zmc2V0WCAqIDI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChheGlzLmluY2x1ZGVzKCd4JykpIHtcbiAgICAgICAgICAgICAgICB3aWR0aCA9IG9mZnNldFggKyBpbnRlcm5hbFdpZHRoO1xuICAgICAgICAgICAgICAgIGlmICh3aWR0aCA+PSBtYXhXaWR0aCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IG1heFdpZHRoO1xuXG4gICAgICAgICAgICAgICAgICAgIC8vIGNsZWFyIGBsYXlvdXRgIHdoZW4gdGhlIGltYWdlIGlzIGFkanVzdGVkIHRvIHRoZSBtYXhpbXVtIHZhbHVlIHVuZGVyIHJpY2ggbWVkaWFcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuaW1hZ2VFbnRyeT8ubGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBJbWFnZUVkaXRvci5zZXRJbWFnZU5vZGUodGhpcy5lZGl0b3IsIHsgbGF5b3V0OiB1bmRlZmluZWQgfSwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAod2lkdGggPD0gMTAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoID0gMTAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYXhpcy5pbmNsdWRlcygnbCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJhdGlvID0gaW50ZXJuYWxXaWR0aCAvIHdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgPSBpbnRlcm5hbEhlaWdodCAvIHJhdGlvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYXhpcy5pbmNsdWRlcygneScpKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0ID0gb2Zmc2V0WSArIGludGVybmFsSGVpZ2h0O1xuICAgICAgICAgICAgICAgIGlmIChoZWlnaHQgPj0gMTAwMCkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgPSAxMDAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaGVpZ2h0IDw9IDEwMCkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQgPSAxMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChheGlzLmluY2x1ZGVzKCdsJykpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmF0aW8gPSBpbnRlcm5hbEhlaWdodCAvIGhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBpbnRlcm5hbFdpZHRoIC8gcmF0aW87XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXRoaXMuaW1hZ2VFbnRyeS5yZVNpemVkICYmIHRoaXMuaW1hZ2VFbnRyeS53aWR0aCAhPT0gd2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlRW50cnkucmVTaXplZCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmltZy5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gd2lkdGggKyAncHgnO1xuICAgICAgICAgICAgdGhpcy5pbWFnZUVudHJ5LndpZHRoID0gd2lkdGg7XG4gICAgICAgICAgICB0aGlzLmltYWdlRW50cnkuaGVpZ2h0ID0gaGVpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZW5kRHJhZyhldmVudDogTW91c2VFdmVudCkge1xuICAgICAgICBpZiAodGhpcy5kcmFnYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5kcmFnYWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5tb3VzZU1vdmVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlRW50cnkud2lkdGggPT09IHRoaXMudGhlQ29udGV4dFNlcnZpY2UuZ2V0T3B0aW9ucygpLndpZHRoICYmXG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZUVudHJ5LndpZHRoIDw9IHRoaXMubmF0dXJhbFdpZHRoICYmXG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50LndpZHRoXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlRW50cnkud2lkdGggPSBudWxsO1xuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VFbnRyeS5oZWlnaHQgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZXROb2RlcyhcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvcixcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IEVsZW1lbnRLaW5kcy5pbWFnZSxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHRoaXMuaW1hZ2VFbnRyeS53aWR0aCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiB0aGlzLmltYWdlRW50cnkuaGVpZ2h0XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7IGF0OiB0aGlzLnNlbGVjdGlvbiB9XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2FuY2VsVXBsb2FkKCkge1xuICAgICAgICBUcmFuc2Zvcm1zLnJlbW92ZU5vZGVzKHRoaXMuZWRpdG9yLCB7IGF0OiB0aGlzLnNlbGVjdGlvbiB9KTtcbiAgICB9XG5cbiAgICBpc1Nob3VsZE9wZW4oKSB7XG4gICAgICAgIGNvbnN0IHsgcmljaE1lZGlhIH0gPSB0aGlzLmVkaXRvcj8ub3B0aW9ucztcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICF0aGlzPy5yZWFkb25seSAmJlxuICAgICAgICAgICAgcmljaE1lZGlhICYmXG4gICAgICAgICAgICB0aGlzLmlzQ29sbGFwc2VkQW5kTm9uUmVhZG9ubHkgJiZcbiAgICAgICAgICAgIFRoZVF1ZXJpZXMuaXNHbG9iYWxDb2xsYXBzZWQodGhpcy5lZGl0b3IpICYmXG4gICAgICAgICAgICAhdGhpcy51cGxvYWRpbmcgJiZcbiAgICAgICAgICAgICF0aGlzLmlzT3BlblxuICAgICAgICApO1xuICAgIH1cblxuICAgIGlzU2hvdWxkQ2xvc2UoKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLmlzT3BlbiAmJlxuICAgICAgICAgICAgKHRoaXM/LnJlYWRvbmx5IHx8ICF0aGlzLmlzQ29sbGFwc2VkQW5kTm9uUmVhZG9ubHkgfHwgIVRoZVF1ZXJpZXMuaXNHbG9iYWxDb2xsYXBzZWQodGhpcy5lZGl0b3IpIHx8IHRoaXMudXBsb2FkaW5nKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIG9wZW5MYXlvdXRUb29sYmFyKCkge1xuICAgICAgICBpZiAoIXRoaXMuaW1nKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5sYXlvdXRUb29sYmFyUmVmID0gdGhpcy50aHlQb3BvdmVyLm9wZW4odGhpcy5sYXlvdXRUb29sYmFyLCB7XG4gICAgICAgICAgICBvcmlnaW46IHRoaXMuaW1hZ2VDb250ZW50LFxuICAgICAgICAgICAgcGFuZWxDbGFzczogJ3RoZS1wbHVnaW4tdG9vbGJhci1wb3BvdmVyJyxcbiAgICAgICAgICAgIGluc2lkZUNsb3NhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGJhY2tkcm9wQ2xvc2FibGU6IHRydWUsXG4gICAgICAgICAgICBoYXNCYWNrZHJvcDogZmFsc2UsXG4gICAgICAgICAgICBtaW5XaWR0aDogMCxcbiAgICAgICAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMubGF5b3V0VG9vbGJhclJlZj8uZ2V0T3ZlcmxheVJlZigpLnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodGhpcy5jcmVhdGVQb3NpdGlvblN0cmF0ZWd5KCkpO1xuXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRUb29sYmFyUmVmPy5nZXRPdmVybGF5UmVmKCkudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSwgMTUwKTtcbiAgICB9XG5cbiAgICBjbG9zZUxheW91dFRvb2xiYXIoKSB7XG4gICAgICAgIHRoaXMubGF5b3V0VG9vbGJhclJlZj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICBsYXlvdXRBY3RpdmUoa2V5OiBBbGlnbm1lbnQgfCBMYXlvdXRUeXBlcykge1xuICAgICAgICBjb25zdCB7IGxheW91dCwgYWxpZ24gfSA9IHRoaXMuaW1hZ2VFbnRyeTtcbiAgICAgICAgcmV0dXJuIGtleSAmJiAoKGtleSA9PT0gYWxpZ24gJiYgIWxheW91dCkgfHwga2V5ID09PSBsYXlvdXQpO1xuICAgIH1cblxuICAgIHNldEltYWdlTm9kZShlOiBNb3VzZUV2ZW50LCBwcm9wczogUGFydGlhbDxJbWFnZUVsZW1lbnQ+KSB7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgSW1hZ2VFZGl0b3Iuc2V0SW1hZ2VOb2RlKHRoaXMuZWRpdG9yLCBwcm9wcywgdGhpcy5lbGVtZW50KTtcbiAgICB9XG5cbiAgICBzZXRCbG9ja0NhcmRMYXlvdXRBdHRyKCkge1xuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRFbGVtZW50ID0gQW5ndWxhckVkaXRvci50b0RPTU5vZGUodGhpcy5lZGl0b3IsIHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICBjb25zdCBibG9ja0NhcmQgPSBjdXJyZW50RWxlbWVudC5jbG9zZXN0KCcuc2xhdGUtYmxvY2stY2FyZCcpO1xuICAgICAgICAgICAgY29uc3QgeyBsYXlvdXQgfSA9IHRoaXMuZWxlbWVudDtcblxuICAgICAgICAgICAgaWYgKGJsb2NrQ2FyZCAmJiBsYXlvdXQpIHtcbiAgICAgICAgICAgICAgICBibG9ja0NhcmQuc2V0QXR0cmlidXRlKCdsYXlvdXQnLCBsYXlvdXQpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChibG9ja0NhcmQgJiYgIWxheW91dCkge1xuICAgICAgICAgICAgICAgIGJsb2NrQ2FyZC5yZW1vdmVBdHRyaWJ1dGUoJ2xheW91dCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5sYXlvdXRUb29sYmFyUmVmPy5nZXRPdmVybGF5UmVmKCkudXBkYXRlUG9zaXRpb24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25EZWxldGUoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgSW1hZ2VFZGl0b3IucmVtb3ZlSW1hZ2UodGhpcy5lZGl0b3IsIHRoaXMuZWxlbWVudCk7XG4gICAgfVxuXG4gICAgY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpIHtcbiAgICAgICAgY29uc3QgYm90dG9tUG9zaXRpb246IENvbm5lY3RlZFBvc2l0aW9uID0ge1xuICAgICAgICAgICAgb3JpZ2luWDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvcmlnaW5ZOiAnYm90dG9tJyxcbiAgICAgICAgICAgIG92ZXJsYXlYOiAnY2VudGVyJyxcbiAgICAgICAgICAgIG92ZXJsYXlZOiAndG9wJyxcbiAgICAgICAgICAgIG9mZnNldFg6IDAsXG4gICAgICAgICAgICBvZmZzZXRZOiA0XG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiB0aGlzLm92ZXJsYXlcbiAgICAgICAgICAgIC5wb3NpdGlvbigpXG4gICAgICAgICAgICAuZmxleGlibGVDb25uZWN0ZWRUbyh0aGlzLmltYWdlQ29udGVudClcbiAgICAgICAgICAgIC53aXRoRmxleGlibGVEaW1lbnNpb25zKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhHcm93QWZ0ZXJPcGVuKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQdXNoKGZhbHNlKVxuICAgICAgICAgICAgLndpdGhQb3NpdGlvbnMoW2JvdHRvbVBvc2l0aW9uXSk7XG4gICAgfVxuXG4gICAgaW1hZ2VMb2FkZWQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGltZyA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW1hZ2VFbGVtZW50O1xuICAgICAgICB0aGlzLm5hdHVyYWxXaWR0aCA9IGltZy5uYXR1cmFsV2lkdGg7XG4gICAgICAgIHRoaXMubmF0dXJhbEhlaWdodCA9IGltZy5uYXR1cmFsSGVpZ2h0O1xuICAgIH1cblxuICAgIGltYWdlRXJyb3IoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGltZyA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW1hZ2VFbGVtZW50O1xuICAgICAgICBjb25zdCBlcnJvckltYWdlVXJsID0gdGhpcy5pbWFnZVBsdWdpbk9wdGlvbnM/LmVycm9ySW1hZ2VVcmw7XG4gICAgICAgIGlmICghdGhpcy5sb2FkSW1hZ2VFcnJvciAmJiBlcnJvckltYWdlVXJsKSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSB0eXBlb2YgZXJyb3JJbWFnZVVybCA9PT0gJ2Z1bmN0aW9uJyA/IGVycm9ySW1hZ2VVcmwodGhpcy5lZGl0b3IpIDogZXJyb3JJbWFnZVVybDtcbiAgICAgICAgICAgIHRoaXMubG9hZEltYWdlRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlUHJldmlldyA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmltYWdlQ29udGVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoJ3RoZS1pbWFnZS1lcnJvcicpO1xuICAgICAgICAgICAgaW1nLnNyYyA9IHVybDtcbiAgICAgICAgfVxuICAgICAgICBpbWcub25lcnJvciA9IG51bGw7XG4gICAgfVxuXG4gICAgLy8g57uE5Lu25bqTIGRpYWxvZyDlvLnlh7rml7bvvIzkvJrorrDlvZXlvZPliY3nmoTnhKbngrnjgILpmLvmraIgbW91c2Vkb3duIOm7mOiupOihjOS4uu+8jOS9v+W+l+WbvueJh+WOn+acrOeahCBjbGljayDkuovku7bog73ojrflj5bliLDmraPnoa7nmoTnhKbngrnjgIJcbiAgICBwcmV2ZW50RGVmYXVsdChldmVudDogRXZlbnQpIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgaW1hZ2VDbGljaygpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSB0aGlzLmltYWdlR3JvdXAuaW1hZ2VzLmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09IHRoaXMuaW1hZ2VEaXJlY3RpdmUpO1xuICAgICAgICBjb25zdCBpbWFnZUdyb3VwID0gdGhpcy5pbWFnZUdyb3VwLmltYWdlcy5tYXAoaXRlbSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG9yaWdpblVybDogaXRlbS50aHlPcmlnaW5TcmMsXG4gICAgICAgICAgICAgICAgdGh1bWJVcmw6IGl0ZW0udGh5UHJldmlld1NyYyxcbiAgICAgICAgICAgICAgICBuYW1lOiBpdGVtLnRoeUltYWdlTWV0YS5uYW1lLFxuICAgICAgICAgICAgICAgIHNpemU6IGl0ZW0udGh5SW1hZ2VNZXRhLnNpemVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pIGFzIEltYWdlSW5mb1tdO1xuICAgICAgICBjb25zdCB7IG9yaWdpblVybCwgdGh1bWJVcmwsIG5hbWUsIHNpemUgfSA9IHRoaXMuZWxlbWVudDtcbiAgICAgICAgaWYgKHRoaXMuaW1hZ2VQbHVnaW5PcHRpb25zLnByZXZpZXcpIHtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VQbHVnaW5PcHRpb25zLnByZXZpZXcoe1xuICAgICAgICAgICAgICAgIGVkaXRvcjogdGhpcy5lZGl0b3IsXG4gICAgICAgICAgICAgICAgcHJldmlld0ltYWdlSW5mbzoge1xuICAgICAgICAgICAgICAgICAgICBpbWFnZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGh1bWJVcmwsXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBpbWFnZUdyb3VwLFxuICAgICAgICAgICAgICAgICAgICBpbmRleFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInRoZS1pbWFnZS1jb250YWluZXJcIiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiIFtzdHlsZS50ZXh0QWxpZ25dPVwiaW1hZ2VFbnRyeS5hbGlnblwiPlxuICA8ZGl2XG4gICAgI2ltYWdlQ29udGVudFxuICAgICpuZ0lmPVwiaW1hZ2VFbnRyeS50aHVtYlVybDsgZWxzZSBpbWFnZUxvYWRpbmdcIlxuICAgIGNsYXNzPVwiaW1hZ2UtY29udGVudFwiXG4gICAgY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIlxuICAgIFtjbGFzcy5jdXJzb3ItcG9pbnRlcl09XCIhc2VsZWN0aW9uXCJcbiAgPlxuICAgIDxpbWdcbiAgICAgICNpbWdcbiAgICAgIHRoeUltYWdlXG4gICAgICBjbGFzcz1cIm1haW4taW1hZ2VcIlxuICAgICAgW2NsYXNzLmltYWdlLWNvbGxhcHNlZF09XCJzZWxlY3Rpb24gJiYgIXVwbG9hZGluZ1wiXG4gICAgICBbbmdTdHlsZV09XCJ7ICd3aWR0aC5weCc6IGltYWdlQmluZGluZ1dpZHRoIH1cIlxuICAgICAgW2FsdF09XCJpbWFnZUVudHJ5Lm5hbWVcIlxuICAgICAgW3RoeVNyY109XCJpbWFnZUVudHJ5LnRodW1iVXJsXCJcbiAgICAgIFt0aHlQcmV2aWV3U3JjXT1cImltYWdlRW50cnkudGh1bWJVcmxcIlxuICAgICAgW3RoeU9yaWdpblNyY109XCJpbWFnZUVudHJ5Lm9yaWdpblVybFwiXG4gICAgICBbdGh5RGlzYWJsZVByZXZpZXddPVwiZGlzYWJsZVByZXZpZXdcIlxuICAgICAgW3RoeUltYWdlTWV0YV09XCJ7IG5hbWU6IGltYWdlRW50cnkubmFtZSwgc2l6ZTogaW1hZ2VFbnRyeS5zaXplIH1cIlxuICAgICAgKGxvYWQpPVwiaW1hZ2VMb2FkZWQoJGV2ZW50KVwiXG4gICAgICAobW91c2Vkb3duKT1cInByZXZlbnREZWZhdWx0KCRldmVudClcIlxuICAgICAgKGVycm9yKT1cImltYWdlRXJyb3IoJGV2ZW50KVwiXG4gICAgICAoY2xpY2spPVwiaW1hZ2VDbGljaygkZXZlbnQpXCJcbiAgICAvPlxuICAgIDxkaXYgKm5nSWY9XCJpc0NvbGxhcHNlZEFuZE5vblJlYWRvbmx5XCIgY2xhc3M9XCJpbWFnZS1wcm9maWxlXCIgW2NsYXNzLm91dGxpbmVdPVwic2VsZWN0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWxvYWRJbWFnZUVycm9yXCI+XG4gICAgICAgIDxzcGFuIChtb3VzZWRvd24pPVwic3RhcnREcmFnKCRldmVudCwgJy14bCcpXCIgY2xhc3M9XCJpbWFnZS1wb2ludGVyIGxlZnQgdG9wXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiAobW91c2Vkb3duKT1cInN0YXJ0RHJhZygkZXZlbnQsICd4bCcpXCIgY2xhc3M9XCJpbWFnZS1wb2ludGVyIHJpZ2h0IHRvcFwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAneGwnKVwiIGNsYXNzPVwiaW1hZ2UtcG9pbnRlciByaWdodCBib3R0b21cIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIChtb3VzZWRvd24pPVwic3RhcnREcmFnKCRldmVudCwgJy14bCcpXCIgY2xhc3M9XCJpbWFnZS1wb2ludGVyIGxlZnQgYm90dG9tXCI+PC9zcGFuPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImltYWdlVXBsb2FkaW5nXCI+PC9uZy10ZW1wbGF0ZT5cbiAgICA8ZGl2ICpuZ0lmPVwiIXVwbG9hZGluZ1wiIGNsYXNzPVwibGF5ZXJcIiBbY2xhc3MucmVhZG9ubHldPVwicmVhZG9ubHlcIj48L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPG5nLXRlbXBsYXRlICNpbWFnZUxvYWRpbmc+XG4gIDxkaXYgKm5nSWY9XCIhaW1hZ2VFbnRyeS50aHVtYlVybFwiIGNsYXNzPVwiaW1hZ2UtbG9hZGluZyBjdXJzb3ItcG9pbnRlclwiIGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCI+XG4gICAgPHRoeS1pY29uIHRoeUljb25OYW1lPVwiaW1hZ2VcIj48L3RoeS1pY29uPlxuICA8L2Rpdj5cbiAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImltYWdlVXBsb2FkaW5nXCI+PC9uZy10ZW1wbGF0ZT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGF5b3V0VG9vbGJhcj5cbiAgPHRoeS1hY3Rpb25zIHRoeVNpemU9XCJ4eHNcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGxheW91dE9wdGlvbnNcIj5cbiAgICAgIDxhXG4gICAgICAgICpuZ0lmPVwiaXRlbS5rZXkgIT09ICdzcGxpdCdcIlxuICAgICAgICBocmVmPVwiamF2YXNjcmlwdDo7XCJcbiAgICAgICAgdGh5QWN0aW9uXG4gICAgICAgIFt0aHlUeXBlXT1cIml0ZW0ua2V5ID09PSAncmVtb3ZlJyA/ICdkYW5nZXInIDogJ3ByaW1hcnknXCJcbiAgICAgICAgW3RoeUFjdGlvbkljb25dPVwiaXRlbS5pY29uXCJcbiAgICAgICAgW3RoeUFjdGlvbkFjdGl2ZV09XCJsYXlvdXRBY3RpdmUoaXRlbS5rZXkpXCJcbiAgICAgICAgW3RoeVRvb2x0aXBdPVwiaXRlbS5uYW1lXCJcbiAgICAgICAgdGh5VG9vbHRpcFBsYWNlbWVudD1cInRvcFwiXG4gICAgICAgIChtb3VzZWRvd24pPVwiaXRlbT8uaGFuZGxlKCRldmVudCwgaXRlbS5rZXkpXCJcbiAgICAgID48L2E+XG4gICAgICA8dGh5LWRpdmlkZXIgKm5nSWY9XCJpdGVtLmtleSA9PT0gJ3NwbGl0J1wiIGNsYXNzPVwibXItMiBtbC0xIGFsaWduLXNlbGYtY2VudGVyXCIgW3RoeVZlcnRpY2FsXT1cInRydWVcIiB0aHlDb2xvcj1cImxpZ2h0XCI+PC90aHktZGl2aWRlcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC90aHktYWN0aW9ucz5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW1hZ2VVcGxvYWRpbmc+XG4gIDxkaXYgKm5nSWY9XCJ1cGxvYWRpbmdcIiBjbGFzcz1cInVwbG9hZGluZ1wiPlxuICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWRpbmctcGVyY2VudGFnZVwiPlxuICAgICAgPHRoeS1wcm9ncmVzcyB0aHlUeXBlPVwicHJpbWFyeVwiIFt0aHlWYWx1ZV09XCJwZXJjZW50YWdlXCIgdGh5U2l6ZT1cInNtXCI+PC90aHktcHJvZ3Jlc3M+XG4gICAgICA8dGh5LWljb24gKGNsaWNrKT1cImNhbmNlbFVwbG9hZCgkZXZlbnQpXCIgdGh5SWNvbk5hbWU9XCJjbG9zZS1jaXJjbGUtYm9sZC1maWxsXCIgdGh5SWNvbkxlZ2dpbmc9XCJ0cnVlXCI+IDwvdGh5LWljb24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
472
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvc3JjL3BsdWdpbnMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekUsT0FBTyxFQUdILFNBQVMsRUFHVCxNQUFNLEVBSU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXJGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckMsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUE0QyxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFlBQVksQ0FBQztBQUU5QyxPQUFPLEVBS0gsVUFBVSxFQUNWLHVCQUF1QixFQUN2QixjQUFjLEVBRWpCLE1BQU0sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxLQUFLLFVBQVUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7O0FBcUI3QyxNQUFNLE9BQU8sUUFDVCxTQUFRLGNBQW9DO0lBeUU1QyxJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxFQUFFLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2pJLENBQUM7SUFFRCxJQUFJLGlCQUFpQjtRQUNqQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ2pFLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsT0FBTztZQUNqRyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQjtZQUN6QixDQUFDLENBQUMsWUFBWSxDQUFDO0lBQ3ZCLENBQUM7SUFhRCxZQUNXLEdBQXNCLEVBQ3RCLFVBQXlCLEVBRXhCLFlBQTZCLEVBQzdCLGlCQUFvQyxFQUNwQyxVQUFzQixFQUN0QixPQUFnQixFQUNoQixVQUFzQjtRQUU5QixLQUFLLEVBQUUsQ0FBQztRQVRELFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGVBQVUsR0FBVixVQUFVLENBQWU7UUFFeEIsaUJBQVksR0FBWixZQUFZLENBQWlCO1FBQzdCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQ2hCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFwR2xDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBRWpCLGtCQUFhLEdBQUcsQ0FBQyxDQUFDO1FBRWxCLGVBQVUsR0FBZSxFQUFFLENBQUM7UUFFNUIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixlQUFVLEdBQUcsQ0FBQyxDQUFDO1FBSWYsdUJBQWtCLEdBQUcsR0FBRyxDQUFDO1FBRXpCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLG1CQUFjLEdBQUcsS0FBSyxDQUFDO1FBRXZCLGtCQUFhLEdBQW1CO1lBQzVCO2dCQUNJLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSTtnQkFDbkIsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLElBQUksRUFBRSxLQUFLO2dCQUNYLE1BQU0sRUFBRSxDQUFDLENBQWEsRUFBRSxHQUFjLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUM7YUFDckc7WUFDRDtnQkFDSSxHQUFHLEVBQUUsU0FBUyxDQUFDLE1BQU07Z0JBQ3JCLElBQUksRUFBRSxjQUFjO2dCQUNwQixJQUFJLEVBQUUsSUFBSTtnQkFDVixNQUFNLEVBQUUsQ0FBQyxDQUFhLEVBQUUsR0FBYyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDO2FBQ3JHO1lBQ0Q7Z0JBQ0ksR0FBRyxFQUFFLFNBQVMsQ0FBQyxLQUFLO2dCQUNwQixJQUFJLEVBQUUsYUFBYTtnQkFDbkIsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsTUFBTSxFQUFFLENBQUMsQ0FBYSxFQUFFLEdBQWMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsQ0FBQzthQUNyRztZQUNEO2dCQUNJLEdBQUcsRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO2FBQ2hDO1lBQ0Q7Z0JBQ0ksR0FBRyxFQUFFLFdBQVcsQ0FBQyxRQUFRO2dCQUN6QixJQUFJLEVBQUUsV0FBVztnQkFDakIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLENBQUMsQ0FBYSxFQUFFLEdBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO2FBQ3JGO1lBQ0Q7Z0JBQ0ksR0FBRyxFQUFFLFdBQVcsQ0FBQyxTQUFTO2dCQUMxQixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLE1BQU07Z0JBQ1osTUFBTSxFQUFFLENBQUMsQ0FBYSxFQUFFLEdBQWdCLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDO2FBQ3JGO1lBQ0Q7Z0JBQ0ksR0FBRyxFQUFFLFFBQVE7Z0JBQ2IsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsTUFBTSxFQUFFLENBQUMsQ0FBYSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQzthQUM5QztTQUNKLENBQUM7UUFNTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBeUN6Qix3QkFBbUIsR0FBRyxDQUFDLEtBQXdDLEVBQUUsRUFBRTtZQUMvRCxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMzRCxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztnQkFDdEMsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7Z0JBRXhDLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztvQkFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUU7d0JBQy9FLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLENBQUM7d0JBQ3pELElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzVCLENBQUMsQ0FBQyxDQUFDO2dCQUNQLENBQUM7cUJBQU0sQ0FBQztvQkFDSixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUM3RCxDQUFDO2dCQUNELElBQUksQ0FBQyxzQkFBc0IsRUFBRSxDQUFDO1lBQ2xDLENBQUM7UUFDTCxDQUFDLENBQUM7SUFqQkYsQ0FBQztJQW1CRCxlQUFlLENBQUMsVUFBd0IsRUFBRSxRQUFnQixFQUFFLFNBQWlCO1FBQ3pFLElBQUksQ0FBQyxVQUFVLEdBQUc7WUFDZCxHQUFHLFVBQVU7WUFDYixRQUFRO1lBQ1IsU0FBUztZQUNULEtBQUssRUFBRSxVQUFVLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxJQUFJO1lBQ3pDLE9BQU8sRUFBRSxVQUFVLENBQUMsT0FBTyxJQUFJLEtBQUs7U0FDdkMsQ0FBQztJQUNOLENBQUM7SUFFRCxRQUFRO1FBQ0osS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUNELElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlO1FBQ1gsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1lBQ2pELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzdCLENBQUM7WUFDRCxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDO2dCQUN2QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM5QixDQUFDO1FBQ0wsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4RCxDQUFDO1FBQ0QsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFTyxxQkFBcUI7UUFDekIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLGdCQUFnQixDQUFxQixJQUFJLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRyxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLE1BQU0sRUFBRSxjQUFjLEVBQUUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDbkQsSUFBSSxjQUFjLElBQUksT0FBTyxjQUFjLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUF5QixDQUFDO1FBQ3BELENBQUM7SUFDTCxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDaEgsQ0FBQztJQUVPLDRCQUE0QjtRQUNoQyxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLFlBQVk7YUFDekMsa0JBQWtCLEVBQUU7YUFDcEIsSUFBSSxDQUNELEdBQUcsQ0FDQyxpQkFBaUIsQ0FBQyxFQUFFLENBQ2hCLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSTtZQUNuQixpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLElBQUksRUFBRSxHQUFHLEtBQUssSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FDN0csQ0FDSjthQUNBLFNBQVMsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUN2QixJQUFJLENBQUMsYUFBYSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUMxQyxPQUFPO1lBQ1gsQ0FBQztZQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQztZQUN0RSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQztZQUN4QyxjQUFjO1lBQ2QsSUFBSSxNQUFNLEtBQUssZUFBZSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNsQyxJQUFJLENBQUMscUJBQXFCLENBQUMsV0FBVyxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN2RCxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM3RSxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUM3QixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFTyxhQUFhLENBQUMsU0FBcUI7UUFDdkMsTUFBTSxJQUFJLEdBQUcsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRCxNQUFNLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztRQUNuRSxhQUFhLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVELEtBQUssQ0FBQyxXQUFXO1FBQ2IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFFdEIsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDaEMsSUFBSSxJQUFJLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRztnQkFDZCxLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU07Z0JBQ2hELFFBQVEsRUFBRSxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQzthQUN0QyxDQUFDO1FBQ04sQ0FBQztRQUNELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbkQsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sY0FBYyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNwRixNQUFNLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLEdBQUcsVUFBVSxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFlO1lBQzFCLElBQUk7WUFDSixRQUFRO1lBQ1IsU0FBUztZQUNULElBQUk7WUFDSixLQUFLLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksU0FBUyxDQUFDLE1BQU07WUFDaEQsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQzlCLFlBQVksRUFBRSxJQUFJLENBQUMsYUFBYTtTQUNuQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsU0FBUyxDQUFDLEtBQWlCLEVBQUUsSUFBWTtRQUNyQyxJQUFJLElBQUksQ0FBQyxjQUFjLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDbkMsT0FBTztRQUNYLENBQUM7UUFDRCxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBaUMsQ0FBQztRQUM5RCxNQUFNLE9BQU8sR0FBRztZQUNaLElBQUk7WUFDSixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsS0FBSztZQUM3QixnQkFBZ0IsRUFBRSxLQUFLLENBQUMsS0FBSztZQUM3QixhQUFhLEVBQUUsVUFBVSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7WUFDeEQsY0FBYyxFQUFFLFVBQVUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNO1lBQzNELFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxXQUFXO1NBQ3RFLENBQUM7UUFDRixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ3RILENBQUM7SUFFRCxlQUFlLENBQ1gsS0FBaUIsRUFDakIsT0FPQztRQUVELElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsR0FBRyxPQUFPLENBQUM7WUFDdEcsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUV0QyxJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUMsS0FBSyxHQUFHLGdCQUFnQixDQUFDO1lBQzdDLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQyxLQUFLLEdBQUcsZ0JBQWdCLENBQUM7WUFDN0MsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBRXJDLElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDO2dCQUNuQixPQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDdkIsQ0FBQztZQUNELElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2xDLE9BQU8sR0FBRyxPQUFPLEdBQUcsQ0FBQyxDQUFDO1lBQzFCLENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDckIsS0FBSyxHQUFHLE9BQU8sR0FBRyxhQUFhLENBQUM7Z0JBQ2hDLElBQUksS0FBSyxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUNwQixLQUFLLEdBQUcsUUFBUSxDQUFDO29CQUVqQixrRkFBa0Y7b0JBQ2xGLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQzt3QkFDMUIsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDL0UsQ0FBQztnQkFDTCxDQUFDO2dCQUNELElBQUksS0FBSyxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNmLEtBQUssR0FBRyxHQUFHLENBQUM7Z0JBQ2hCLENBQUM7Z0JBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQ3JCLE1BQU0sS0FBSyxHQUFHLGFBQWEsR0FBRyxLQUFLLENBQUM7b0JBQ3BDLE1BQU0sR0FBRyxjQUFjLEdBQUcsS0FBSyxDQUFDO2dCQUNwQyxDQUFDO1lBQ0wsQ0FBQztpQkFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDNUIsTUFBTSxHQUFHLE9BQU8sR0FBRyxjQUFjLENBQUM7Z0JBQ2xDLElBQUksTUFBTSxJQUFJLElBQUksRUFBRSxDQUFDO29CQUNqQixNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUNsQixDQUFDO2dCQUNELElBQUksTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDO29CQUNoQixNQUFNLEdBQUcsR0FBRyxDQUFDO2dCQUNqQixDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUNyQixNQUFNLEtBQUssR0FBRyxjQUFjLEdBQUcsTUFBTSxDQUFDO29CQUN0QyxLQUFLLEdBQUcsYUFBYSxHQUFHLEtBQUssQ0FBQztnQkFDbEMsQ0FBQztZQUNMLENBQUM7WUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssS0FBSyxFQUFFLENBQUM7Z0JBQzlELElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNuQyxDQUFDO1lBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBaUI7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7WUFDdEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3pDLElBQ0ksSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUs7Z0JBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZO2dCQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssRUFDcEIsQ0FBQztnQkFDQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7Z0JBQzdCLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNsQyxDQUFDO1lBQ0QsVUFBVSxDQUFDLFFBQVEsQ0FDZixJQUFJLENBQUMsTUFBTSxFQUNYO2dCQUNJLElBQUksRUFBRSxZQUFZLENBQUMsS0FBSztnQkFDeEIsS0FBSyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztnQkFDNUIsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTTthQUNqQyxFQUNELEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FDekIsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsWUFBWTtRQUNSLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQztRQUMzQyxPQUFPLENBQ0gsQ0FBQyxJQUFJLEVBQUUsUUFBUTtZQUNmLFNBQVM7WUFDVCxJQUFJLENBQUMseUJBQXlCO1lBQzlCLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQ3pDLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDZixDQUFDLElBQUksQ0FBQyxNQUFNLENBQ2YsQ0FBQztJQUNOLENBQUM7SUFFRCxhQUFhO1FBQ1QsT0FBTyxDQUNILElBQUksQ0FBQyxNQUFNO1lBQ1gsQ0FBQyxJQUFJLEVBQUUsUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQ3RILENBQUM7SUFDTixDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNaLE9BQU87UUFDWCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDN0QsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQ3pCLFVBQVUsRUFBRSw0QkFBNEI7WUFDeEMsY0FBYyxFQUFFLEtBQUs7WUFDckIsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixXQUFXLEVBQUUsS0FBSztZQUNsQixRQUFRLEVBQUUsQ0FBQztZQUNYLGdCQUFnQixFQUFFLElBQUksQ0FBQyxnQkFBZ0I7WUFDdkMsY0FBYyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFO1NBQzdELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxDQUFDO1FBRTdGLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDWixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUQsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0lBQ1osQ0FBQztJQUVELGtCQUFrQjtRQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQTRCO1FBQ3JDLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxPQUFPLEdBQUcsSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsS0FBSyxNQUFNLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQWEsRUFBRSxLQUE0QjtRQUNwRCxDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDbkIsV0FBVyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUN4QixNQUFNLGNBQWMsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFFLE1BQU0sU0FBUyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUMsbUJBQW1CLENBQUMsQ0FBQztZQUM5RCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUVoQyxJQUFJLFNBQVMsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDdEIsU0FBUyxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDN0MsQ0FBQztpQkFBTSxJQUFJLFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUM5QixTQUFTLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3hDLENBQUM7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDNUQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWlCO1FBQ3RCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFRCxzQkFBc0I7UUFDbEIsTUFBTSxjQUFjLEdBQXNCO1lBQ3RDLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLE9BQU8sRUFBRSxRQUFRO1lBQ2pCLFFBQVEsRUFBRSxRQUFRO1lBQ2xCLFFBQVEsRUFBRSxLQUFLO1lBQ2YsT0FBTyxFQUFFLENBQUM7WUFDVixPQUFPLEVBQUUsQ0FBQztTQUNiLENBQUM7UUFDRixPQUFPLElBQUksQ0FBQyxPQUFPO2FBQ2QsUUFBUSxFQUFFO2FBQ1YsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQzthQUN0QyxzQkFBc0IsQ0FBQyxLQUFLLENBQUM7YUFDN0IsaUJBQWlCLENBQUMsS0FBSyxDQUFDO2FBQ3hCLFFBQVEsQ0FBQyxLQUFLLENBQUM7YUFDZixhQUFhLENBQUMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUNwQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUM3QyxJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxZQUFZLENBQUM7UUFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO0lBQzNDLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBWTtRQUNuQixNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsTUFBMEIsQ0FBQztRQUM3QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsYUFBYSxDQUFDO1FBQzdELElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sR0FBRyxHQUFHLE9BQU8sYUFBYSxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO1lBQzdGLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1lBQzNCLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNqRSxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNsQixDQUFDO1FBQ0QsR0FBRyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdkIsQ0FBQztJQUVELHVFQUF1RTtJQUN2RSxjQUFjLENBQUMsS0FBWTtRQUN2QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDdkIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxVQUFVO1FBQ04sTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNyRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDakQsT0FBTztnQkFDSCxTQUFTLEVBQUUsSUFBSSxDQUFDLFlBQVk7Z0JBQzVCLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSTtnQkFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSTthQUMvQixDQUFDO1FBQ04sQ0FBQyxDQUFnQixDQUFDO1FBQ2xCLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQ3pELElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7Z0JBQzVCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtnQkFDbkIsZ0JBQWdCLEVBQUU7b0JBQ2QsS0FBSyxFQUFFO3dCQUNILFNBQVM7d0JBQ1QsUUFBUTt3QkFDUixJQUFJO3dCQUNKLElBQUk7cUJBQ1A7b0JBQ0QsVUFBVTtvQkFDVixLQUFLO2lCQUNSO2FBQ0osQ0FBQyxDQUFDO1FBQ1AsQ0FBQztJQUNMLENBQUM7OEdBOWZRLFFBQVEsZ0ZBbUdMLHVCQUF1QjtrR0FuRzFCLFFBQVEsb0VBRk4sQ0FBQyxlQUFlLENBQUMscVdBZ0dqQixpQkFBaUIsdUVDaEtoQyxnZ0dBd0VBLDRDRHBCUSxJQUFJLDZGQUNKLEtBQUssbUhBQ0wsT0FBTywyRUFDUCxnQkFBZ0Isb0pBQ2hCLE9BQU8sc01BQ1AsaUJBQWlCLDhMQUNqQixTQUFTLGdNQUNULFVBQVUscUpBQ1YsVUFBVSw2RUFDVixtQkFBbUIsOFRBQ25CLFdBQVc7OzJGQUlOLFFBQVE7a0JBbkJwQixTQUFTOytCQUNJLHVCQUF1QixjQUVyQixJQUFJLFdBQ1A7d0JBQ0wsSUFBSTt3QkFDSixLQUFLO3dCQUNMLE9BQU87d0JBQ1AsZ0JBQWdCO3dCQUNoQixPQUFPO3dCQUNQLGlCQUFpQjt3QkFDakIsU0FBUzt3QkFDVCxVQUFVO3dCQUNWLFVBQVU7d0JBQ1YsbUJBQW1CO3dCQUNuQixXQUFXO3FCQUNkLGFBQ1UsQ0FBQyxlQUFlLENBQUM7OzBCQXFHdkIsTUFBTTsyQkFBQyx1QkFBdUI7aUpBYm5DLFlBQVk7c0JBRFgsU0FBUzt1QkFBQyxjQUFjO2dCQUl6QixHQUFHO3NCQURGLFNBQVM7dUJBQUMsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtnQkFJbkMsYUFBYTtzQkFEWixTQUFTO3VCQUFDLGVBQWUsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBR2QsY0FBYztzQkFBM0MsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25uZWN0ZWRQb3NpdGlvbiwgT3ZlcmxheSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IE5nRm9yLCBOZ0lmLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRGVzdHJveVJlZixcbiAgICBFbGVtZW50UmVmLFxuICAgIEluamVjdCxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRoeUFjdGlvbiwgVGh5QWN0aW9ucyB9IGZyb20gJ25neC10ZXRoeXMvYWN0aW9uJztcbmltcG9ydCB7IFRoeURpdmlkZXIgfSBmcm9tICduZ3gtdGV0aHlzL2RpdmlkZXInO1xuaW1wb3J0IHsgVGh5SWNvbiB9IGZyb20gJ25neC10ZXRoeXMvaWNvbic7XG5pbXBvcnQgeyBUaHlJbWFnZURpcmVjdGl2ZSwgVGh5SW1hZ2VHcm91cCwgVGh5SW1hZ2VTZXJ2aWNlIH0gZnJvbSAnbmd4LXRldGh5cy9pbWFnZSc7XG5pbXBvcnQgeyBUaHlQb3BvdmVyLCBUaHlQb3BvdmVyUmVmIH0gZnJvbSAnbmd4LXRldGh5cy9wb3BvdmVyJztcbmltcG9ydCB7IFRoeVByb2dyZXNzIH0gZnJvbSAnbmd4LXRldGh5cy9wcm9ncmVzcyc7XG5pbXBvcnQgeyBUaHlUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnbmd4LXRldGh5cy90b29sdGlwJztcbmltcG9ydCB7IFRoeVVwbG9hZFN0YXR1cyB9IGZyb20gJ25neC10ZXRoeXMvdXBsb2FkJztcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzL2ludGVybmFsL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBFZGl0b3IsIFRyYW5zZm9ybXMgfSBmcm9tICdzbGF0ZSc7XG5pbXBvcnQgeyBBbmd1bGFyRWRpdG9yLCBCZWZvcmVDb250ZXh0Q2hhbmdlLCBTbGF0ZUVsZW1lbnRDb250ZXh0IH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5pbXBvcnQgeyBIaXN0b3J5RWRpdG9yIH0gZnJvbSAnc2xhdGUtaGlzdG9yeSc7XG5pbXBvcnQgeyBBbGlnbm1lbnQsIEVsZW1lbnRLaW5kcywgTGF5b3V0VHlwZXMsIFRvb2xiYXJBY3Rpb25UeXBlcyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBnZXRQbHVnaW5PcHRpb25zIH0gZnJvbSAnLi4vLi4vY29yZSc7XG5pbXBvcnQgeyBJbWFnZUVsZW1lbnQgfSBmcm9tICcuLi8uLi9jdXN0b20tdHlwZXMnO1xuaW1wb3J0IHtcbiAgICBJbWFnZUVudHJ5LFxuICAgIEltYWdlSW5mbyxcbiAgICBJbWFnZVBsdWdpbk9wdGlvbnMsXG4gICAgTGF5b3V0T3B0aW9uLFxuICAgIFBsdWdpbktleXMsXG4gICAgVEhFX0lNQUdFX1NFUlZJQ0VfVE9LRU4sXG4gICAgVGhlQmFzZUVsZW1lbnQsXG4gICAgVGhlSW1hZ2VTZXJ2aWNlXG59IGZyb20gJy4uLy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi8uLi9xdWVyaWVzJztcbmltcG9ydCB7IFRoZUNvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY29udGV4dC5zZXJ2aWNlJztcbmltcG9ydCB7IGlzTW9iaWxlTW9kZSB9IGZyb20gJy4uLy4uL3V0aWxzL2dldC1tb2RlJztcbmltcG9ydCB7IEltYWdlRWRpdG9yIH0gZnJvbSAnLi9pbWFnZS5lZGl0b3InO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3RoZS1pbWFnZSwgW3RoZUltYWdlXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ltYWdlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgTmdJZixcbiAgICAgICAgTmdGb3IsXG4gICAgICAgIE5nU3R5bGUsXG4gICAgICAgIE5nVGVtcGxhdGVPdXRsZXQsXG4gICAgICAgIFRoeUljb24sXG4gICAgICAgIFRoeUltYWdlRGlyZWN0aXZlLFxuICAgICAgICBUaHlBY3Rpb24sXG4gICAgICAgIFRoeURpdmlkZXIsXG4gICAgICAgIFRoeUFjdGlvbnMsXG4gICAgICAgIFRoeVRvb2x0aXBEaXJlY3RpdmUsXG4gICAgICAgIFRoeVByb2dyZXNzXG4gICAgXSxcbiAgICBwcm92aWRlcnM6IFtUaHlJbWFnZVNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIFRoZUltYWdlXG4gICAgZXh0ZW5kcyBUaGVCYXNlRWxlbWVudDxJbWFnZUVsZW1lbnQsIEVkaXRvcj5cbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBCZWZvcmVDb250ZXh0Q2hhbmdlPFNsYXRlRWxlbWVudENvbnRleHQ+XG57XG4gICAgbmF0dXJhbFdpZHRoID0gMDtcblxuICAgIG5hdHVyYWxIZWlnaHQgPSAwO1xuXG4gICAgaW1hZ2VFbnRyeTogSW1hZ2VFbnRyeSA9IHt9O1xuXG4gICAgdXBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICBwZXJjZW50YWdlID0gMDtcblxuICAgIGZpbGVJdGVtOiB7IHVybDogc3RyaW5nOyBmaWxlOiBGaWxlIHwgc3RyaW5nIH07XG5cbiAgICBsYXlvdXREZWZhdWx0V2lkdGggPSAzNjg7XG5cbiAgICBkaXNhYmxlUHJldmlldyA9IGZhbHNlO1xuXG4gICAgbG9hZEltYWdlRXJyb3IgPSBmYWxzZTtcblxuICAgIGxheW91dE9wdGlvbnM6IExheW91dE9wdGlvbltdID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEFsaWdubWVudC5sZWZ0LFxuICAgICAgICAgICAgaWNvbjogJ2ltYWdlLWxlZnQnLFxuICAgICAgICAgICAgbmFtZTogJ+W3puWvuem9kCcsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50LCBrZXk6IEFsaWdubWVudCkgPT4gdGhpcy5zZXRJbWFnZU5vZGUoZSwgeyBhbGlnbjoga2V5LCBsYXlvdXQ6IHVuZGVmaW5lZCB9KVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IEFsaWdubWVudC5jZW50ZXIsXG4gICAgICAgICAgICBpY29uOiAnaW1hZ2UtY2VudGVyJyxcbiAgICAgICAgICAgIG5hbWU6ICflsYXkuK0nLFxuICAgICAgICAgICAgaGFuZGxlOiAoZTogTW91c2VFdmVudCwga2V5OiBBbGlnbm1lbnQpID0+IHRoaXMuc2V0SW1hZ2VOb2RlKGUsIHsgYWxpZ246IGtleSwgbGF5b3V0OiB1bmRlZmluZWQgfSlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBBbGlnbm1lbnQucmlnaHQsXG4gICAgICAgICAgICBpY29uOiAnaW1hZ2UtcmlnaHQnLFxuICAgICAgICAgICAgbmFtZTogJ+WPs+Wvuem9kCcsXG4gICAgICAgICAgICBoYW5kbGU6IChlOiBNb3VzZUV2ZW50LCBrZXk6IEFsaWdubWVudCkgPT4gdGhpcy5zZXRJbWFnZU5vZGUoZSwgeyBhbGlnbjoga2V5LCBsYXlvdXQ6IHVuZGVmaW5lZCB9KVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFRvb2xiYXJBY3Rpb25UeXBlcy5zcGxpdFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IExheW91dFR5cGVzLndyYXBMZWZ0LFxuICAgICAgICAgICAgaWNvbjogJ3dyYXAtbGVmdCcsXG4gICAgICAgICAgICBuYW1lOiAn5Zu+54mH5bGF5bemJyxcbiAgICAgICAgICAgIGhhbmRsZTogKGU6IE1vdXNlRXZlbnQsIGtleTogTGF5b3V0VHlwZXMpID0+IHRoaXMuc2V0SW1hZ2VOb2RlKGUsIHsgbGF5b3V0OiBrZXkgfSlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBMYXlvdXRUeXBlcy53cmFwUmlnaHQsXG4gICAgICAgICAgICBpY29uOiAnd3JhcC1yaWdodCcsXG4gICAgICAgICAgICBuYW1lOiAn5Zu+54mH5bGF5Y+zJyxcbiAgICAgICAgICAgIGhhbmRsZTogKGU6IE1vdXNlRXZlbnQsIGtleTogTGF5b3V0VHlwZXMpID0+IHRoaXMuc2V0SW1hZ2VOb2RlKGUsIHsgbGF5b3V0OiBrZXkgfSlcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiAncmVtb3ZlJyxcbiAgICAgICAgICAgIGljb246ICd0cmFzaCcsXG4gICAgICAgICAgICBuYW1lOiAn5Yig6ZmkJyxcbiAgICAgICAgICAgIGhhbmRsZTogKGU6IE1vdXNlRXZlbnQpID0+IHRoaXMub25EZWxldGUoZSlcbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBwcml2YXRlIHVwbG9hZGluZ1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuXG4gICAgcHJpdmF0ZSBtb3VzZU1vdmVTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcblxuICAgIHByaXZhdGUgZHJhZ2FibGUgPSBmYWxzZTtcblxuICAgIHByaXZhdGUgbGF5b3V0VG9vbGJhclJlZjogVGh5UG9wb3ZlclJlZjxhbnk+O1xuXG4gICAgcHJpdmF0ZSBpbWFnZVBsdWdpbk9wdGlvbnM6IEltYWdlUGx1Z2luT3B0aW9ucztcblxuICAgIGdldCBpc09wZW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmxheW91dFRvb2xiYXJSZWYgJiYgdGhpcy5sYXlvdXRUb29sYmFyUmVmLmdldE92ZXJsYXlSZWYoKSAmJiB0aGlzLmxheW91dFRvb2xiYXJSZWYuZ2V0T3ZlcmxheVJlZigpLmhhc0F0dGFjaGVkKCk7XG4gICAgfVxuXG4gICAgZ2V0IGltYWdlQmluZGluZ1dpZHRoKCkge1xuICAgICAgICBjb25zdCBjdXJyZW50V2lkdGggPSB0aGlzLmltYWdlRW50cnk/LndpZHRoIHx8IHRoaXMubmF0dXJhbFdpZHRoO1xuICAgICAgICByZXR1cm4gdGhpcy5pbWFnZUVudHJ5Py5sYXlvdXQgJiYgY3VycmVudFdpZHRoID4gdGhpcy5sYXlvdXREZWZhdWx0V2lkdGggJiYgIXRoaXMuaW1hZ2VFbnRyeT8ucmVTaXplZFxuICAgICAgICAgICAgPyB0aGlzLmxheW91dERlZmF1bHRXaWR0aFxuICAgICAgICAgICAgOiBjdXJyZW50V2lkdGg7XG4gICAgfVxuXG4gICAgQFZpZXdDaGlsZCgnaW1hZ2VDb250ZW50JylcbiAgICBpbWFnZUNvbnRlbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKCdpbWcnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBpbWc6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKCdsYXlvdXRUb29sYmFyJywgeyBzdGF0aWM6IHRydWUgfSlcbiAgICBsYXlvdXRUb29sYmFyOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgQFZpZXdDaGlsZChUaHlJbWFnZURpcmVjdGl2ZSkgaW1hZ2VEaXJlY3RpdmU6IFRoeUltYWdlRGlyZWN0aXZlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwdWJsaWMgaW1hZ2VHcm91cDogVGh5SW1hZ2VHcm91cCxcbiAgICAgICAgQEluamVjdChUSEVfSU1BR0VfU0VSVklDRV9UT0tFTilcbiAgICAgICAgcHJpdmF0ZSBpbWFnZVNlcnZpY2U6IFRoZUltYWdlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0aGVDb250ZXh0U2VydmljZTogVGhlQ29udGV4dFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgdGh5UG9wb3ZlcjogVGh5UG9wb3ZlcixcbiAgICAgICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgICAgICBwcml2YXRlIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWZcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBiZWZvcmVDb250ZXh0Q2hhbmdlID0gKHZhbHVlOiBTbGF0ZUVsZW1lbnRDb250ZXh0PEltYWdlRWxlbWVudD4pID0+IHtcbiAgICAgICAgaWYgKHZhbHVlLmVsZW1lbnQgIT09IHRoaXMuZWxlbWVudCAmJiB2YWx1ZS5lbGVtZW50LnRodW1iVXJsKSB7XG4gICAgICAgICAgICBsZXQgdGh1bWJVcmwgPSB2YWx1ZS5lbGVtZW50LnRodW1iVXJsO1xuICAgICAgICAgICAgbGV0IG9yaWdpblVybCA9IHZhbHVlLmVsZW1lbnQub3JpZ2luVXJsO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5pbWFnZVNlcnZpY2UuZ2V0SW1hZ2VVcmwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlU2VydmljZS5nZXRJbWFnZVVybCh2YWx1ZS5lbGVtZW50KS5zdWJzY3JpYmUoKHsgdGh1bWJVcmwsIG9yaWdpblVybCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYnVpbGRJbWFnZUVudHJ5KHZhbHVlLmVsZW1lbnQsIHRodW1iVXJsLCBvcmlnaW5VcmwpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5idWlsZEltYWdlRW50cnkodmFsdWUuZWxlbWVudCwgdGh1bWJVcmwsIG9yaWdpblVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNldEJsb2NrQ2FyZExheW91dEF0dHIoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBidWlsZEltYWdlRW50cnkobmV3RWxlbWVudDogSW1hZ2VFbGVtZW50LCB0aHVtYlVybDogc3RyaW5nLCBvcmlnaW5Vcmw6IHN0cmluZykge1xuICAgICAgICB0aGlzLmltYWdlRW50cnkgPSB7XG4gICAgICAgICAgICAuLi5uZXdFbGVtZW50LFxuICAgICAgICAgICAgdGh1bWJVcmwsXG4gICAgICAgICAgICBvcmlnaW5VcmwsXG4gICAgICAgICAgICBhbGlnbjogbmV3RWxlbWVudC5hbGlnbiB8fCBBbGlnbm1lbnQubGVmdCxcbiAgICAgICAgICAgIHJlU2l6ZWQ6IG5ld0VsZW1lbnQucmVTaXplZCB8fCBmYWxzZVxuICAgICAgICB9O1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLnNldEltYWdlRmlsZUl0ZW0oKTtcblxuICAgICAgICBpZiAodGhpcy5maWxlSXRlbT8uZmlsZSkge1xuICAgICAgICAgICAgdGhpcy51cGxvYWRJbWFnZSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuc2V0SW1hZ2VQbHVnaW5PcHRpb25zKCk7XG4gICAgICAgIHRoaXMuc2V0RGlzYWJsZVByZXZpZXcoKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaWJlTW91c2VVcCgpO1xuICAgICAgICB0aGlzLnN1YnNjcmliZUltYWdlVXBsb2FkaW5nU3RhdGUoKTtcbiAgICB9XG5cbiAgICBvbkNvbnRleHRDaGFuZ2UoKSB7XG4gICAgICAgIHN1cGVyLm9uQ29udGV4dENoYW5nZSgpO1xuICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCAmJiAhaXNNb2JpbGVNb2RlKHRoaXMuZWRpdG9yKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNTaG91bGRPcGVuKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW5MYXlvdXRUb29sYmFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5pc1Nob3VsZENsb3NlKCkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNsb3NlTGF5b3V0VG9vbGJhcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudXBsb2FkaW5nU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRoaXMudGhlQ29udGV4dFNlcnZpY2UucmVtb3ZlVXBsb2FkRmlsZSh0aGlzLmZpbGVJdGVtKTtcbiAgICAgICAgaWYgKHRoaXMudXBsb2FkaW5nKSB7XG4gICAgICAgICAgICB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLnVwbG9hZGluZ1N0YXR1cyQubmV4dChmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEltYWdlUGx1Z2luT3B0aW9ucygpIHtcbiAgICAgICAgdGhpcy5pbWFnZVBsdWdpbk9wdGlvbnMgPSBnZXRQbHVnaW5PcHRpb25zPEltYWdlUGx1Z2luT3B0aW9ucz4odGhpcy5lZGl0b3IsIFBsdWdpbktleXMuaW1hZ2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0RGlzYWJsZVByZXZpZXcoKSB7XG4gICAgICAgIGNvbnN0IHsgZGlzYWJsZVByZXZpZXcgfSA9IHRoaXMuaW1hZ2VQbHVnaW5PcHRpb25zO1xuICAgICAgICBpZiAoZGlzYWJsZVByZXZpZXcgJiYgdHlwZW9mIGRpc2FibGVQcmV2aWV3ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLmRpc2FibGVQcmV2aWV3ID0gZGlzYWJsZVByZXZpZXcodGhpcy5lZGl0b3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlUHJldmlldyA9IGRpc2FibGVQcmV2aWV3IGFzIGJvb2xlYW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEltYWdlRmlsZUl0ZW0oKSB7XG4gICAgICAgIHRoaXMuZmlsZUl0ZW0gPSB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLnVwbG9hZGluZ0ZpbGVzLmZpbmQoaXRlbSA9PiBpdGVtLnVybCA9PT0gdGhpcy5lbGVtZW50LnVybCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdWJzY3JpYmVNb3VzZVVwKCkge1xuICAgICAgICB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLm9uTW91c2VVcCQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkuc3Vic2NyaWJlKGUgPT4gdGhpcy5lbmREcmFnKGUpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHN1YnNjcmliZUltYWdlVXBsb2FkaW5nU3RhdGUoKSB7XG4gICAgICAgIHRoaXMudXBsb2FkaW5nU3Vic2NyaXB0aW9uID0gdGhpcy5pbWFnZVNlcnZpY2VcbiAgICAgICAgICAgIC5nZXRVcGxvYWRpbmdJdGVtcyQoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKFxuICAgICAgICAgICAgICAgICAgICBmaWxlVXBsb2FkaW5nSXRlbSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5maWxlSXRlbT8uZmlsZSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZVVwbG9hZGluZ0l0ZW0uZmluZChpdGVtID0+IGl0ZW0uZmlsZSA9PT0gdGhpcy5maWxlSXRlbT8uZmlsZSB8fCBpdGVtPy51cmwgPT09IHRoaXMuZmlsZUl0ZW0/LmZpbGUpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSh1cGxvYWRpbmdJdGVtID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXVwbG9hZGluZ0l0ZW0gfHwgIXVwbG9hZGluZ0l0ZW0ucmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5wZXJjZW50YWdlID0gdXBsb2FkaW5nSXRlbS5yZXN1bHQudXBsb2FkRmlsZS5wcm9ncmVzcy5wZXJjZW50YWdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IHsgc3RhdHVzIH0gPSB1cGxvYWRpbmdJdGVtLnJlc3VsdDtcbiAgICAgICAgICAgICAgICAvLyDmiJDlip/lkozlpLHotKXpg73opoHkuIrkvKDnu5PmnZ9cbiAgICAgICAgICAgICAgICBpZiAoc3RhdHVzID09PSBUaHlVcGxvYWRTdGF0dXMuZG9uZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZGluZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVwbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLnJlbW92ZVVwbG9hZEZpbGUodGhpcy5maWxlSXRlbSk7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50aGVDb250ZXh0U2VydmljZS51cGxvYWRpbmdTdGF0dXMkLm5leHQoZmFsc2UpLCAwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJbWFnZU5vZGVzKGltYWdlSW5mbzogSW1hZ2VFbnRyeSkge1xuICAgICAgICBjb25zdCBwYXRoID0gQW5ndWxhckVkaXRvci5maW5kUGF0aCh0aGlzLmVkaXRvciwgdGhpcy5lbGVtZW50KTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHsgdHlwZTogRWxlbWVudEtpbmRzLmltYWdlLCB1cmw6IG51bGwsIC4uLmltYWdlSW5mbyB9O1xuICAgICAgICBIaXN0b3J5RWRpdG9yLndpdGhvdXRTYXZpbmcodGhpcy5lZGl0b3IsICgpID0+IFRyYW5zZm9ybXMuc2V0Tm9kZXModGhpcy5lZGl0b3IsIGRhdGEsIHsgYXQ6IHBhdGggfSkpO1xuICAgIH1cblxuICAgIGFzeW5jIHVwbG9hZEltYWdlKCkge1xuICAgICAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XG5cbiAgICAgICAgY29uc3QgZmlsZSA9IHRoaXMuZmlsZUl0ZW0uZmlsZTtcbiAgICAgICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBGaWxlKSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlRW50cnkgPSB7XG4gICAgICAgICAgICAgICAgYWxpZ246IHRoaXMuaW1hZ2VFbnRyeS5hbGlnbiB8fCBBbGlnbm1lbnQuY2VudGVyLFxuICAgICAgICAgICAgICAgIHRodW1iVXJsOiBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGhlQ29udGV4dFNlcnZpY2UudXBsb2FkaW5nU3RhdHVzJC5uZXh0KHRydWUpO1xuXG4gICAgICAgIGNvbnN0IFtmaWxlRW50aXR5XSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKHRoaXMuaW1hZ2VTZXJ2aWNlLnVwbG9hZEZpbGVIYW5kbGUoZmlsZSkpO1xuICAgICAgICBjb25zdCB7IG5hbWUsIHNpemUsIHRodW1iVXJsLCBvcmlnaW5VcmwgfSA9IGZpbGVFbnRpdHk7XG4gICAgICAgIGNvbnN0IGltYWdlSW5mbzogSW1hZ2VFbnRyeSA9IHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICB0aHVtYlVybCxcbiAgICAgICAgICAgIG9yaWdpblVybCxcbiAgICAgICAgICAgIHNpemUsXG4gICAgICAgICAgICBhbGlnbjogdGhpcy5pbWFnZUVudHJ5LmFsaWduIHx8IEFsaWdubWVudC5jZW50ZXIsXG4gICAgICAgICAgICBvcmlnaW5XaWR0aDogdGhpcy5uYXR1cmFsV2lkdGgsXG4gICAgICAgICAgICBvcmlnaW5IZWlnaHQ6IHRoaXMubmF0dXJhbEhlaWdodFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnNldEltYWdlTm9kZXMoaW1hZ2VJbmZvKTtcbiAgICB9XG5cbiAgICBzdGFydERyYWcoZXZlbnQ6IE1vdXNlRXZlbnQsIGF4aXM6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5sb2FkSW1hZ2VFcnJvciB8fCAhdGhpcy5pbWcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgdGhpcy5kcmFnYWJsZSA9IHRydWU7XG4gICAgICAgIGNvbnN0IGltZ0VsZW1lbnQgPSB0aGlzLmltZy5uYXRpdmVFbGVtZW50IGFzIEhUTUxJbWFnZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBheGlzLFxuICAgICAgICAgICAgcHJpbnRlclBvc2l0aW9uWDogZXZlbnQucGFnZVgsXG4gICAgICAgICAgICBwcmludGVyUG9zaXRpb25ZOiBldmVudC5wYWdlWSxcbiAgICAgICAgICAgIGludGVybmFsV2lkdGg6IGltZ0VsZW1lbnQud2lkdGggfHwgdGhpcy5pbWFnZUVudHJ5LndpZHRoLFxuICAgICAgICAgICAgaW50ZXJuYWxIZWlnaHQ6IGltZ0VsZW1lbnQuaGVpZ2h0IHx8IHRoaXMuaW1hZ2VFbnRyeS5oZWlnaHQsXG4gICAgICAgICAgICBtYXhXaWR0aDogdGhpcy50aGVDb250ZXh0U2VydmljZS5nZXRGaXJzdEVsZW1lbnRDaGlsZCgpLm9mZnNldFdpZHRoXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMubW91c2VNb3ZlU3Vic2NyaXB0aW9uID0gdGhpcy50aGVDb250ZXh0U2VydmljZS5vbk1vdXNlTW92ZSQuc3Vic2NyaWJlKGUgPT4gdGhpcy5tb3VzZU1vdmVIYW5kbGUoZSwgb3B0aW9ucykpO1xuICAgIH1cblxuICAgIG1vdXNlTW92ZUhhbmRsZShcbiAgICAgICAgZXZlbnQ6IE1vdXNlRXZlbnQsXG4gICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgIGF4aXM6IHN0cmluZztcbiAgICAgICAgICAgIHByaW50ZXJQb3NpdGlvblg6IG51bWJlcjtcbiAgICAgICAgICAgIHByaW50ZXJQb3NpdGlvblk6IG51bWJlcjtcbiAgICAgICAgICAgIGludGVybmFsV2lkdGg6IG51bWJlcjtcbiAgICAgICAgICAgIGludGVybmFsSGVpZ2h0OiBudW1iZXI7XG4gICAgICAgICAgICBtYXhXaWR0aDogbnVtYmVyO1xuICAgICAgICB9XG4gICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmRyYWdhYmxlKSB7XG4gICAgICAgICAgICBjb25zdCB7IGF4aXMsIHByaW50ZXJQb3NpdGlvblgsIHByaW50ZXJQb3NpdGlvblksIGludGVybmFsV2lkdGgsIGludGVybmFsSGVpZ2h0LCBtYXhXaWR0aCB9ID0gb3B0aW9ucztcbiAgICAgICAgICAgIGNvbnN0IGlzUmV2ZXJzYWwgPSBheGlzLmluY2x1ZGVzKCctJyk7XG5cbiAgICAgICAgICAgIGxldCBvZmZzZXRYID0gZXZlbnQucGFnZVggLSBwcmludGVyUG9zaXRpb25YO1xuICAgICAgICAgICAgbGV0IG9mZnNldFkgPSBldmVudC5wYWdlWSAtIHByaW50ZXJQb3NpdGlvblk7XG4gICAgICAgICAgICBsZXQgeyB3aWR0aCwgaGVpZ2h0IH0gPSB0aGlzLmVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChpc1JldmVyc2FsKSB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0WCA9IC1vZmZzZXRYO1xuICAgICAgICAgICAgICAgIG9mZnNldFkgPSAtb2Zmc2V0WTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmVsZW1lbnQuYWxpZ24gPT09ICdjZW50ZXInKSB7XG4gICAgICAgICAgICAgICAgb2Zmc2V0WCA9IG9mZnNldFggKiAyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoYXhpcy5pbmNsdWRlcygneCcpKSB7XG4gICAgICAgICAgICAgICAgd2lkdGggPSBvZmZzZXRYICsgaW50ZXJuYWxXaWR0aDtcbiAgICAgICAgICAgICAgICBpZiAod2lkdGggPj0gbWF4V2lkdGgpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGggPSBtYXhXaWR0aDtcblxuICAgICAgICAgICAgICAgICAgICAvLyBjbGVhciBgbGF5b3V0YCB3aGVuIHRoZSBpbWFnZSBpcyBhZGp1c3RlZCB0byB0aGUgbWF4aW11bSB2YWx1ZSB1bmRlciByaWNoIG1lZGlhXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmltYWdlRW50cnk/LmxheW91dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VFZGl0b3Iuc2V0SW1hZ2VOb2RlKHRoaXMuZWRpdG9yLCB7IGxheW91dDogdW5kZWZpbmVkIH0sIHRoaXMuZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHdpZHRoIDw9IDEwMCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aCA9IDEwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGF4aXMuaW5jbHVkZXMoJ2wnKSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByYXRpbyA9IGludGVybmFsV2lkdGggLyB3aWR0aDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ID0gaW50ZXJuYWxIZWlnaHQgLyByYXRpbztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGF4aXMuaW5jbHVkZXMoJ3knKSkge1xuICAgICAgICAgICAgICAgIGhlaWdodCA9IG9mZnNldFkgKyBpbnRlcm5hbEhlaWdodDtcbiAgICAgICAgICAgICAgICBpZiAoaGVpZ2h0ID49IDEwMDApIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ID0gMTAwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGhlaWdodCA8PSAxMDApIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0ID0gMTAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYXhpcy5pbmNsdWRlcygnbCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJhdGlvID0gaW50ZXJuYWxIZWlnaHQgLyBoZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoID0gaW50ZXJuYWxXaWR0aCAvIHJhdGlvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCF0aGlzLmltYWdlRW50cnkucmVTaXplZCAmJiB0aGlzLmltYWdlRW50cnkud2lkdGggIT09IHdpZHRoKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZUVudHJ5LnJlU2l6ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbWcubmF0aXZlRWxlbWVudC5zdHlsZS53aWR0aCA9IHdpZHRoICsgJ3B4JztcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VFbnRyeS53aWR0aCA9IHdpZHRoO1xuICAgICAgICAgICAgdGhpcy5pbWFnZUVudHJ5LmhlaWdodCA9IGhlaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGVuZERyYWcoZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJhZ2FibGUpIHtcbiAgICAgICAgICAgIHRoaXMuZHJhZ2FibGUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMubW91c2VNb3ZlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZUVudHJ5LndpZHRoID09PSB0aGlzLnRoZUNvbnRleHRTZXJ2aWNlLmdldE9wdGlvbnMoKS53aWR0aCAmJlxuICAgICAgICAgICAgICAgIHRoaXMuaW1hZ2VFbnRyeS53aWR0aCA8PSB0aGlzLm5hdHVyYWxXaWR0aCAmJlxuICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC53aWR0aFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5pbWFnZUVudHJ5LndpZHRoID0gbnVsbDtcbiAgICAgICAgICAgICAgICB0aGlzLmltYWdlRW50cnkuaGVpZ2h0ID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFRyYW5zZm9ybXMuc2V0Tm9kZXMoXG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0b3IsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBFbGVtZW50S2luZHMuaW1hZ2UsXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB0aGlzLmltYWdlRW50cnkud2lkdGgsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogdGhpcy5pbWFnZUVudHJ5LmhlaWdodFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgeyBhdDogdGhpcy5zZWxlY3Rpb24gfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNhbmNlbFVwbG9hZCgpIHtcbiAgICAgICAgVHJhbnNmb3Jtcy5yZW1vdmVOb2Rlcyh0aGlzLmVkaXRvciwgeyBhdDogdGhpcy5zZWxlY3Rpb24gfSk7XG4gICAgfVxuXG4gICAgaXNTaG91bGRPcGVuKCkge1xuICAgICAgICBjb25zdCB7IHJpY2hNZWRpYSB9ID0gdGhpcy5lZGl0b3I/Lm9wdGlvbnM7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhdGhpcz8ucmVhZG9ubHkgJiZcbiAgICAgICAgICAgIHJpY2hNZWRpYSAmJlxuICAgICAgICAgICAgdGhpcy5pc0NvbGxhcHNlZEFuZE5vblJlYWRvbmx5ICYmXG4gICAgICAgICAgICBUaGVRdWVyaWVzLmlzR2xvYmFsQ29sbGFwc2VkKHRoaXMuZWRpdG9yKSAmJlxuICAgICAgICAgICAgIXRoaXMudXBsb2FkaW5nICYmXG4gICAgICAgICAgICAhdGhpcy5pc09wZW5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBpc1Nob3VsZENsb3NlKCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgdGhpcy5pc09wZW4gJiZcbiAgICAgICAgICAgICh0aGlzPy5yZWFkb25seSB8fCAhdGhpcy5pc0NvbGxhcHNlZEFuZE5vblJlYWRvbmx5IHx8ICFUaGVRdWVyaWVzLmlzR2xvYmFsQ29sbGFwc2VkKHRoaXMuZWRpdG9yKSB8fCB0aGlzLnVwbG9hZGluZylcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBvcGVuTGF5b3V0VG9vbGJhcigpIHtcbiAgICAgICAgaWYgKCF0aGlzLmltZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubGF5b3V0VG9vbGJhclJlZiA9IHRoaXMudGh5UG9wb3Zlci5vcGVuKHRoaXMubGF5b3V0VG9vbGJhciwge1xuICAgICAgICAgICAgb3JpZ2luOiB0aGlzLmltYWdlQ29udGVudCxcbiAgICAgICAgICAgIHBhbmVsQ2xhc3M6ICd0aGUtcGx1Z2luLXRvb2xiYXItcG9wb3ZlcicsXG4gICAgICAgICAgICBpbnNpZGVDbG9zYWJsZTogZmFsc2UsXG4gICAgICAgICAgICBiYWNrZHJvcENsb3NhYmxlOiB0cnVlLFxuICAgICAgICAgICAgaGFzQmFja2Ryb3A6IGZhbHNlLFxuICAgICAgICAgICAgbWluV2lkdGg6IDAsXG4gICAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXG4gICAgICAgICAgICBzY3JvbGxTdHJhdGVneTogdGhpcy5vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmxheW91dFRvb2xiYXJSZWY/LmdldE92ZXJsYXlSZWYoKS51cGRhdGVQb3NpdGlvblN0cmF0ZWd5KHRoaXMuY3JlYXRlUG9zaXRpb25TdHJhdGVneSgpKTtcblxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0VG9vbGJhclJlZj8uZ2V0T3ZlcmxheVJlZigpLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH0sIDE1MCk7XG4gICAgfVxuXG4gICAgY2xvc2VMYXlvdXRUb29sYmFyKCkge1xuICAgICAgICB0aGlzLmxheW91dFRvb2xiYXJSZWY/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgbGF5b3V0QWN0aXZlKGtleTogQWxpZ25tZW50IHwgTGF5b3V0VHlwZXMpIHtcbiAgICAgICAgY29uc3QgeyBsYXlvdXQsIGFsaWduIH0gPSB0aGlzLmltYWdlRW50cnk7XG4gICAgICAgIHJldHVybiBrZXkgJiYgKChrZXkgPT09IGFsaWduICYmICFsYXlvdXQpIHx8IGtleSA9PT0gbGF5b3V0KTtcbiAgICB9XG5cbiAgICBzZXRJbWFnZU5vZGUoZTogTW91c2VFdmVudCwgcHJvcHM6IFBhcnRpYWw8SW1hZ2VFbGVtZW50Pikge1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIEltYWdlRWRpdG9yLnNldEltYWdlTm9kZSh0aGlzLmVkaXRvciwgcHJvcHMsIHRoaXMuZWxlbWVudCk7XG4gICAgfVxuXG4gICAgc2V0QmxvY2tDYXJkTGF5b3V0QXR0cigpIHtcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50RWxlbWVudCA9IEFuZ3VsYXJFZGl0b3IudG9ET01Ob2RlKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgICAgICAgICAgY29uc3QgYmxvY2tDYXJkID0gY3VycmVudEVsZW1lbnQuY2xvc2VzdCgnLnNsYXRlLWJsb2NrLWNhcmQnKTtcbiAgICAgICAgICAgIGNvbnN0IHsgbGF5b3V0IH0gPSB0aGlzLmVsZW1lbnQ7XG5cbiAgICAgICAgICAgIGlmIChibG9ja0NhcmQgJiYgbGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgYmxvY2tDYXJkLnNldEF0dHJpYnV0ZSgnbGF5b3V0JywgbGF5b3V0KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYmxvY2tDYXJkICYmICFsYXlvdXQpIHtcbiAgICAgICAgICAgICAgICBibG9ja0NhcmQucmVtb3ZlQXR0cmlidXRlKCdsYXlvdXQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMubGF5b3V0VG9vbGJhclJlZj8uZ2V0T3ZlcmxheVJlZigpLnVwZGF0ZVBvc2l0aW9uKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRGVsZXRlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIEltYWdlRWRpdG9yLnJlbW92ZUltYWdlKHRoaXMuZWRpdG9yLCB0aGlzLmVsZW1lbnQpO1xuICAgIH1cblxuICAgIGNyZWF0ZVBvc2l0aW9uU3RyYXRlZ3koKSB7XG4gICAgICAgIGNvbnN0IGJvdHRvbVBvc2l0aW9uOiBDb25uZWN0ZWRQb3NpdGlvbiA9IHtcbiAgICAgICAgICAgIG9yaWdpblg6ICdjZW50ZXInLFxuICAgICAgICAgICAgb3JpZ2luWTogJ2JvdHRvbScsXG4gICAgICAgICAgICBvdmVybGF5WDogJ2NlbnRlcicsXG4gICAgICAgICAgICBvdmVybGF5WTogJ3RvcCcsXG4gICAgICAgICAgICBvZmZzZXRYOiAwLFxuICAgICAgICAgICAgb2Zmc2V0WTogNFxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gdGhpcy5vdmVybGF5XG4gICAgICAgICAgICAucG9zaXRpb24oKVxuICAgICAgICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8odGhpcy5pbWFnZUNvbnRlbnQpXG4gICAgICAgICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcbiAgICAgICAgICAgIC53aXRoR3Jvd0FmdGVyT3BlbihmYWxzZSlcbiAgICAgICAgICAgIC53aXRoUHVzaChmYWxzZSlcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb25zKFtib3R0b21Qb3NpdGlvbl0pO1xuICAgIH1cblxuICAgIGltYWdlTG9hZGVkKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCBpbWcgPSBldmVudC50YXJnZXQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICAgICAgdGhpcy5uYXR1cmFsV2lkdGggPSBpbWcubmF0dXJhbFdpZHRoO1xuICAgICAgICB0aGlzLm5hdHVyYWxIZWlnaHQgPSBpbWcubmF0dXJhbEhlaWdodDtcbiAgICB9XG5cbiAgICBpbWFnZUVycm9yKGV2ZW50OiBFdmVudCkge1xuICAgICAgICBjb25zdCBpbWcgPSBldmVudC50YXJnZXQgYXMgSFRNTEltYWdlRWxlbWVudDtcbiAgICAgICAgY29uc3QgZXJyb3JJbWFnZVVybCA9IHRoaXMuaW1hZ2VQbHVnaW5PcHRpb25zPy5lcnJvckltYWdlVXJsO1xuICAgICAgICBpZiAoIXRoaXMubG9hZEltYWdlRXJyb3IgJiYgZXJyb3JJbWFnZVVybCkge1xuICAgICAgICAgICAgY29uc3QgdXJsID0gdHlwZW9mIGVycm9ySW1hZ2VVcmwgPT09ICdmdW5jdGlvbicgPyBlcnJvckltYWdlVXJsKHRoaXMuZWRpdG9yKSA6IGVycm9ySW1hZ2VVcmw7XG4gICAgICAgICAgICB0aGlzLmxvYWRJbWFnZUVycm9yID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZVByZXZpZXcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5pbWFnZUNvbnRlbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCd0aGUtaW1hZ2UtZXJyb3InKTtcbiAgICAgICAgICAgIGltZy5zcmMgPSB1cmw7XG4gICAgICAgIH1cbiAgICAgICAgaW1nLm9uZXJyb3IgPSBudWxsO1xuICAgIH1cblxuICAgIC8vIOe7hOS7tuW6kyBkaWFsb2cg5by55Ye65pe277yM5Lya6K6w5b2V5b2T5YmN55qE54Sm54K544CC6Zi75q2iIG1vdXNlZG93biDpu5jorqTooYzkuLrvvIzkvb/lvpflm77niYfljp/mnKznmoQgY2xpY2sg5LqL5Lu26IO96I635Y+W5Yiw5q2j56Gu55qE54Sm54K544CCXG4gICAgcHJldmVudERlZmF1bHQoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH1cblxuICAgIGltYWdlQ2xpY2soKSB7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5pbWFnZUdyb3VwLmltYWdlcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSB0aGlzLmltYWdlRGlyZWN0aXZlKTtcbiAgICAgICAgY29uc3QgaW1hZ2VHcm91cCA9IHRoaXMuaW1hZ2VHcm91cC5pbWFnZXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBvcmlnaW5Vcmw6IGl0ZW0udGh5T3JpZ2luU3JjLFxuICAgICAgICAgICAgICAgIHRodW1iVXJsOiBpdGVtLnRoeVByZXZpZXdTcmMsXG4gICAgICAgICAgICAgICAgbmFtZTogaXRlbS50aHlJbWFnZU1ldGEubmFtZSxcbiAgICAgICAgICAgICAgICBzaXplOiBpdGVtLnRoeUltYWdlTWV0YS5zaXplXG4gICAgICAgICAgICB9O1xuICAgICAgICB9KSBhcyBJbWFnZUluZm9bXTtcbiAgICAgICAgY29uc3QgeyBvcmlnaW5VcmwsIHRodW1iVXJsLCBuYW1lLCBzaXplIH0gPSB0aGlzLmVsZW1lbnQ7XG4gICAgICAgIGlmICh0aGlzLmltYWdlUGx1Z2luT3B0aW9ucy5wcmV2aWV3KSB7XG4gICAgICAgICAgICB0aGlzLmltYWdlUGx1Z2luT3B0aW9ucy5wcmV2aWV3KHtcbiAgICAgICAgICAgICAgICBlZGl0b3I6IHRoaXMuZWRpdG9yLFxuICAgICAgICAgICAgICAgIHByZXZpZXdJbWFnZUluZm86IHtcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpblVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRodW1iVXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNpemVcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgaW1hZ2VHcm91cCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZXhcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJ0aGUtaW1hZ2UtY29udGFpbmVyXCIgY29udGVudGVkaXRhYmxlPVwiZmFsc2VcIiBbc3R5bGUudGV4dEFsaWduXT1cImltYWdlRW50cnkuYWxpZ25cIj5cbiAgPGRpdlxuICAgICNpbWFnZUNvbnRlbnRcbiAgICAqbmdJZj1cImltYWdlRW50cnkudGh1bWJVcmw7IGVsc2UgaW1hZ2VMb2FkaW5nXCJcbiAgICBjbGFzcz1cImltYWdlLWNvbnRlbnRcIlxuICAgIGNvbnRlbnRlZGl0YWJsZT1cImZhbHNlXCJcbiAgICBbY2xhc3MuY3Vyc29yLXBvaW50ZXJdPVwiIXNlbGVjdGlvblwiXG4gID5cbiAgICA8aW1nXG4gICAgICAjaW1nXG4gICAgICB0aHlJbWFnZVxuICAgICAgY2xhc3M9XCJtYWluLWltYWdlXCJcbiAgICAgIFtjbGFzcy5pbWFnZS1jb2xsYXBzZWRdPVwic2VsZWN0aW9uICYmICF1cGxvYWRpbmdcIlxuICAgICAgW25nU3R5bGVdPVwieyAnd2lkdGgucHgnOiBpbWFnZUJpbmRpbmdXaWR0aCB9XCJcbiAgICAgIFthbHRdPVwiaW1hZ2VFbnRyeS5uYW1lXCJcbiAgICAgIFt0aHlTcmNdPVwiaW1hZ2VFbnRyeS50aHVtYlVybFwiXG4gICAgICBbdGh5UHJldmlld1NyY109XCJpbWFnZUVudHJ5LnRodW1iVXJsXCJcbiAgICAgIFt0aHlPcmlnaW5TcmNdPVwiaW1hZ2VFbnRyeS5vcmlnaW5VcmxcIlxuICAgICAgW3RoeURpc2FibGVQcmV2aWV3XT1cImRpc2FibGVQcmV2aWV3XCJcbiAgICAgIFt0aHlJbWFnZU1ldGFdPVwieyBuYW1lOiBpbWFnZUVudHJ5Lm5hbWUsIHNpemU6IGltYWdlRW50cnkuc2l6ZSB9XCJcbiAgICAgIChsb2FkKT1cImltYWdlTG9hZGVkKCRldmVudClcIlxuICAgICAgKG1vdXNlZG93bik9XCJwcmV2ZW50RGVmYXVsdCgkZXZlbnQpXCJcbiAgICAgIChlcnJvcik9XCJpbWFnZUVycm9yKCRldmVudClcIlxuICAgICAgKGNsaWNrKT1cImltYWdlQ2xpY2soJGV2ZW50KVwiXG4gICAgLz5cbiAgICA8ZGl2ICpuZ0lmPVwiaXNDb2xsYXBzZWRBbmROb25SZWFkb25seVwiIGNsYXNzPVwiaW1hZ2UtcHJvZmlsZVwiIFtjbGFzcy5vdXRsaW5lXT1cInNlbGVjdGlvblwiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFsb2FkSW1hZ2VFcnJvclwiPlxuICAgICAgICA8c3BhbiAobW91c2Vkb3duKT1cInN0YXJ0RHJhZygkZXZlbnQsICcteGwnKVwiIGNsYXNzPVwiaW1hZ2UtcG9pbnRlciBsZWZ0IHRvcFwiPjwvc3Bhbj5cbiAgICAgICAgPHNwYW4gKG1vdXNlZG93bik9XCJzdGFydERyYWcoJGV2ZW50LCAneGwnKVwiIGNsYXNzPVwiaW1hZ2UtcG9pbnRlciByaWdodCB0b3BcIj48L3NwYW4+XG4gICAgICAgIDxzcGFuIChtb3VzZWRvd24pPVwic3RhcnREcmFnKCRldmVudCwgJ3hsJylcIiBjbGFzcz1cImltYWdlLXBvaW50ZXIgcmlnaHQgYm90dG9tXCI+PC9zcGFuPlxuICAgICAgICA8c3BhbiAobW91c2Vkb3duKT1cInN0YXJ0RHJhZygkZXZlbnQsICcteGwnKVwiIGNsYXNzPVwiaW1hZ2UtcG9pbnRlciBsZWZ0IGJvdHRvbVwiPjwvc3Bhbj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbWFnZVVwbG9hZGluZ1wiPjwvbmctdGVtcGxhdGU+XG4gICAgPGRpdiAqbmdJZj1cIiF1cGxvYWRpbmdcIiBjbGFzcz1cImxheWVyXCIgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCI+PC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjaW1hZ2VMb2FkaW5nPlxuICA8ZGl2ICpuZ0lmPVwiIWltYWdlRW50cnkudGh1bWJVcmxcIiBjbGFzcz1cImltYWdlLWxvYWRpbmcgY3Vyc29yLXBvaW50ZXJcIiBjb250ZW50ZWRpdGFibGU9XCJmYWxzZVwiPlxuICAgIDx0aHktaWNvbiB0aHlJY29uTmFtZT1cImltYWdlXCI+PC90aHktaWNvbj5cbiAgPC9kaXY+XG4gIDxuZy10ZW1wbGF0ZSBbbmdUZW1wbGF0ZU91dGxldF09XCJpbWFnZVVwbG9hZGluZ1wiPjwvbmctdGVtcGxhdGU+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xheW91dFRvb2xiYXI+XG4gIDx0aHktYWN0aW9ucyB0aHlTaXplPVwieHhzXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBsYXlvdXRPcHRpb25zXCI+XG4gICAgICA8YVxuICAgICAgICAqbmdJZj1cIml0ZW0ua2V5ICE9PSAnc3BsaXQnXCJcbiAgICAgICAgaHJlZj1cImphdmFzY3JpcHQ6O1wiXG4gICAgICAgIHRoeUFjdGlvblxuICAgICAgICBbdGh5VHlwZV09XCJpdGVtLmtleSA9PT0gJ3JlbW92ZScgPyAnZGFuZ2VyJyA6ICdwcmltYXJ5J1wiXG4gICAgICAgIFt0aHlBY3Rpb25JY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgIFt0aHlBY3Rpb25BY3RpdmVdPVwibGF5b3V0QWN0aXZlKGl0ZW0ua2V5KVwiXG4gICAgICAgIFt0aHlUb29sdGlwXT1cIml0ZW0ubmFtZVwiXG4gICAgICAgIHRoeVRvb2x0aXBQbGFjZW1lbnQ9XCJ0b3BcIlxuICAgICAgICAobW91c2Vkb3duKT1cIml0ZW0/LmhhbmRsZSgkZXZlbnQsIGl0ZW0ua2V5KVwiXG4gICAgICA+PC9hPlxuICAgICAgPHRoeS1kaXZpZGVyICpuZ0lmPVwiaXRlbS5rZXkgPT09ICdzcGxpdCdcIiBjbGFzcz1cIm1yLTIgbWwtMSBhbGlnbi1zZWxmLWNlbnRlclwiIFt0aHlWZXJ0aWNhbF09XCJ0cnVlXCIgdGh5Q29sb3I9XCJsaWdodFwiPjwvdGh5LWRpdmlkZXI+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvdGh5LWFjdGlvbnM+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ltYWdlVXBsb2FkaW5nPlxuICA8ZGl2ICpuZ0lmPVwidXBsb2FkaW5nXCIgY2xhc3M9XCJ1cGxvYWRpbmdcIj5cbiAgICA8ZGl2IGNsYXNzPVwidXBsb2FkaW5nLXBlcmNlbnRhZ2VcIj5cbiAgICAgIDx0aHktcHJvZ3Jlc3MgdGh5VHlwZT1cInByaW1hcnlcIiBbdGh5VmFsdWVdPVwicGVyY2VudGFnZVwiIHRoeVNpemU9XCJzbVwiPjwvdGh5LXByb2dyZXNzPlxuICAgICAgPHRoeS1pY29uIChjbGljayk9XCJjYW5jZWxVcGxvYWQoJGV2ZW50KVwiIHRoeUljb25OYW1lPVwiY2xvc2UtY2lyY2xlLWJvbGQtZmlsbFwiIHRoeUljb25MZWdnaW5nPVwidHJ1ZVwiPiA8L3RoeS1pY29uPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -36,7 +36,7 @@ import { isAncestor } from './is-ancestor';
36
36
  import { isAncestorEmpty } from './is-ancestor-empty';
37
37
  import { isBlockAboveEmpty } from './is-block-above-empty';
38
38
  import { isBlockActive } from './is-block-active';
39
- import { isBlockCardCursor } from './is-block-card-cursor';
39
+ import { isBlockCardCursor, isBlockCardLeftCursor, isBlockCardRightCursor } from './is-block-card-cursor';
40
40
  import { isBlockTextEmptyAfterSelection } from './is-block-text-empty-after-selection';
41
41
  import { isCollapsed } from './is-collapsed';
42
42
  import { isContainNestedType } from './is-contain-nested-type';
@@ -58,5 +58,5 @@ import { isRangeAtRoot } from './is-range-at-root';
58
58
  import { isRootPath } from './is-root-path';
59
59
  import { isStart } from './is-start';
60
60
  import { someNode } from './some-node';
61
- export { anchorBlock, anchorBlockEntry, anchorInlineEntry, findDescendant, findNode, findPath, getAbove, getAboveByType, getAnchorBlockEntry, getBlockAbove, getBlockCardAbove, getBlockCardCenterCursor, getContainerBlocks, getDirectlyParent, getInsertElementsPath, getLastChild, getLastChildPath, getLastNode, getNextSiblingNodes, getNode, getNodes, getNodesByType, getParent, getPlainText, getPluginByToolbarItem, getPointBefore, getPointFromLocation, getPreviousPath, getRangeBefore, getRangeFromBlockStart, getSelectionMarks, getSelectionNodesByType, getText, getToolbarItemDisabled, isAcrossBlocks, isAncestor, isAncestorEmpty, isBlockAboveEmpty, isBlockActive, isBlockCardCursor, isBlockTextEmptyAfterSelection, isCollapsed, isContainNestedType, isContainer, isDescendant, isEmptyContent, isEmptyContentByFilter, isEmptyParagraph, isEmptyParagraphByPath, isEmptyParagraphElement, isFirstChild, isGlobalCollapsed, isIncludeTypes, isLogicEmptyParagraphElement, isNodeType, isNodeTypeIn, isParagraph, isPointAtRoot, isRangeAcrossBlocks, isRangeAtRoot, isRootPath, isStart, someNode };
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1C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QUUsT0FBTyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQ3JDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFdkMsT0FBTyxFQUNILFdBQVcsRUFDWCxnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLGNBQWMsRUFDZCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsd0JBQXdCLEVBQ3hCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIscUJBQXFCLEVBQ3JCLFlBQVksRUFDWixnQkFBZ0IsRUFDaEIsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixPQUFPLEVBQ1AsUUFBUSxFQUNSLGNBQWMsRUFDZCxTQUFTLEVBQ1QsWUFBWSxFQUNaLHNCQUFzQixFQUN0QixjQUFjLEVBQ2Qsb0JBQW9CLEVBQ3BCLGVBQWUsRUFDZixjQUFjLEVBQ2Qsc0JBQXNCLEVBQ3RCLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsT0FBTyxFQUNQLHNCQUFzQixFQUN0QixjQUFjLEVBQ2QsVUFBVSxFQUNWLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsYUFBYSxFQUNiLGlCQUFpQixFQUNqQiw4QkFBOEIsRUFDOUIsV0FBVyxFQUNYLG1CQUFtQixFQUNuQixXQUFXLEVBQ1gsWUFBWSxFQUNaLGNBQWMsRUFDZCxzQkFBc0IsRUFDdEIsZ0JBQWdCLEVBQ2hCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsWUFBWSxFQUNaLGlCQUFpQixFQUNqQixjQUFjLEVBQ2QsNEJBQTRCLEVBQzVCLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLGFBQWEsRUFDYixtQkFBbUIsRUFDbkIsYUFBYSxFQUNiLFVBQVUsRUFDVixPQUFPLEVBQ1AsUUFBUSxFQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmNob3JCbG9jayB9IGZyb20gJy4vYW5jaG9yLWJsb2NrJztcbmltcG9ydCB7IGFuY2hvckJsb2NrRW50cnkgfSBmcm9tICcuL2FuY2hvci1ibG9jay1lbnRyeSc7XG5pbXBvcnQgeyBhbmNob3JJbmxpbmVFbnRyeSB9IGZyb20gJy4vYW5jaG9yLWlubGluZS1lbnRyeSc7XG5pbXBvcnQgeyBmaW5kRGVzY2VuZGFudCB9IGZyb20gJy4vZmluZC1kZXNjZW5kYW50JztcbmltcG9ydCB7IGZpbmROb2RlIH0gZnJvbSAnLi9maW5kLW5vZGUnO1xuaW1wb3J0IHsgZmluZFBhdGggfSBmcm9tICcuL2ZpbmQtcGF0aCc7XG5pbXBvcnQgeyBnZXRBYm92ZSB9IGZyb20gJy4vZ2V0LWFib3ZlJztcbmltcG9ydCB7IGdldEFib3ZlQnlUeXBlIH0gZnJvbSAnLi9nZXQtYWJvdmUtYnktdHlwZSc7XG5pbXBvcnQgeyBnZXRBbmNob3JCbG9ja0VudHJ5IH0gZnJvbSAnLi9nZXQtYW5jaG9yLWJsb2NrLWVudHJ5JztcbmltcG9ydCB7IGdldEJsb2NrQWJvdmUgfSBmcm9tICcuL2dldC1ibG9jay1hYm92ZSc7XG5pbXBvcnQgeyBnZXRCbG9ja0NhcmRBYm92ZSB9IGZyb20gJy4vZ2V0LWJsb2NrLWNhcmQtYWJvdmUnO1xuaW1wb3J0IHsgZ2V0QmxvY2tDYXJkQ2VudGVyQ3Vyc29yIH0gZnJvbSAnLi9nZXQtYmxvY2stY2FyZC1jdXJzb3InO1xuaW1wb3J0IHsgZ2V0Q29udGFpbmVyQmxvY2tzIH0gZnJvbSAnLi9nZXQtY29udGFpbmVyLWJsb2Nrcyc7XG5pbXBvcnQgeyBnZXREaXJlY3RseVBhcmVudCB9IGZyb20gJy4vZ2V0LWRpcmVjdGx5LXBhcmVudCc7XG5pbXBvcnQgeyBnZXRJbnNlcnRFbGVtZW50c1BhdGggfSBmcm9tICcuL2dldC1pbnNlcnQtZWxlbWVudHMtcGF0aCc7XG5pbXBvcnQgeyBnZXRMYXN0Q2hpbGQsIGdldExhc3RDaGlsZFBhdGggfSBmcm9tICcuL2dldC1sYXN0LWNoaWxkLXBhdGgnO1xuaW1wb3J0IHsgZ2V0TGFzdE5vZGUgfSBmcm9tICcuL2dldC1sYXN0LW5vZGUnO1xuaW1wb3J0IHsgZ2V0TmV4dFNpYmxpbmdOb2RlcyB9IGZyb20gJy4vZ2V0LW5leHQtc2libGluZy1ub2Rlcyc7XG5pbXBvcnQgeyBnZXROb2RlIH0gZnJvbSAnLi9nZXQtbm9kZSc7XG5pbXBvcnQgeyBnZXROb2RlcyB9IGZyb20gJy4vZ2V0LW5vZGVzJztcbmltcG9ydCB7IGdldE5vZGVzQnlUeXBlIH0gZnJvbSAnLi9nZXQtbm9kZXMtYnktdHlwZSc7XG5pbXBvcnQgeyBnZXRQYXJlbnQgfSBmcm9tICcuL2dldC1wYXJlbnQnO1xuaW1wb3J0IHsgZ2V0UGxhaW5UZXh0IH0gZnJvbSAnLi9nZXQtcGxhaW4tdGV4dCc7XG5pbXBvcnQgeyBnZXRQbHVnaW5CeVRvb2xiYXJJdGVtIH0gZnJvbSAnLi9nZXQtcGx1Z2luLWJ5LXRvb2xiYXInO1xuaW1wb3J0IHsgZ2V0UG9pbnRCZWZvcmUgfSBmcm9tICcuL2dldC1wb2ludC1iZWZvcmUnO1xuaW1wb3J0IHsgZ2V0UG9pbnRGcm9tTG9jYXRpb24gfSBmcm9tICcuL2dldC1wb2ludC1mcm9tLWxvY2F0aW9uJztcbmltcG9ydCB7IGdldFByZXZpb3VzUGF0aCB9IGZyb20gJy4vZ2V0LXByZXZpb3VzLXBhdGgnO1xuaW1wb3J0IHsgZ2V0UmFuZ2VGcm9tQmxvY2tTdGFydCB9IGZyb20gJy4vZ2V0LXJhbmctZnJvbS1ibG9jay1zdGFydCc7XG5pbXBvcnQgeyBnZXRSYW5nZUJlZm9yZSB9IGZyb20gJy4vZ2V0LXJhbmdlLWJlZm9yZSc7XG5pbXBvcnQgeyBnZXRTZWxlY3Rpb25NYXJrcyB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbi1tYXJrcyc7XG5pbXBvcnQgeyBnZXRTZWxlY3Rpb25Ob2Rlc0J5VHlwZSB9IGZyb20gJy4vZ2V0LXNlbGVjdGlvbi1ub2Rlcy1ieS10eXBlJztcbmltcG9ydCB7IGdldFRleHQgfSBmcm9tICcuL2dldC10ZXh0JztcbmltcG9ydCB7IGdldFRvb2xiYXJJdGVtRGlzYWJsZWQgfSBmcm9tICcuL2dldC10b29sYmFyLWRpc2FibGVkJztcbmltcG9ydCB7IGlzQWNyb3NzQmxvY2tzIH0gZnJvbSAnLi9pcy1hY3Jvc3MtYmxvY2tzJztcbmltcG9ydCB7IGlzQW5jZXN0b3IgfSBmcm9tICcuL2lzLWFuY2VzdG9yJztcbmltcG9ydCB7IGlzQW5jZXN0b3JFbXB0eSB9IGZyb20gJy4vaXMtYW5jZXN0b3ItZW1wdHknO1xuaW1wb3J0IHsgaXNCbG9ja0Fib3ZlRW1wdHkgfSBmcm9tICcuL2lzLWJsb2NrLWFib3ZlLWVtcHR5JztcbmltcG9ydCB7IGlzQmxvY2tBY3RpdmUgfSBmcm9tICcuL2lzLWJsb2NrLWFjdGl2ZSc7XG5pbXBvcnQgeyBpc0Jsb2NrQ2FyZEN1cnNvciB9IGZyb20gJy4vaXMtYmxvY2stY2FyZC1jdXJzb3InO1xuaW1wb3J0IHsgaXNCbG9ja1RleHRFbXB0eUFmdGVyU2VsZWN0aW9uIH0gZnJvbSAnLi9pcy1ibG9jay10ZXh0LWVtcHR5LWFmdGVyLXNlbGVjdGlvbic7XG5pbXBvcnQgeyBpc0NvbGxhcHNlZCB9IGZyb20gJy4vaXMtY29sbGFwc2VkJztcbmltcG9ydCB7IGlzQ29udGFpbk5lc3RlZFR5cGUgfSBmcm9tICcuL2lzLWNvbnRhaW4tbmVzdGVkLXR5cGUnO1xuaW1wb3J0IHsgaXNDb250YWluZXIgfSBmcm9tICcuL2lzLWNvbnRhaW5lci10eXBlJztcbmltcG9ydCB7IGlzRGVzY2VuZGFudCB9IGZyb20gJy4vaXMtZGVzY2VuZGFudCc7XG5pbXBvcnQgeyBpc0VtcHR5Q29udGVudCB9IGZyb20gJy4vaXMtZW1wdHktY29udGVudCc7XG5pbXBvcnQgeyBpc0VtcHR5Q29udGVudEJ5RmlsdGVyIH0gZnJvbSAnLi9pcy1lbXB0eS1jb250ZW50LWZpbHRlcic7XG5pbXBvcnQgeyBpc0VtcHR5UGFyYWdyYXBoLCBpc0VtcHR5UGFyYWdyYXBoRWxlbWVudCwgaXNMb2dpY0VtcHR5UGFyYWdyYXBoRWxlbWVudCB9IGZyb20gJy4vaXMtZW1wdHktcGFyYWdyYXBoJztcbmltcG9ydCB7IGlzRW1wdHlQYXJhZ3JhcGhCeVBhdGggfSBmcm9tICcuL2lzLWVtcHR5LXBhcmFncmFwaC1ieS1wYXRoJztcbmltcG9ydCB7IGlzRmlyc3RDaGlsZCB9IGZyb20gJy4vaXMtZmlyc3QtY2hpbGQnO1xuaW1wb3J0IHsgaXNHbG9iYWxDb2xsYXBzZWQgfSBmcm9tICcuL2lzLWdsb2JhbC1jb2xsYXBzZWQnO1xuaW1wb3J0IHsgaXNJbmNsdWRlVHlwZXMgfSBmcm9tICcuL2lzLWluY2x1ZGUtdHlwZXMnO1xuaW1wb3J0IHsgaXNOb2RlVHlwZSB9IGZyb20gJy4vaXMtbm9kZS10eXBlJztcbmltcG9ydCB7IGlzTm9kZVR5cGVJbiB9IGZyb20gJy4vaXMtbm9kZS10eXBlLWluJztcbmltcG9ydCB7IGlzUGFyYWdyYXBoIH0gZnJvbSAnLi9pcy1wYXJhZ3JhcGgnO1xuaW1wb3J0IHsgaXNQb2ludEF0Um9vdCB9IGZyb20gJy4vaXMtcG9pbnQtYXQtcm9vdCc7XG5pbXBvcnQgeyBpc1JhbmdlQWNyb3NzQmxvY2tzIH0gZnJvbSAnLi9pcy1yYW5nZS1hY3Jvc3MtYmxvY2tzJztcbmltcG9ydCB7IGlzUmFuZ2VBdFJvb3QgfSBmcm9tICcuL2lzLXJhbmdlLWF0LXJvb3QnO1xuaW1wb3J0IHsgaXNSb290UGF0aCB9IGZyb20gJy4vaXMtcm9vdC1wYXRoJztcbmltcG9ydCB7IGlzU3RhcnQgfSBmcm9tICcuL2lzLXN0YXJ0JztcbmltcG9ydCB7IHNvbWVOb2RlIH0gZnJvbSAnLi9zb21lLW5vZGUnO1xuXG5leHBvcnQge1xuICAgIGFuY2hvckJsb2NrLFxuICAgIGFuY2hvckJsb2NrRW50cnksXG4gICAgYW5jaG9ySW5saW5lRW50cnksXG4gICAgZmluZERlc2NlbmRhbnQsXG4gICAgZmluZE5vZGUsXG4gICAgZmluZFBhdGgsXG4gICAgZ2V0QWJvdmUsXG4gICAgZ2V0QWJvdmVCeVR5cGUsXG4gICAgZ2V0QW5jaG9yQmxvY2tFbnRyeSxcbiAgICBnZXRCbG9ja0Fib3ZlLFxuICAgIGdldEJsb2NrQ2FyZEFib3ZlLFxuICAgIGdldEJsb2NrQ2FyZENlbnRlckN1cnNvcixcbiAgICBnZXRDb250YWluZXJCbG9ja3MsXG4gICAgZ2V0RGlyZWN0bHlQYXJlbnQsXG4gICAgZ2V0SW5zZXJ0RWxlbWVudHNQYXRoLFxuICAgIGdldExhc3RDaGlsZCxcbiAgICBnZXRMYXN0Q2hpbGRQYXRoLFxuICAgIGdldExhc3ROb2RlLFxuICAgIGdldE5leHRTaWJsaW5nTm9kZXMsXG4gICAgZ2V0Tm9kZSxcbiAgICBnZXROb2RlcyxcbiAgICBnZXROb2Rlc0J5VHlwZSxcbiAgICBnZXRQYXJlbnQsXG4gICAgZ2V0UGxhaW5UZXh0LFxuICAgIGdldFBsdWdpbkJ5VG9vbGJhckl0ZW0sXG4gICAgZ2V0UG9pbnRCZWZvcmUsXG4gICAgZ2V0UG9pbnRGcm9tTG9jYXRpb24sXG4gICAgZ2V0UHJldmlvdXNQYXRoLFxuICAgIGdldFJhbmdlQmVmb3JlLFxuICAgIGdldFJhbmdlRnJvbUJsb2NrU3RhcnQsXG4gICAgZ2V0U2VsZWN0aW9uTWFya3MsXG4gICAgZ2V0U2VsZWN0aW9uTm9kZXNCeVR5cGUsXG4gICAgZ2V0VGV4dCxcbiAgICBnZXRUb29sYmFySXRlbURpc2FibGVkLFxuICAgIGlzQWNyb3NzQmxvY2tzLFxuICAgIGlzQW5jZXN0b3IsXG4gICAgaXNBbmNlc3RvckVtcHR5LFxuICAgIGlzQmxvY2tBYm92ZUVtcHR5LFxuICAgIGlzQmxvY2tBY3RpdmUsXG4gICAgaXNCbG9ja0NhcmRDdXJzb3IsXG4gICAgaXNCbG9ja1RleHRFbXB0eUFmdGVyU2VsZWN0aW9uLFxuICAgIGlzQ29sbGFwc2VkLFxuICAgIGlzQ29udGFpbk5lc3RlZFR5cGUsXG4gICAgaXNDb250YWluZXIsXG4gICAgaXNEZXNjZW5kYW50LFxuICAgIGlzRW1wdHlDb250ZW50LFxuICAgIGlzRW1wdHlDb250ZW50QnlGaWx0ZXIsXG4gICAgaXNFbXB0eVBhcmFncmFwaCxcbiAgICBpc0VtcHR5UGFyYWdyYXBoQnlQYXRoLFxuICAgIGlzRW1wdHlQYXJhZ3JhcGhFbGVtZW50LFxuICAgIGlzRmlyc3RDaGlsZCxcbiAgICBpc0dsb2JhbENvbGxhcHNlZCxcbiAgICBpc0luY2x1ZGVUeXBlcyxcbiAgICBpc0xvZ2ljRW1wdHlQYXJhZ3JhcGhFbGVtZW50LFxuICAgIGlzTm9kZVR5cGUsXG4gICAgaXNOb2RlVHlwZUluLFxuICAgIGlzUGFyYWdyYXBoLFxuICAgIGlzUG9pbnRBdFJvb3QsXG4gICAgaXNSYW5nZUFjcm9zc0Jsb2NrcyxcbiAgICBpc1JhbmdlQXRSb290LFxuICAgIGlzUm9vdFBhdGgsXG4gICAgaXNTdGFydCxcbiAgICBzb21lTm9kZVxufTtcbiJdfQ==
61
+ export { anchorBlock, anchorBlockEntry, anchorInlineEntry, findDescendant, findNode, findPath, getAbove, getAboveByType, getAnchorBlockEntry, getBlockAbove, getBlockCardAbove, getBlockCardCenterCursor, getContainerBlocks, getDirectlyParent, getInsertElementsPath, getLastChild, getLastChildPath, getLastNode, getNextSiblingNodes, getNode, getNodes, getNodesByType, getParent, getPlainText, getPluginByToolbarItem, getPointBefore, getPointFromLocation, getPreviousPath, getRangeBefore, getRangeFromBlockStart, getSelectionMarks, getSelectionNodesByType, getText, getToolbarItemDisabled, isAcrossBlocks, isAncestor, isAncestorEmpty, isBlockAboveEmpty, isBlockActive, isBlockCardCursor, isBlockCardLeftCursor, isBlockCardRightCursor, isBlockTextEmptyAfterSelection, isCollapsed, isContainer, isContainNestedType, isDescendant, isEmptyContent, isEmptyContentByFilter, isEmptyParagraph, isEmptyParagraphByPath, isEmptyParagraphElement, isFirstChild, isGlobalCollapsed, isIncludeTypes, isLogicEmptyParagraphElement, isNodeType, isNodeTypeIn, isParagraph, isPointAtRoot, isRangeAcrossBlocks, isRangeAtRoot, isRootPath, isStart, someNode };
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1C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Li9hbmNob3ItYmxvY2snO1xuaW1wb3J0IHsgYW5jaG9yQmxvY2tFbnRyeSB9IGZyb20gJy4vYW5jaG9yLWJsb2NrLWVudHJ5JztcbmltcG9ydCB7IGFuY2hvcklubGluZUVudHJ5IH0gZnJvbSAnLi9hbmNob3ItaW5saW5lLWVudHJ5JztcbmltcG9ydCB7IGZpbmREZXNjZW5kYW50IH0gZnJvbSAnLi9maW5kLWRlc2NlbmRhbnQnO1xuaW1wb3J0IHsgZmluZE5vZGUgfSBmcm9tICcuL2ZpbmQtbm9kZSc7XG5pbXBvcnQgeyBmaW5kUGF0aCB9IGZyb20gJy4vZmluZC1wYXRoJztcbmltcG9ydCB7IGdldEFib3ZlIH0gZnJvbSAnLi9nZXQtYWJvdmUnO1xuaW1wb3J0IHsgZ2V0QWJvdmVCeVR5cGUgfSBmcm9tICcuL2dldC1hYm92ZS1ieS10eXBlJztcbmltcG9ydCB7IGdldEFuY2hvckJsb2NrRW50cnkgfSBmcm9tICcuL2dldC1hbmNob3ItYmxvY2stZW50cnknO1xuaW1wb3J0IHsgZ2V0QmxvY2tBYm92ZSB9IGZyb20gJy4vZ2V0LWJsb2NrLWFib3ZlJztcbmltcG9ydCB7IGdldEJsb2NrQ2FyZEFib3ZlIH0gZnJvbSAnLi9nZXQtYmxvY2stY2FyZC1hYm92ZSc7XG5pbXBvcnQgeyBnZXRCbG9ja0NhcmRDZW50ZXJDdXJzb3IgfSBmcm9tICcuL2dldC1ibG9jay1jYXJkLWN1cnNvcic7XG5pbXBvcnQgeyBnZXRDb250YWluZXJCbG9ja3MgfSBmcm9tICcuL2dldC1jb250YWluZXItYmxvY2tzJztcbmltcG9ydCB7IGdldERpcmVjdGx5UGFyZW50IH0gZnJvbSAnLi9nZXQtZGlyZWN0bHktcGFyZW50JztcbmltcG9ydCB7IGdldEluc2VydEVsZW1lbnRzUGF0aCB9IGZyb20gJy4vZ2V0LWluc2VydC1lbGVtZW50cy1wYXRoJztcbmltcG9ydCB7IGdldExhc3RDaGlsZCwgZ2V0TGFzdENoaWxkUGF0aCB9IGZyb20gJy4vZ2V0LWxhc3QtY2hpbGQtcGF0aCc7XG5pbXBvcnQgeyBnZXRMYXN0Tm9kZSB9IGZyb20gJy4vZ2V0LWxhc3Qtbm9kZSc7XG5pbXBvcnQgeyBnZXROZXh0U2libGluZ05vZGVzIH0gZnJvbSAnLi9nZXQtbmV4dC1zaWJsaW5nLW5vZGVzJztcbmltcG9ydCB7IGdldE5vZGUgfSBmcm9tICcuL2dldC1ub2RlJztcbmltcG9ydCB7IGdldE5vZGVzIH0gZnJvbSAnLi9nZXQtbm9kZXMnO1xuaW1wb3J0IHsgZ2V0Tm9kZXNCeVR5cGUgfSBmcm9tICcuL2dldC1ub2Rlcy1ieS10eXBlJztcbmltcG9ydCB7IGdldFBhcmVudCB9IGZyb20gJy4vZ2V0LXBhcmVudCc7XG5pbXBvcnQgeyBnZXRQbGFpblRleHQgfSBmcm9tICcuL2dldC1wbGFpbi10ZXh0JztcbmltcG9ydCB7IGdldFBsdWdpbkJ5VG9vbGJhckl0ZW0gfSBmcm9tICcuL2dldC1wbHVnaW4tYnktdG9vbGJhcic7XG5pbXBvcnQgeyBnZXRQb2ludEJlZm9yZSB9IGZyb20gJy4vZ2V0LXBvaW50LWJlZm9yZSc7XG5pbXBvcnQgeyBnZXRQb2ludEZyb21Mb2NhdGlvbiB9IGZyb20gJy4vZ2V0LXBvaW50LWZyb20tbG9jYXRpb24nO1xuaW1wb3J0IHsgZ2V0UHJldmlvdXNQYXRoIH0gZnJvbSAnLi9nZXQtcHJldmlvdXMtcGF0aCc7XG5pbXBvcnQgeyBnZXRSYW5nZUZyb21CbG9ja1N0YXJ0IH0gZnJvbSAnLi9nZXQtcmFuZy1mcm9tLWJsb2NrLXN0YXJ0JztcbmltcG9ydCB7IGdldFJhbmdlQmVmb3JlIH0gZnJvbSAnLi9nZXQtcmFuZ2UtYmVmb3JlJztcbmltcG9ydCB7IGdldFNlbGVjdGlvbk1hcmtzIH0gZnJvbSAnLi9nZXQtc2VsZWN0aW9uLW1hcmtzJztcbmltcG9ydCB7IGdldFNlbGVjdGlvbk5vZGVzQnlUeXBlIH0gZnJvbSAnLi9nZXQtc2VsZWN0aW9uLW5vZGVzLWJ5LXR5cGUnO1xuaW1wb3J0IHsgZ2V0VGV4dCB9IGZyb20gJy4vZ2V0LXRleHQnO1xuaW1wb3J0IHsgZ2V0VG9vbGJhckl0ZW1EaXNhYmxlZCB9IGZyb20gJy4vZ2V0LXRvb2xiYXItZGlzYWJsZWQnO1xuaW1wb3J0IHsgaXNBY3Jvc3NCbG9ja3MgfSBmcm9tICcuL2lzLWFjcm9zcy1ibG9ja3MnO1xuaW1wb3J0IHsgaXNBbmNlc3RvciB9IGZyb20gJy4vaXMtYW5jZXN0b3InO1xuaW1wb3J0IHsgaXNBbmNlc3RvckVtcHR5IH0gZnJvbSAnLi9pcy1hbmNlc3Rvci1lbXB0eSc7XG5pbXBvcnQgeyBpc0Jsb2NrQWJvdmVFbXB0eSB9IGZyb20gJy4vaXMtYmxvY2stYWJvdmUtZW1wdHknO1xuaW1wb3J0IHsgaXNCbG9ja0FjdGl2ZSB9IGZyb20gJy4vaXMtYmxvY2stYWN0aXZlJztcbmltcG9ydCB7IGlzQmxvY2tDYXJkQ3Vyc29yLCBpc0Jsb2NrQ2FyZExlZnRDdXJzb3IsIGlzQmxvY2tDYXJkUmlnaHRDdXJzb3IgfSBmcm9tICcuL2lzLWJsb2NrLWNhcmQtY3Vyc29yJztcbmltcG9ydCB7IGlzQmxvY2tUZXh0RW1wdHlBZnRlclNlbGVjdGlvbiB9IGZyb20gJy4vaXMtYmxvY2stdGV4dC1lbXB0eS1hZnRlci1zZWxlY3Rpb24nO1xuaW1wb3J0IHsgaXNDb2xsYXBzZWQgfSBmcm9tICcuL2lzLWNvbGxhcHNlZCc7XG5pbXBvcnQgeyBpc0NvbnRhaW5OZXN0ZWRUeXBlIH0gZnJvbSAnLi9pcy1jb250YWluLW5lc3RlZC10eXBlJztcbmltcG9ydCB7IGlzQ29udGFpbmVyIH0gZnJvbSAnLi9pcy1jb250YWluZXItdHlwZSc7XG5pbXBvcnQgeyBpc0Rlc2NlbmRhbnQgfSBmcm9tICcuL2lzLWRlc2NlbmRhbnQnO1xuaW1wb3J0IHsgaXNFbXB0eUNvbnRlbnQgfSBmcm9tICcuL2lzLWVtcHR5LWNvbnRlbnQnO1xuaW1wb3J0IHsgaXNFbXB0eUNvbnRlbnRCeUZpbHRlciB9IGZyb20gJy4vaXMtZW1wdHktY29udGVudC1maWx0ZXInO1xuaW1wb3J0IHsgaXNFbXB0eVBhcmFncmFwaCwgaXNFbXB0eVBhcmFncmFwaEVsZW1lbnQsIGlzTG9naWNFbXB0eVBhcmFncmFwaEVsZW1lbnQgfSBmcm9tICcuL2lzLWVtcHR5LXBhcmFncmFwaCc7XG5pbXBvcnQgeyBpc0VtcHR5UGFyYWdyYXBoQnlQYXRoIH0gZnJvbSAnLi9pcy1lbXB0eS1wYXJhZ3JhcGgtYnktcGF0aCc7XG5pbXBvcnQgeyBpc0ZpcnN0Q2hpbGQgfSBmcm9tICcuL2lzLWZpcnN0LWNoaWxkJztcbmltcG9ydCB7IGlzR2xvYmFsQ29sbGFwc2VkIH0gZnJvbSAnLi9pcy1nbG9iYWwtY29sbGFwc2VkJztcbmltcG9ydCB7IGlzSW5jbHVkZVR5cGVzIH0gZnJvbSAnLi9pcy1pbmNsdWRlLXR5cGVzJztcbmltcG9ydCB7IGlzTm9kZVR5cGUgfSBmcm9tICcuL2lzLW5vZGUtdHlwZSc7XG5pbXBvcnQgeyBpc05vZGVUeXBlSW4gfSBmcm9tICcuL2lzLW5vZGUtdHlwZS1pbic7XG5pbXBvcnQgeyBpc1BhcmFncmFwaCB9IGZyb20gJy4vaXMtcGFyYWdyYXBoJztcbmltcG9ydCB7IGlzUG9pbnRBdFJvb3QgfSBmcm9tICcuL2lzLXBvaW50LWF0LXJvb3QnO1xuaW1wb3J0IHsgaXNSYW5nZUFjcm9zc0Jsb2NrcyB9IGZyb20gJy4vaXMtcmFuZ2UtYWNyb3NzLWJsb2Nrcyc7XG5pbXBvcnQgeyBpc1JhbmdlQXRSb290IH0gZnJvbSAnLi9pcy1yYW5nZS1hdC1yb290JztcbmltcG9ydCB7IGlzUm9vdFBhdGggfSBmcm9tICcuL2lzLXJvb3QtcGF0aCc7XG5pbXBvcnQgeyBpc1N0YXJ0IH0gZnJvbSAnLi9pcy1zdGFydCc7XG5pbXBvcnQgeyBzb21lTm9kZSB9IGZyb20gJy4vc29tZS1ub2RlJztcblxuZXhwb3J0IHtcbiAgICBhbmNob3JCbG9jayxcbiAgICBhbmNob3JCbG9ja0VudHJ5LFxuICAgIGFuY2hvcklubGluZUVudHJ5LFxuICAgIGZpbmREZXNjZW5kYW50LFxuICAgIGZpbmROb2RlLFxuICAgIGZpbmRQYXRoLFxuICAgIGdldEFib3ZlLFxuICAgIGdldEFib3ZlQnlUeXBlLFxuICAgIGdldEFuY2hvckJsb2NrRW50cnksXG4gICAgZ2V0QmxvY2tBYm92ZSxcbiAgICBnZXRCbG9ja0NhcmRBYm92ZSxcbiAgICBnZXRCbG9ja0NhcmRDZW50ZXJDdXJzb3IsXG4gICAgZ2V0Q29udGFpbmVyQmxvY2tzLFxuICAgIGdldERpcmVjdGx5UGFyZW50LFxuICAgIGdldEluc2VydEVsZW1lbnRzUGF0aCxcbiAgICBnZXRMYXN0Q2hpbGQsXG4gICAgZ2V0TGFzdENoaWxkUGF0aCxcbiAgICBnZXRMYXN0Tm9kZSxcbiAgICBnZXROZXh0U2libGluZ05vZGVzLFxuICAgIGdldE5vZGUsXG4gICAgZ2V0Tm9kZXMsXG4gICAgZ2V0Tm9kZXNCeVR5cGUsXG4gICAgZ2V0UGFyZW50LFxuICAgIGdldFBsYWluVGV4dCxcbiAgICBnZXRQbHVnaW5CeVRvb2xiYXJJdGVtLFxuICAgIGdldFBvaW50QmVmb3JlLFxuICAgIGdldFBvaW50RnJvbUxvY2F0aW9uLFxuICAgIGdldFByZXZpb3VzUGF0aCxcbiAgICBnZXRSYW5nZUJlZm9yZSxcbiAgICBnZXRSYW5nZUZyb21CbG9ja1N0YXJ0LFxuICAgIGdldFNlbGVjdGlvbk1hcmtzLFxuICAgIGdldFNlbGVjdGlvbk5vZGVzQnlUeXBlLFxuICAgIGdldFRleHQsXG4gICAgZ2V0VG9vbGJhckl0ZW1EaXNhYmxlZCxcbiAgICBpc0Fjcm9zc0Jsb2NrcyxcbiAgICBpc0FuY2VzdG9yLFxuICAgIGlzQW5jZXN0b3JFbXB0eSxcbiAgICBpc0Jsb2NrQWJvdmVFbXB0eSxcbiAgICBpc0Jsb2NrQWN0aXZlLFxuICAgIGlzQmxvY2tDYXJkQ3Vyc29yLFxuICAgIGlzQmxvY2tDYXJkTGVmdEN1cnNvcixcbiAgICBpc0Jsb2NrQ2FyZFJpZ2h0Q3Vyc29yLFxuICAgIGlzQmxvY2tUZXh0RW1wdHlBZnRlclNlbGVjdGlvbixcbiAgICBpc0NvbGxhcHNlZCxcbiAgICBpc0NvbnRhaW5lcixcbiAgICBpc0NvbnRhaW5OZXN0ZWRUeXBlLFxuICAgIGlzRGVzY2VuZGFudCxcbiAgICBpc0VtcHR5Q29udGVudCxcbiAgICBpc0VtcHR5Q29udGVudEJ5RmlsdGVyLFxuICAgIGlzRW1wdHlQYXJhZ3JhcGgsXG4gICAgaXNFbXB0eVBhcmFncmFwaEJ5UGF0aCxcbiAgICBpc0VtcHR5UGFyYWdyYXBoRWxlbWVudCxcbiAgICBpc0ZpcnN0Q2hpbGQsXG4gICAgaXNHbG9iYWxDb2xsYXBzZWQsXG4gICAgaXNJbmNsdWRlVHlwZXMsXG4gICAgaXNMb2dpY0VtcHR5UGFyYWdyYXBoRWxlbWVudCxcbiAgICBpc05vZGVUeXBlLFxuICAgIGlzTm9kZVR5cGVJbixcbiAgICBpc1BhcmFncmFwaCxcbiAgICBpc1BvaW50QXRSb290LFxuICAgIGlzUmFuZ2VBY3Jvc3NCbG9ja3MsXG4gICAgaXNSYW5nZUF0Um9vdCxcbiAgICBpc1Jvb3RQYXRoLFxuICAgIGlzU3RhcnQsXG4gICAgc29tZU5vZGVcbn07XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  import { Editor } from 'slate';
2
+ import { FAKE_LEFT_BLOCK_CARD_OFFSET, FAKE_RIGHT_BLOCK_CARD_OFFSET } from 'slate-angular';
2
3
  export const isBlockCardCursor = (editor, at) => {
3
4
  if (at) {
4
5
  const point = at && Editor.point(editor, at);
@@ -6,4 +7,10 @@ export const isBlockCardCursor = (editor, at) => {
6
7
  }
7
8
  return editor.selection.anchor.offset < 0;
8
9
  };
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYmxvY2stY2FyZC1jdXJzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9pcy1ibG9jay1jYXJkLWN1cnNvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFZLE1BQU0sT0FBTyxDQUFDO0FBRXpDLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsTUFBYyxFQUFFLEVBQWEsRUFBRSxFQUFFO0lBQy9ELElBQUksRUFBRSxFQUFFLENBQUM7UUFDTCxNQUFNLEtBQUssR0FBRyxFQUFFLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDN0MsT0FBTyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0FBQzlDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTG9jYXRpb24gfSBmcm9tICdzbGF0ZSc7XG5cbmV4cG9ydCBjb25zdCBpc0Jsb2NrQ2FyZEN1cnNvciA9IChlZGl0b3I6IEVkaXRvciwgYXQ/OiBMb2NhdGlvbikgPT4ge1xuICAgIGlmIChhdCkge1xuICAgICAgICBjb25zdCBwb2ludCA9IGF0ICYmIEVkaXRvci5wb2ludChlZGl0b3IsIGF0KTtcbiAgICAgICAgcmV0dXJuIHBvaW50Lm9mZnNldCA8IDA7XG4gICAgfVxuICAgIHJldHVybiBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5vZmZzZXQgPCAwO1xufTtcbiJdfQ==
10
+ export const isBlockCardLeftCursor = (selection) => {
11
+ return selection?.anchor?.offset === FAKE_LEFT_BLOCK_CARD_OFFSET && selection?.focus?.offset === FAKE_LEFT_BLOCK_CARD_OFFSET;
12
+ };
13
+ export const isBlockCardRightCursor = (selection) => {
14
+ return selection?.anchor?.offset === FAKE_RIGHT_BLOCK_CARD_OFFSET && selection?.focus?.offset === FAKE_RIGHT_BLOCK_CARD_OFFSET;
15
+ };
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYmxvY2stY2FyZC1jdXJzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zcmMvcXVlcmllcy9pcy1ibG9jay1jYXJkLWN1cnNvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFtQixNQUFNLE9BQU8sQ0FBQztBQUNoRCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBYSxFQUFFLEVBQUU7SUFDL0QsSUFBSSxFQUFFLEVBQUUsQ0FBQztRQUNMLE1BQU0sS0FBSyxHQUFHLEVBQUUsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsQ0FBQztRQUM3QyxPQUFPLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxTQUFnQixFQUFFLEVBQUU7SUFDdEQsT0FBTyxTQUFTLEVBQUUsTUFBTSxFQUFFLE1BQU0sS0FBSywyQkFBMkIsSUFBSSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sS0FBSywyQkFBMkIsQ0FBQztBQUNqSSxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLFNBQWdCLEVBQUUsRUFBRTtJQUN2RCxPQUFPLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxLQUFLLDRCQUE0QixJQUFJLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxLQUFLLDRCQUE0QixDQUFDO0FBQ25JLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVkaXRvciwgTG9jYXRpb24sIFJhbmdlIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgRkFLRV9MRUZUX0JMT0NLX0NBUkRfT0ZGU0VULCBGQUtFX1JJR0hUX0JMT0NLX0NBUkRfT0ZGU0VUIH0gZnJvbSAnc2xhdGUtYW5ndWxhcic7XG5cbmV4cG9ydCBjb25zdCBpc0Jsb2NrQ2FyZEN1cnNvciA9IChlZGl0b3I6IEVkaXRvciwgYXQ/OiBMb2NhdGlvbikgPT4ge1xuICAgIGlmIChhdCkge1xuICAgICAgICBjb25zdCBwb2ludCA9IGF0ICYmIEVkaXRvci5wb2ludChlZGl0b3IsIGF0KTtcbiAgICAgICAgcmV0dXJuIHBvaW50Lm9mZnNldCA8IDA7XG4gICAgfVxuICAgIHJldHVybiBlZGl0b3Iuc2VsZWN0aW9uLmFuY2hvci5vZmZzZXQgPCAwO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzQmxvY2tDYXJkTGVmdEN1cnNvciA9IChzZWxlY3Rpb246IFJhbmdlKSA9PiB7XG4gICAgcmV0dXJuIHNlbGVjdGlvbj8uYW5jaG9yPy5vZmZzZXQgPT09IEZBS0VfTEVGVF9CTE9DS19DQVJEX09GRlNFVCAmJiBzZWxlY3Rpb24/LmZvY3VzPy5vZmZzZXQgPT09IEZBS0VfTEVGVF9CTE9DS19DQVJEX09GRlNFVDtcbn07XG5cbmV4cG9ydCBjb25zdCBpc0Jsb2NrQ2FyZFJpZ2h0Q3Vyc29yID0gKHNlbGVjdGlvbjogUmFuZ2UpID0+IHtcbiAgICByZXR1cm4gc2VsZWN0aW9uPy5hbmNob3I/Lm9mZnNldCA9PT0gRkFLRV9SSUdIVF9CTE9DS19DQVJEX09GRlNFVCAmJiBzZWxlY3Rpb24/LmZvY3VzPy5vZmZzZXQgPT09IEZBS0VfUklHSFRfQkxPQ0tfQ0FSRF9PRkZTRVQ7XG59O1xuIl19
@@ -30,8 +30,9 @@ export const reSelection = (editor) => {
30
30
  const isBlockCard = editor.isBlockCard(focusNode);
31
31
  if (isBlockCard) {
32
32
  const path = Editor.path(editor, focusPath).slice(0, 1);
33
+ const isBlockCardRightCursor = TheQueries.isBlockCardRightCursor(previousRange.selection);
33
34
  Transforms.select(editor, path);
34
- AngularEditor.moveBlockCardCursor(editor, path, { direction: 'left' });
35
+ AngularEditor.moveBlockCardCursor(editor, path, { direction: isBlockCardRightCursor ? 'right' : 'left' });
35
36
  }
36
37
  else {
37
38
  Transforms.select(editor, focusPath);
@@ -43,4 +44,4 @@ export const refocus = (editor) => {
43
44
  reSelection(editor);
44
45
  AngularEditor.focus(editor);
45
46
  };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmb2N1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9yZWZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVksSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQWlCLEVBQUUsRUFBRTtJQUM3QyxJQUFJLGFBQWEsR0FBRyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUQsSUFBSSxJQUFJLEdBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxJQUFJLFNBQVMsR0FBYSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQzlDLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0MsU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdDLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNwRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDZixTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3JDLFNBQVMsR0FBRyxZQUFZLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNaLGFBQWEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUN0QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xELElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDeEQsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2hDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDM0UsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO1lBQ3pDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxNQUFpQixFQUFFLEVBQUU7SUFDekMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCLGFBQWEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWRpdG9yLCBMb2NhdGlvbiwgUGF0aCwgVHJhbnNmb3JtcyB9IGZyb20gJ3NsYXRlJztcbmltcG9ydCB7IEFuZ3VsYXJFZGl0b3IgfSBmcm9tICdzbGF0ZS1hbmd1bGFyJztcbmltcG9ydCB7IEhpc3RvcnlFZGl0b3IgfSBmcm9tICdzbGF0ZS1oaXN0b3J5JztcbmltcG9ydCB7IFRoZUVkaXRvciB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0ICogYXMgVGhlUXVlcmllcyBmcm9tICcuLi9xdWVyaWVzJztcbmltcG9ydCB7IFRIRV9FRElUT1JfUFJFVklPVVNfU0VMRUNUSU9OIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgcmVTZWxlY3Rpb24gPSAoZWRpdG9yOiBUaGVFZGl0b3IpID0+IHtcbiAgICBsZXQgcHJldmlvdXNSYW5nZSA9IFRIRV9FRElUT1JfUFJFVklPVVNfU0VMRUNUSU9OLmdldChlZGl0b3IpO1xuICAgIGxldCBwYXRoOiBQYXRoID0gWzBdO1xuICAgIGxldCBmb2N1c05vZGUgPSBUaGVRdWVyaWVzLmdldE5vZGUoZWRpdG9yLCBwYXRoKTtcbiAgICBsZXQgZm9jdXNQYXRoOiBMb2NhdGlvbiA9IEVkaXRvci5zdGFydChlZGl0b3IsIHBhdGgpO1xuICAgIGlmIChwcmV2aW91c1JhbmdlKSB7XG4gICAgICAgIGNvbnN0IHsgc2VsZWN0aW9uLCByYW5nZVJlZiB9ID0gcHJldmlvdXNSYW5nZTtcbiAgICAgICAgaWYgKHJhbmdlUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHBhdGggPSBFZGl0b3IucGF0aChlZGl0b3IsIHJhbmdlUmVmLmN1cnJlbnQpO1xuICAgICAgICAgICAgZm9jdXNOb2RlID0gVGhlUXVlcmllcy5nZXROb2RlKGVkaXRvciwgcGF0aCk7XG4gICAgICAgICAgICBmb2N1c1BhdGggPSByYW5nZVJlZi51bnJlZigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNQYXRoID0gRWRpdG9yLnBhdGgoZWRpdG9yLCBzZWxlY3Rpb24pO1xuICAgICAgICAgICAgcGF0aCA9IFBhdGgucHJldmlvdXMoW3ByZXZpb3VzUGF0aFswXV0pO1xuICAgICAgICAgICAgY29uc3QgcHJldmlvdXNOb2RlID0gVGhlUXVlcmllcy5nZXROb2RlKGVkaXRvciwgcGF0aCk7XG4gICAgICAgICAgICBpZiAocHJldmlvdXNOb2RlKSB7XG4gICAgICAgICAgICAgICAgZm9jdXNQYXRoID0gRWRpdG9yLmVuZChlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgIGZvY3VzTm9kZSA9IHByZXZpb3VzTm9kZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoZm9jdXNOb2RlKSB7XG4gICAgICAgIEhpc3RvcnlFZGl0b3Iud2l0aG91dE1lcmdpbmcoZWRpdG9yLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc0Jsb2NrQ2FyZCA9IGVkaXRvci5pc0Jsb2NrQ2FyZChmb2N1c05vZGUpO1xuICAgICAgICAgICAgaWYgKGlzQmxvY2tDYXJkKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGF0aCA9IEVkaXRvci5wYXRoKGVkaXRvciwgZm9jdXNQYXRoKS5zbGljZSgwLCAxKTtcbiAgICAgICAgICAgICAgICBUcmFuc2Zvcm1zLnNlbGVjdChlZGl0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgIEFuZ3VsYXJFZGl0b3IubW92ZUJsb2NrQ2FyZEN1cnNvcihlZGl0b3IsIHBhdGgsIHsgZGlyZWN0aW9uOiAnbGVmdCcgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgZm9jdXNQYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlZm9jdXMgPSAoZWRpdG9yOiBUaGVFZGl0b3IpID0+IHtcbiAgICByZVNlbGVjdGlvbihlZGl0b3IpO1xuICAgIEFuZ3VsYXJFZGl0b3IuZm9jdXMoZWRpdG9yKTtcbn07XG4iXX0=
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVmb2N1cy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3NyYy91dGlscy9yZWZvY3VzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQVksSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUM7QUFDekMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLE1BQWlCLEVBQUUsRUFBRTtJQUM3QyxJQUFJLGFBQWEsR0FBRyw2QkFBNkIsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDOUQsSUFBSSxJQUFJLEdBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyQixJQUFJLFNBQVMsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNqRCxJQUFJLFNBQVMsR0FBYSxNQUFNLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRCxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2hCLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEdBQUcsYUFBYSxDQUFDO1FBQzlDLElBQUksUUFBUSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ25CLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDN0MsU0FBUyxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzdDLFNBQVMsR0FBRyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDakMsQ0FBQzthQUFNLENBQUM7WUFDSixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztZQUNwRCxJQUFJLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDeEMsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdEQsSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDZixTQUFTLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3JDLFNBQVMsR0FBRyxZQUFZLENBQUM7WUFDN0IsQ0FBQztRQUNMLENBQUM7SUFDTCxDQUFDO0lBQ0QsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNaLGFBQWEsQ0FBQyxjQUFjLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtZQUN0QyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ2xELElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQ2QsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztnQkFDeEQsTUFBTSxzQkFBc0IsR0FBRyxVQUFVLENBQUMsc0JBQXNCLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUUxRixVQUFVLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztnQkFDaEMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRSxTQUFTLEVBQUUsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztZQUM5RyxDQUFDO2lCQUFNLENBQUM7Z0JBQ0osVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsU0FBUyxDQUFDLENBQUM7WUFDekMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxDQUFDLE1BQWlCLEVBQUUsRUFBRTtJQUN6QyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDcEIsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNoQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFZGl0b3IsIExvY2F0aW9uLCBQYXRoLCBUcmFuc2Zvcm1zIH0gZnJvbSAnc2xhdGUnO1xuaW1wb3J0IHsgQW5ndWxhckVkaXRvciB9IGZyb20gJ3NsYXRlLWFuZ3VsYXInO1xuaW1wb3J0IHsgSGlzdG9yeUVkaXRvciB9IGZyb20gJ3NsYXRlLWhpc3RvcnknO1xuaW1wb3J0IHsgVGhlRWRpdG9yIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgKiBhcyBUaGVRdWVyaWVzIGZyb20gJy4uL3F1ZXJpZXMnO1xuaW1wb3J0IHsgVEhFX0VESVRPUl9QUkVWSU9VU19TRUxFQ1RJT04gfSBmcm9tICcuLi91dGlscyc7XG5cbmV4cG9ydCBjb25zdCByZVNlbGVjdGlvbiA9IChlZGl0b3I6IFRoZUVkaXRvcikgPT4ge1xuICAgIGxldCBwcmV2aW91c1JhbmdlID0gVEhFX0VESVRPUl9QUkVWSU9VU19TRUxFQ1RJT04uZ2V0KGVkaXRvcik7XG4gICAgbGV0IHBhdGg6IFBhdGggPSBbMF07XG4gICAgbGV0IGZvY3VzTm9kZSA9IFRoZVF1ZXJpZXMuZ2V0Tm9kZShlZGl0b3IsIHBhdGgpO1xuICAgIGxldCBmb2N1c1BhdGg6IExvY2F0aW9uID0gRWRpdG9yLnN0YXJ0KGVkaXRvciwgcGF0aCk7XG4gICAgaWYgKHByZXZpb3VzUmFuZ2UpIHtcbiAgICAgICAgY29uc3QgeyBzZWxlY3Rpb24sIHJhbmdlUmVmIH0gPSBwcmV2aW91c1JhbmdlO1xuICAgICAgICBpZiAocmFuZ2VSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgcGF0aCA9IEVkaXRvci5wYXRoKGVkaXRvciwgcmFuZ2VSZWYuY3VycmVudCk7XG4gICAgICAgICAgICBmb2N1c05vZGUgPSBUaGVRdWVyaWVzLmdldE5vZGUoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgIGZvY3VzUGF0aCA9IHJhbmdlUmVmLnVucmVmKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c1BhdGggPSBFZGl0b3IucGF0aChlZGl0b3IsIHNlbGVjdGlvbik7XG4gICAgICAgICAgICBwYXRoID0gUGF0aC5wcmV2aW91cyhbcHJldmlvdXNQYXRoWzBdXSk7XG4gICAgICAgICAgICBjb25zdCBwcmV2aW91c05vZGUgPSBUaGVRdWVyaWVzLmdldE5vZGUoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgIGlmIChwcmV2aW91c05vZGUpIHtcbiAgICAgICAgICAgICAgICBmb2N1c1BhdGggPSBFZGl0b3IuZW5kKGVkaXRvciwgcGF0aCk7XG4gICAgICAgICAgICAgICAgZm9jdXNOb2RlID0gcHJldmlvdXNOb2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChmb2N1c05vZGUpIHtcbiAgICAgICAgSGlzdG9yeUVkaXRvci53aXRob3V0TWVyZ2luZyhlZGl0b3IsICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGlzQmxvY2tDYXJkID0gZWRpdG9yLmlzQmxvY2tDYXJkKGZvY3VzTm9kZSk7XG4gICAgICAgICAgICBpZiAoaXNCbG9ja0NhcmQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBwYXRoID0gRWRpdG9yLnBhdGgoZWRpdG9yLCBmb2N1c1BhdGgpLnNsaWNlKDAsIDEpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzQmxvY2tDYXJkUmlnaHRDdXJzb3IgPSBUaGVRdWVyaWVzLmlzQmxvY2tDYXJkUmlnaHRDdXJzb3IocHJldmlvdXNSYW5nZS5zZWxlY3Rpb24pO1xuXG4gICAgICAgICAgICAgICAgVHJhbnNmb3Jtcy5zZWxlY3QoZWRpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICBBbmd1bGFyRWRpdG9yLm1vdmVCbG9ja0NhcmRDdXJzb3IoZWRpdG9yLCBwYXRoLCB7IGRpcmVjdGlvbjogaXNCbG9ja0NhcmRSaWdodEN1cnNvciA/ICdyaWdodCcgOiAnbGVmdCcgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIFRyYW5zZm9ybXMuc2VsZWN0KGVkaXRvciwgZm9jdXNQYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHJlZm9jdXMgPSAoZWRpdG9yOiBUaGVFZGl0b3IpID0+IHtcbiAgICByZVNlbGVjdGlvbihlZGl0b3IpO1xuICAgIEFuZ3VsYXJFZGl0b3IuZm9jdXMoZWRpdG9yKTtcbn07XG4iXX0=
@@ -10,7 +10,7 @@ import { cloneDeep, map, assign, defaults, groupBy, uniq, isEqual } from 'lodash
10
10
  export { assign, cloneDeep, debounce, defaults, groupBy, isEqual, map, uniq } from 'lodash';
11
11
  import { Editor, Element, Span, Range, Path, Node, Point, Text, Transforms, Operation, createEditor } from 'slate';
12
12
  import * as i4 from 'slate-angular';
13
- import { NODE_TO_PARENT, NODE_TO_INDEX, getClipboardData, AngularEditor, hotkeys, getPlainText as getPlainText$1, createClipboardData, setClipboardData, isClipboardWriteSupported, BaseElementComponent, IS_SAFARI, ELEMENT_TO_COMPONENT, BaseTextComponent, SlateModule, hasBlockCard, isCardLeft, FAKE_RIGHT_BLOCK_CARD_OFFSET, SlateChildrenOutlet, EDITOR_TO_ELEMENT, defaultScrollSelectionIntoView, getDataTransferClipboard, withAngular } from 'slate-angular';
13
+ import { FAKE_LEFT_BLOCK_CARD_OFFSET, FAKE_RIGHT_BLOCK_CARD_OFFSET, NODE_TO_PARENT, NODE_TO_INDEX, getClipboardData, AngularEditor, hotkeys, getPlainText as getPlainText$1, createClipboardData, setClipboardData, isClipboardWriteSupported, BaseElementComponent, IS_SAFARI, ELEMENT_TO_COMPONENT, BaseTextComponent, SlateModule, hasBlockCard, isCardLeft, SlateChildrenOutlet, EDITOR_TO_ELEMENT, defaultScrollSelectionIntoView, getDataTransferClipboard, withAngular } from 'slate-angular';
14
14
  import { HistoryEditor, withHistory } from 'slate-history';
15
15
  import { TheiaConverter } from '@atinc/selene';
16
16
  import { isObject, isArray, isString, isUndefined } from 'ngx-tethys/util';
@@ -688,6 +688,12 @@ const isBlockCardCursor = (editor, at) => {
688
688
  }
689
689
  return editor.selection.anchor.offset < 0;
690
690
  };
691
+ const isBlockCardLeftCursor = (selection) => {
692
+ return selection?.anchor?.offset === FAKE_LEFT_BLOCK_CARD_OFFSET && selection?.focus?.offset === FAKE_LEFT_BLOCK_CARD_OFFSET;
693
+ };
694
+ const isBlockCardRightCursor = (selection) => {
695
+ return selection?.anchor?.offset === FAKE_RIGHT_BLOCK_CARD_OFFSET && selection?.focus?.offset === FAKE_RIGHT_BLOCK_CARD_OFFSET;
696
+ };
691
697
 
692
698
  const anchorBlockEntry = (editor, at) => {
693
699
  if (isBlockCardCursor(editor, at)) {
@@ -1627,6 +1633,8 @@ var index$1 = /*#__PURE__*/Object.freeze({
1627
1633
  isBlockAboveEmpty: isBlockAboveEmpty,
1628
1634
  isBlockActive: isBlockActive,
1629
1635
  isBlockCardCursor: isBlockCardCursor,
1636
+ isBlockCardLeftCursor: isBlockCardLeftCursor,
1637
+ isBlockCardRightCursor: isBlockCardRightCursor,
1630
1638
  isBlockTextEmptyAfterSelection: isBlockTextEmptyAfterSelection,
1631
1639
  isCollapsed: isCollapsed,
1632
1640
  isContainNestedType: isContainNestedType,
@@ -2203,8 +2211,9 @@ const reSelection = (editor) => {
2203
2211
  const isBlockCard = editor.isBlockCard(focusNode);
2204
2212
  if (isBlockCard) {
2205
2213
  const path = Editor.path(editor, focusPath).slice(0, 1);
2214
+ const isBlockCardRightCursor$1 = isBlockCardRightCursor(previousRange.selection);
2206
2215
  Transforms.select(editor, path);
2207
- AngularEditor.moveBlockCardCursor(editor, path, { direction: 'left' });
2216
+ AngularEditor.moveBlockCardCursor(editor, path, { direction: isBlockCardRightCursor$1 ? 'right' : 'left' });
2208
2217
  }
2209
2218
  else {
2210
2219
  Transforms.select(editor, focusPath);
@@ -10337,7 +10346,9 @@ class TheImage extends TheBaseElement {
10337
10346
  thumbUrl,
10338
10347
  originUrl,
10339
10348
  size,
10340
- align: this.imageEntry.align || Alignment.center
10349
+ align: this.imageEntry.align || Alignment.center,
10350
+ originWidth: this.naturalWidth,
10351
+ originHeight: this.naturalHeight
10341
10352
  };
10342
10353
  this.setImageNodes(imageInfo);
10343
10354
  }