!function(e){"object"==typeof module&&"object"==typeof module.exports?e(require,exports):"function"==typeof define&&define.amd&&define(["require","exports","../../Validation","./tools","esri/geometry/geometryEngineAsync"],e)}(function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=e("../../Validation"),i=e("./tools"),o=e("esri/geometry/geometryEngineAsync"),e=(r.prototype.execute=function(e){var t=n.validation.exists("geometry",e.geometry),e=n.validation.exists("extent",e.extent);e&&"polygon"==e.type&&(e=i.extentOf([e]));e=o.clip(t,e);return i.inline(e,function(e){return{geometry:e}})},r.action="gcx:wf:arcgis::ClipEngineTask",r.suite="gcx:wf:builtin",r);function r(){}t.ClipEngineTask=e});