{"version":3,"sources":["webpack:///./node_modules/aws-sdk/lib/dynamodb/set.js","webpack:///./node_modules/aws-sdk/lib/protocol/json.js","webpack:///./node_modules/aws-sdk/lib/util.js","webpack:///./node_modules/aws-sdk/lib/signers/request_signer.js","webpack:///./node_modules/aws-sdk/clients/inspector.js","webpack:///./node_modules/aws-sdk/lib/xml/browser_parser.js","webpack:///./node_modules/jmespath/jmespath.js","webpack:///./node_modules/aws-sdk/lib/model/resource_waiter.js","webpack:///./node_modules/url/url.js","webpack:///./node_modules/aws-sdk/clients/directconnect.js","webpack:///./node_modules/aws-sdk/clients/translate.js","webpack:///./node_modules/aws-sdk/clients/iam.js","webpack:///./node_modules/aws-sdk/lib/signers/v2.js","webpack:///./node_modules/aws-sdk/clients/dynamodbstreams.js","webpack:///./node_modules/uuid/index.js","webpack:///./node_modules/aws-sdk/clients/apigateway.js","webpack:///./node_modules/aws-sdk/vendor/endpoint-cache/index.js","webpack:///./node_modules/aws-sdk/lib/signers/v4_credentials.js","webpack:///./node_modules/aws-sdk/lib/services/iotdata.js","webpack:///./node_modules/aws-sdk/clients/iotanalytics.js","webpack:///./node_modules/aws-sdk/lib/signers/presign.js","webpack:///./src/views/backoffice/collaborator/online/bonus/listPromotionOnline.vue?ee10","webpack:///./src/views/backoffice/collaborator/online/bonus/createPromotion.vue?b9c0","webpack:///./src/views/backoffice/collaborator/online/bonus/generateFields/rules.js","webpack:///./src/views/backoffice/collaborator/online/bonus/generateFields/functioning.js","webpack:///src/views/backoffice/collaborator/online/bonus/createPromotion.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/createPromotion.vue?c4f8","webpack:///./src/views/backoffice/collaborator/online/bonus/createPromotion.vue?e106","webpack:///./src/views/backoffice/collaborator/online/bonus/ConfirmPromotionDelete.vue?b7f9","webpack:///src/views/backoffice/collaborator/online/bonus/ConfirmPromotionDelete.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/ConfirmPromotionDelete.vue?946f","webpack:///./src/views/backoffice/collaborator/online/bonus/ConfirmPromotionDelete.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/UpdatePromotion.vue?5891","webpack:///src/views/backoffice/collaborator/online/bonus/UpdatePromotion.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/UpdatePromotion.vue?e51b","webpack:///./src/views/backoffice/collaborator/online/bonus/UpdatePromotion.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/ViewPromotion.vue?3cb8","webpack:///src/views/backoffice/collaborator/online/bonus/ViewPromotion.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/ViewPromotion.vue?359c","webpack:///./src/views/backoffice/collaborator/online/bonus/ViewPromotion.vue?a371","webpack:///./src/views/backoffice/collaborator/online/bonus/AddPromotionUser.vue?179d","webpack:///src/views/backoffice/collaborator/online/bonus/AddPromotionUser.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/AddPromotionUser.vue?2fd9","webpack:///./src/views/backoffice/collaborator/online/bonus/AddPromotionUser.vue?bc27","webpack:///src/views/backoffice/collaborator/online/bonus/listPromotionOnline.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/listPromotionOnline.vue?977f","webpack:///./src/views/backoffice/collaborator/online/bonus/listPromotionOnline.vue","webpack:///./node_modules/node-libs-browser/node_modules/punycode/punycode.js","webpack:///./node_modules/aws-sdk/clients/elb.js","webpack:///./node_modules/aws-sdk/lib/services/machinelearning.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/aws-sdk/lib/dynamodb/converter.js","webpack:///./node_modules/aws-sdk/clients/browser_default.js","webpack:///./node_modules/aws-sdk/clients/codepipeline.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./node_modules/aws-sdk/clients/kinesis.js","webpack:///../../../src/components/VFileInput/VFileInput.ts","webpack:///./node_modules/aws-sdk/lib/json/builder.js","webpack:///./node_modules/aws-sdk/clients/emr.js","webpack:///../../../src/components/VTextField/index.ts","webpack:///./node_modules/aws-sdk/lib/protocol/rest.js","webpack:///./node_modules/aws-sdk/lib/signers/v4.js","webpack:///./node_modules/util/node_modules/inherits/inherits_browser.js","webpack:///./node_modules/aws-sdk/clients/comprehend.js","webpack:///./node_modules/aws-sdk/clients/forecastservice.js","webpack:///./node_modules/aws-sdk/lib/dynamodb/numberValue.js","webpack:///./node_modules/aws-sdk/lib/services/ec2.js","webpack:///./node_modules/aws-sdk/lib/http/xhr.js","webpack:///./node_modules/aws-sdk/clients/codebuild.js","webpack:///./node_modules/util/util.js","webpack:///./node_modules/aws-sdk/clients/lexruntime.js","webpack:///../../../src/components/VSkeletonLoader/VSkeletonLoader.ts","webpack:///./node_modules/aws-sdk/lib/services/lambda.js","webpack:///./node_modules/aws-sdk/clients/firehose.js","webpack:///./node_modules/aws-sdk/clients/kinesisvideomedia.js","webpack:///./node_modules/aws-sdk/lib/event-stream/buffered-create-event-stream.js","webpack:///./node_modules/url/util.js","webpack:///./node_modules/aws-sdk/lib/signers/v3.js","webpack:///./node_modules/aws-sdk/clients/resourcegroups.js","webpack:///./node_modules/aws-sdk/clients/cloudhsm.js","webpack:///../../../src/components/VTooltip/VTooltip.ts","webpack:///../../../src/mixins/applicationable/index.ts","webpack:///./node_modules/aws-sdk/lib/services/apigateway.js","webpack:///./node_modules/aws-sdk/lib/http.js","webpack:///./node_modules/aws-sdk/clients/configservice.js","webpack:///../../../src/directives/scroll/index.ts","webpack:///../../../src/mixins/scrollable/index.ts","webpack:///../../../src/components/VAppBar/VAppBar.ts","webpack:///./node_modules/aws-sdk/clients/cloudwatchlogs.js","webpack:///./node_modules/aws-sdk/lib/core.js","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///./node_modules/aws-sdk/lib/xml/escape-element.js","webpack:///./node_modules/aws-sdk/lib/browser.js","webpack:///./node_modules/aws-sdk/lib/signers/s3.js","webpack:///./node_modules/aws-sdk/lib/credentials/temporary_credentials.js","webpack:///./node_modules/aws-sdk/clients/mediastoredata.js","webpack:///./src/views/backoffice/collaborator/online/bonus/dialogListAdhesions.vue?758d","webpack:///./node_modules/aws-sdk/clients/xray.js","webpack:///./node_modules/core-js/modules/es.regexp.constructor.js","webpack:///./node_modules/aws-sdk/lib/model/paginator.js","webpack:///./node_modules/aws-sdk/lib/model/collection.js","webpack:///./node_modules/aws-sdk/lib/param_validator.js","webpack:///./node_modules/aws-sdk/clients/personalize.js","webpack:///./node_modules/aws-sdk/lib/services/s3.js","webpack:///./node_modules/aws-sdk/clients/gamelift.js","webpack:///./node_modules/aws-sdk/lib/signers/v3https.js","webpack:///./node_modules/aws-sdk/lib/discover_endpoint.js","webpack:///./node_modules/aws-sdk/lib/services/route53.js","webpack:///./node_modules/aws-sdk/lib/dynamodb/translator.js","webpack:///./node_modules/aws-sdk/lib/credentials/web_identity_credentials.js","webpack:///./node_modules/aws-sdk/clients/devicefarm.js","webpack:///./node_modules/aws-sdk/lib/services/cloudfront.js","webpack:///./node_modules/aws-sdk/clients/waf.js","webpack:///./node_modules/aws-sdk/clients/connect.js","webpack:///./node_modules/aws-sdk/clients/efs.js","webpack:///./node_modules/aws-sdk/clients/cloudfront.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/aws-sdk/lib/api_loader.js","webpack:///./node_modules/aws-sdk/lib/polly/presigner.js","webpack:///./node_modules/aws-sdk/clients/lexmodelbuildingservice.js","webpack:///./node_modules/aws-sdk/lib/config_regional_endpoint.js","webpack:///./node_modules/aws-sdk/lib/xml/xml-node.js","webpack:///./node_modules/aws-sdk/lib/response.js","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///./node_modules/aws-sdk/clients/kinesisvideosignalingchannels.js","webpack:///./node_modules/aws-sdk/clients/route53domains.js","webpack:///./node_modules/aws-sdk/lib/services/rdsutil.js","webpack:///./src/views/backoffice/collaborator/online/bonus/exportPromotionTokens.vue?be0d","webpack:///src/views/backoffice/collaborator/online/bonus/exportPromotionTokens.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/exportPromotionTokens.vue?3094","webpack:///./src/views/backoffice/collaborator/online/bonus/exportPromotionTokens.vue","webpack:///./node_modules/aws-sdk/clients/mobileanalytics.js","webpack:///./node_modules/aws-sdk/clients/iotdata.js","webpack:///./node_modules/aws-sdk/lib/config.js","webpack:///./node_modules/aws-sdk/clients/ecr.js","webpack:///./node_modules/aws-sdk/lib/xml/xml-text.js","webpack:///./node_modules/aws-sdk/clients/rekognition.js","webpack:///./node_modules/aws-sdk/lib/event-stream/parse-event.js","webpack:///./node_modules/aws-sdk/clients/costexplorer.js","webpack:///./node_modules/aws-sdk/clients/route53.js","webpack:///./node_modules/aws-sdk/lib/protocol/rest_xml.js","webpack:///./node_modules/aws-sdk/lib/sequential_executor.js","webpack:///./node_modules/node-libs-browser/node_modules/events/events.js","webpack:///./node_modules/aws-sdk/lib/query/query_param_serializer.js","webpack:///./src/components/common/filters/GroupExport.vue?c817","webpack:///src/components/common/filters/GroupExport.vue","webpack:///./src/components/common/filters/GroupExport.vue?3f19","webpack:///./src/components/common/filters/GroupExport.vue","webpack:///./node_modules/aws-sdk/clients/lexruntimev2.js","webpack:///./node_modules/aws-sdk/clients/opsworks.js","webpack:///./node_modules/aws-sdk/vendor/endpoint-cache/utils/LRU.js","webpack:///./node_modules/aws-sdk/lib/json/parser.js","webpack:///./node_modules/aws-sdk/clients/comprehendmedical.js","webpack:///./node_modules/aws-sdk/lib/request.js","webpack:///./node_modules/aws-sdk/clients/ecs.js","webpack:///./node_modules/aws-sdk/lib/credentials/cognito_identity_credentials.js","webpack:///./node_modules/aws-sdk/lib/service.js","webpack:///./src/views/backoffice/collaborator/online/bonus/dialogListAdhesions.vue?61d7","webpack:///src/views/backoffice/collaborator/online/bonus/dialogListAdhesions.vue","webpack:///./src/views/backoffice/collaborator/online/bonus/dialogListAdhesions.vue?d0f6","webpack:///./src/views/backoffice/collaborator/online/bonus/dialogListAdhesions.vue?c8cf","webpack:///./node_modules/ieee754/index.js","webpack:///./node_modules/querystring-es3/decode.js","webpack:///./node_modules/aws-sdk/clients/cognitoidentityserviceprovider.js","webpack:///./node_modules/aws-sdk/clients/rds.js","webpack:///./node_modules/aws-sdk/clients/cognitoidentity.js","webpack:///./node_modules/aws-sdk/lib/protocol/helpers.js","webpack:///./node_modules/aws-sdk/clients/redshift.js","webpack:///./node_modules/aws-sdk/clients/lambda.js","webpack:///./node_modules/aws-sdk/clients/secretsmanager.js","webpack:///./node_modules/aws-sdk/clients/ssm.js","webpack:///./node_modules/aws-sdk/clients/polly.js","webpack:///./node_modules/aws-sdk/lib/services/sqs.js","webpack:///./node_modules/aws-sdk/lib/browser_loader.js","webpack:///./src/components/common/header-print/index.vue?8851","webpack:///./src/components/common/header-print/index.vue","webpack:///./node_modules/aws-sdk/lib/event-stream/split-message.js","webpack:///./node_modules/aws-sdk/lib/xml/escape-attribute.js","webpack:///./node_modules/aws-sdk/clients/servicecatalog.js","webpack:///./node_modules/aws-sdk/clients/personalizeevents.js","webpack:///./node_modules/aws-sdk/clients/dynamodb.js","webpack:///./node_modules/aws-sdk/lib/model/shape.js","webpack:///./src/views/backoffice/collaborator/online/bonus/createPromotion.vue?7418","webpack:///./node_modules/aws-sdk/lib/event-stream/int64.js","webpack:///./node_modules/aws-sdk/lib/browserHashUtils.js","webpack:///./src/views/backoffice/collaborator/online/bonus/AddPromotionUser.vue?3786","webpack:///./node_modules/aws-sdk/lib/services/polly.js","webpack:///./node_modules/aws-sdk/clients/machinelearning.js","webpack:///./node_modules/aws-sdk/clients/codecommit.js","webpack:///../../../src/components/VGrid/grid.ts","webpack:///../../../src/components/VGrid/VContainer.ts","webpack:///../../../src/mixins/button-group/index.ts","webpack:///../../../src/components/VBtnToggle/VBtnToggle.ts","webpack:///./node_modules/aws-sdk/clients/cloudtrail.js","webpack:///./node_modules/aws-sdk/lib/resource_waiter.js","webpack:///./node_modules/aws-sdk/clients/cognitosync.js","webpack:///./node_modules/aws-sdk/clients/autoscaling.js","webpack:///./node_modules/aws-sdk/lib/s3/managed_upload.js","webpack:///./node_modules/aws-sdk/lib/services/dynamodb.js","webpack:///./node_modules/aws-sdk/clients/storagegateway.js","webpack:///./node_modules/querystring-es3/index.js","webpack:///./node_modules/aws-sdk/lib/credentials/chainable_temporary_credentials.js","webpack:///./node_modules/aws-sdk/clients/personalizeruntime.js","webpack:///./node_modules/aws-sdk/clients/s3.js","webpack:///./node_modules/buffer/index.js","webpack:///../../../src/components/VSwitch/VSwitch.ts","webpack:///./node_modules/aws-sdk/clients/elbv2.js","webpack:///./node_modules/aws-sdk/lib/event_listeners.js","webpack:///./node_modules/aws-sdk/clients/cloudformation.js","webpack:///./node_modules/aws-sdk/lib/credentials/credential_provider_chain.js","webpack:///./node_modules/aws-sdk/clients/acm.js","webpack:///./node_modules/aws-sdk/lib/credentials/saml_credentials.js","webpack:///./node_modules/aws-sdk/clients/kinesisvideoarchivedmedia.js","webpack:///./node_modules/aws-sdk/clients/sns.js","webpack:///./node_modules/aws-sdk/clients/mturk.js","webpack:///./node_modules/aws-sdk/lib/rds/signer.js","webpack:///./node_modules/aws-sdk/lib/xml/builder.js","webpack:///./node_modules/aws-sdk/clients/cloudwatch.js","webpack:///./node_modules/aws-sdk/lib/browserSha1.js","webpack:///./node_modules/uuid/v1.js","webpack:///./node_modules/aws-sdk/clients/forecastqueryservice.js","webpack:///./src/util/validate.js","webpack:///./node_modules/aws-sdk/lib/browserMd5.js","webpack:///./node_modules/uuid/v4.js","webpack:///./node_modules/aws-sdk/lib/services/sts.js","webpack:///../../../src/components/VAutocomplete/VAutocomplete.ts","webpack:///./node_modules/aws-sdk/lib/browserSha256.js","webpack:///./node_modules/aws-sdk/lib/services/s3util.js","webpack:///./node_modules/aws-sdk/lib/protocol/query.js","webpack:///./node_modules/aws-sdk/clients/pricing.js","webpack:///./node_modules/aws-sdk/clients/workdocs.js","webpack:///./node_modules/aws-sdk/lib/cloudfront/signer.js","webpack:///./node_modules/aws-sdk/clients/cloudwatchevents.js","webpack:///./node_modules/aws-sdk/clients/kms.js","webpack:///./node_modules/util/support/isBufferBrowser.js","webpack:///./node_modules/aws-sdk/clients/kinesisvideo.js","webpack:///./node_modules/aws-sdk/lib/model/operation.js","webpack:///./node_modules/aws-sdk/lib/realclock/browserClock.js","webpack:///./node_modules/aws-sdk/clients/iot.js","webpack:///./node_modules/aws-sdk/clients/applicationautoscaling.js","webpack:///./node_modules/aws-sdk/lib/region_config.js","webpack:///./node_modules/aws-sdk/lib/dynamodb/document_client.js","webpack:///./node_modules/querystring-es3/encode.js","webpack:///./node_modules/aws-sdk/lib/dynamodb/types.js","webpack:///./node_modules/aws-sdk/clients/ec2.js","webpack:///./node_modules/aws-sdk/lib/event-stream/parse-message.js","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/aws-sdk/clients/elastictranscoder.js","webpack:///./node_modules/aws-sdk/clients/cur.js","webpack:///./node_modules/aws-sdk/lib/browserCryptoLib.js","webpack:///./node_modules/isarray/index.js","webpack:///./node_modules/aws-sdk/clients/marketplacecommerceanalytics.js","webpack:///./node_modules/aws-sdk/lib/services/rds.js","webpack:///./node_modules/aws-sdk/lib/model/api.js","webpack:///./node_modules/aws-sdk/lib/event-stream/event-message-chunker.js","webpack:///./node_modules/aws-sdk/clients/codedeploy.js","webpack:///./node_modules/aws-sdk/clients/sts.js","webpack:///./node_modules/aws-sdk/lib/credentials.js","webpack:///./node_modules/aws-sdk/clients/sqs.js","webpack:///./node_modules/aws-sdk/lib/state_machine.js","webpack:///./node_modules/aws-sdk/lib/protocol/rest_json.js","webpack:///./src/views/backoffice/collaborator/online/bonus/ViewPromotion.vue?f567","webpack:///./node_modules/aws-sdk/clients/elasticache.js","webpack:///./node_modules/aws-sdk/clients/elasticbeanstalk.js","webpack:///./node_modules/aws-sdk/lib/browserHmac.js","webpack:///./node_modules/aws-sdk/clients/ses.js"],"names":["util","typeOf","memberTypeToSetType","DynamoDBSet","inherit","constructor","list","options","this","wrapperName","initialize","validate","self","values","concat","detectType","type","error","Error","code","message","length","i","toJSON","module","exports","JsonBuilder","JsonParser","populateHostPrefix","buildRequest","req","httpRequest","api","service","target","targetPrefix","operations","operation","name","version","jsonVersion","input","builder","body","build","params","headers","extractError","resp","httpResponse","split","e","JSON","parse","toString","__type","Code","pop","Message","statusCode","statusMessage","extractData","request","config","convertResponseTypes","data","shape","output","parser","AWS","environment","engine","isBrowser","navigator","userAgent","process","platform","AWS_EXECUTION_ENV","agent","VERSION","uriEscape","string","encodeURIComponent","replace","escape","ch","charCodeAt","toUpperCase","uriEscapePath","parts","arrayEach","part","push","join","urlParse","url","urlFormat","format","queryStringParse","qs","querystring","queryParamsToString","items","sortedKeys","Object","keys","sort","value","ename","result","Array","isArray","vals","item","undefined","readFileSync","path","base64","encode","buf","buffer","toBuffer","decode","encoding","Buffer","from","Uint8Array","alloc","size","fill","toStream","isBuffer","readable","stream","pos","_read","end","slice","buffers","offset","copy","byteLength","lstatSync","object","upperFirst","substr","lowerFirst","toLowerCase","ini","currentSection","map","line","section","match","fn","noop","callback","err","makeAsync","expectedArgs","args","prototype","call","arguments","apply","date","getDate","systemClockOffset","Date","getTime","iso8601","toISOString","rfc822","toUTCString","unixTimestamp","formatter","parseTimestamp","crypto","crc32Table","crc32","tbl","crc","readUInt8","hmac","key","digest","lib","createHmac","update","md5","hash","sha256","algorithm","createHash","sliceFn","arraySliceFn","ArrayBuffer","on","chunk","FileReader","out","index","reader","onerror","onload","_continueReading","back","readAsArrayBuffer","toHex","abort","each","iterFunction","hasOwnProperty","ret","array","idx","parseInt","obj1","obj2","merge","dupe","isEmpty","obj","prop","webkitSlice","mozSlice","isType","typeName","str","originalError","stack","defineProperty","writable","enumerable","String","time","klass","features","newObject","ctor","__super__","mixin","hideProperties","props","configurable","property","isValue","opts","get","memoizedProperty","cachedValue","hoistPayloadMember","operationName","payload","hasEventOutput","payloadMember","members","responsePayload","computeSha256","done","isNode","Stream","fs","settings","start","createReadStream","sha","isClockSkewed","serverTime","Math","abs","applyClockOffset","extractRequestId","requestId","ResponseMetadata","RequestId","addPromises","constructors","PromiseDependency","deletePromises","getPromisesDependency","Promise","ind","deletePromisesFromClass","addPromisesToClass","promisifyMethod","methodName","resolve","reject","isDualstackAvailable","metadata","serviceIdentifier","dualstackAvailable","calculateRetryDelay","retryCount","retryDelayOptions","customBackoff","base","delay","random","pow","handleRequestWithRetries","cb","http","HttpClient","getInstance","httpOptions","errCallback","maxRetries","retryable","setTimeout","sendRequest","retryAfter","handleRequest","defer","uuid","v4","convertPayloadToString","rules","nextTick","setImmediate","getRequestPayloadShape","getProfilesFromSharedConfig","iniLoader","filename","profiles","profilesFromConfig","configOptInEnv","loadFrom","isConfig","sharedConfigFileEnv","profilesFromCreds","sharedCredentialsFileEnv","profileNames","objectAssign","source","ARN","indexOf","arn","matched","partition","region","accountId","resource","arnObject","defaultProfile","imdsDisabledEnv","Signers","RequestSigner","setServiceClientId","id","serviceClientId","getServiceClientId","getVersion","V2","V3","V4","S3","V3Https","Service","apiLoader","services","Inspector","defineService","model","paginators","pagination","Shape","DomXmlParser","getElementByTagName","xml","tag","elements","getElementsByTagName","iLen","parentNode","parseXml","parseStructure","parseMap","parseList","parseUnknown","parseScalar","memberName","memberShape","isXmlAttribute","attributes","textContent","xmlChild","flattened","xmlNoDefaultLists","defaultValue","xmlKey","xmlValue","tagName","child","firstElementChild","nodeName","nextElementSibling","member","getAttribute","create","text","toType","childNodes","window","DOMParser","parseFromString","syntaxError","documentElement","isError","errorElement","ActiveXObject","async","loadXML","isObject","strictDeepEqual","first","second","firstType","keysSeen","key2","isFalse","objValues","trimLeft","TYPE_NUMBER","TYPE_ANY","TYPE_STRING","TYPE_ARRAY","TYPE_OBJECT","TYPE_BOOLEAN","TYPE_EXPREF","TYPE_NULL","TYPE_ARRAY_NUMBER","TYPE_ARRAY_STRING","TOK_EOF","TOK_UNQUOTEDIDENTIFIER","TOK_QUOTEDIDENTIFIER","TOK_RBRACKET","TOK_RPAREN","TOK_COMMA","TOK_COLON","TOK_RBRACE","TOK_NUMBER","TOK_CURRENT","TOK_EXPREF","TOK_PIPE","TOK_OR","TOK_AND","TOK_EQ","TOK_GT","TOK_LT","TOK_GTE","TOK_LTE","TOK_NE","TOK_FLATTEN","TOK_STAR","TOK_FILTER","TOK_DOT","TOK_NOT","TOK_LBRACE","TOK_LBRACKET","TOK_LPAREN","TOK_LITERAL","basicTokens","operatorStartToken","skipChars","isAlpha","isNum","isAlphaNum","Lexer","tokenize","identifier","token","tokens","_current","_consumeUnquotedIdentifier","_consumeNumber","_consumeLBracket","_consumeQuotedIdentifier","_consumeRawStringLiteral","literal","_consumeLiteral","_consumeOperator","maxLength","current","startingChar","literalString","_looksLikeJSON","startingChars","jsonLiterals","numberLooking","ex","bindingPower","Parser","TreeInterpreter","runtime","Runtime","interpreter","_interpreter","functionTable","_func","_functionAbs","_signature","types","avg","_functionAvg","ceil","_functionCeil","contains","_functionContains","_functionEndsWith","floor","_functionFloor","_functionLength","_functionMap","max","_functionMax","_functionMerge","variadic","_functionMaxBy","sum","_functionSum","_functionStartsWith","min","_functionMin","_functionMinBy","_functionType","_functionKeys","_functionValues","_functionSort","_functionSortBy","_functionJoin","reverse","_functionReverse","_functionToArray","_functionToString","_functionToNumber","_functionNotNull","compile","ast","lexer","search","expression","node","_loadTokens","_lookahead","t","_lookaheadToken","rbp","leftToken","_advance","left","nud","currentToken","led","number","right","Not","children","_parseProjectionRHS","Star","_parseMultiselectHash","Flatten","_parseIndexExpression","_projectIfSlice","_parseMultiselectList","Expref","_match","_errorToken","tokenName","Dot","_parseDotRHS","Pipe","Or","And","condition","Filter","leftNode","rightNode","_parseComparator","tokenType","_parseSliceExpression","indexExpr","comparator","lookahead","exprTokens","expressions","keyToken","keyName","pairs","identifierTypes","visit","field","collected","sliceParams","computed","computeSliceParams","stop","step","filtered","finalResults","j","original","merged","resolvedArgs","callFunction","refNode","jmespathType","arrayLength","stepValueNegative","capSliceRange","actualValue","functionEntry","_validateArgs","signature","pluralized","currentSpec","actualType","typeMatched","_getTypeName","_typeMatches","actual","expected","argValue","subtype","lastIndexOf","searchStr","suffix","originalStr","reversedStr","reversedArray","inputArray","mapped","exprefNode","maxElement","localeCompare","minElement","listToSum","joinChar","listJoin","stringify","convertedValue","isNaN","sortedArray","requiredType","that","decorated","a","b","exprA","exprB","maxRecord","resolvedArray","keyFunction","createKeyFunction","maxNumber","Infinity","minRecord","minNumber","allowedTypes","keyFunc","x","msg","ResourceWaiter","waiter","forEach","punycode","Url","protocol","slashes","auth","host","port","hostname","query","pathname","href","urlResolve","resolveObject","urlResolveObject","protocolPattern","portPattern","simplePathPattern","delims","unwise","autoEscape","nonHostChars","hostEndingChars","hostnameMaxLen","hostnamePartPattern","hostnamePartStart","unsafeProtocol","hostlessProtocol","slashedProtocol","parseQueryString","slashesDenoteHost","u","isString","relative","TypeError","queryIndex","splitter","uSplit","slashRegex","rest","trim","simplePath","exec","proto","lowerProto","atSign","hostEnd","hec","decodeURIComponent","parseHost","ipv6Hostname","hostparts","l","newpart","k","validParts","notHost","bit","unshift","toASCII","p","h","ae","esc","qm","s","charAt","rel","tkeys","tk","tkey","rkeys","rk","rkey","v","relPath","shift","isSourceAbs","isRelAbs","mustEndAbs","removeAllDots","srcPath","psychotic","isNullOrUndefined","authInHost","isNull","last","hasTrailingSlash","up","splice","isAbsolute","DirectConnect","Translate","IAM","waiters","addAuthorization","credentials","r","Timestamp","SignatureVersion","SignatureMethod","AWSAccessKeyId","accessKeyId","sessionToken","SecurityToken","Signature","secretAccessKey","stringToSign","method","endpoint","DynamoDBStreams","v1","APIGateway","LRU_1","CACHE_SIZE","EndpointCache","maxSize","cache","LRUCache","put","keyString","getKeyString","endpointRecord","populateValue","now","records","record","Expire","remove","identifiers","identifierNames","identifierName","endpoints","Address","CachePeriodInMinutes","empty","cachedSecret","cacheQueue","maxCacheEntries","v4Identifier","createScope","serviceName","getSigningKey","shouldCache","credsIdentifier","cacheKey","kDate","kRegion","kService","signingKey","emptyCache","blobPayloadOutputOps","IotData","validateService","setupRequestListeners","addListener","validateResponseBody","bodyCheck","IoTAnalytics","expiresHeader","signedUrlBuilder","expires","signerClass","getSignerClass","getSkewCorrectedDate","signedUrlSigner","parsedUrl","queryParams","Presign","sign","expireTime","removeListener","EventListeners","Core","SET_CONTENT_LENGTH","COMPUTE_SHA256","emit","response","render","_vm","_h","$createElement","_c","_self","attrs","staticClass","class","$vuetify","breakpoint","smAndDown","$event","$printReport","_v","_s","$t","promotionAdded","_e","staticStyle","$$v","loadingPromotions","scopedSlots","_u","ref","$copy","id_promo","id_afiliado","name_affiliate","date_inicial","date_final","statusUI","status","statusValue","days_expiration","type_promo","code_promo","hasHideOption","hide","header","_g","_b","title","bonus_total_resgatado","assign","isReallyActive","listPromotions","slot","staticRenderFns","$permission","openDialog","dialog","valid","closeDialog","required","typePromotion","noSpacesAreAllowed","negativeNo","maxQuantityTokens","proxy","quantityTokens","isPromotionTypeDeposit","isPromotionTypeRegisterOrAffiliate","max20","noSpecialCharactersAllowed","imageConfirmed","promotionCode","affiliates","isLoading","selectAffiliate","promotion_title","promotion_description","computedDateFormattedStart","menuStart","dateGetTimezoneOffset","dateStart","directives","rawName","hideDetailsStart","errorTimeStart","timeStart","computedDateFormattedFinal","menuFinal","dateFinal","hideDetailsFinal","errorTimeFinal","timeFinal","bonus_value","bonus_max_value","transfer_max_value","deposito_min_value","rollover_x_value","daysToExpire","stake_min_value","multi_min_value","multi_max_value","hidePromotion","updateMessage","image","loadingPreview","passSizeTest","imageSelected","preventDefault","loadImage","onFileChange","mobile","style","loading","fileNotAllowed","cachedImageKey","addImage","deleteImage","addPromotion","operator_name","tipo","data_final","toLocaleString","codigo","parseFloat","deposito_min","toFixed","bonus","bonus_max","rollover_x","transfer_max","stake_min","multi_min","multi_max","dias_expiracao","affiliateName","functioning","bucketName","bucketRegion","domain","localStorage","getItem","creds","s3","apiVersion","isPromotionToken","shouldHidePromotion","$operator","formatDate","$store","state","showDialog","getTimezoneOffset","computedImageKey","imgList","imageKey","mounted","watch","val","container","goTo","timeValidated","test","search_agent_items","sigla","term","search_agent_isLoading","getAffiliateList","file","allowedMimes","includes","document","getElementById","commit","color","MAX_IMAGE_SIZE","methods","$refs","click","form","qtd_tokens","data_inicio","titulo","descricao","regras","funcionamento","$axios","reset","imageLoaded","resetValidation","moment","errorTime","hideDetails","files","src","element","height","width","MAX_IMAGE_HEIGHT","MAX_IMAGE_WIDTH","_this","readAsDataURL","ext","timeStamp","domainImageKey","newImageKey","upload","Bucket","Key","Body","ACL","promise","then","listImages","param","carousel","Prefix","listObjects","deleteObject","alert","fileImage","component","VAutocomplete","VBtn","VCard","VCardActions","VCardText","VCol","VDatePicker","VDialog","VFileInput","VForm","VIcon","VImg","VMenu","VRow","VSelect","VSkeletonLoader","VSpacer","VSubheader","VSwitch","VTextField","VToolbar","VToolbarTitle","promotion","transformTypePromo","confirm","afiliado","cadastro","deposito","updatePromotion","validForm","newPromotion","$set","currentImage","operatorUrl","oldImage","disableSave","description","setCurrentImage","imageName","imageUrl","VTooltip","promotionImage","ransomed","not_ransomed","affiliate","isPromotionTypeToken","created","setPromotionImage","Contents","VProgressLinear","titlePromo","oldTitlePromo","searchUserItems","searchUserIsLoading","searchSync","filter","setUserId","clearable","searchSelectedUser","userId","isDeposit","searchDepositIsLoading","listDepositsUser","noDepositsText","selectedDeposit","deposit_id","getColor","value_consolidated","id_user","domProps","addPromotionUser","setFeedbackSnack","player","$request","post","getListDeposits","statusOperationUI","1","2","3","4","removeAccents","A","E","I","o","O","U","c","C","n","N","regex","letter","substring","getPlayersSearch","VCardTitle","VDataTable","VRadio","VRadioGroup","components","HeaderPrint","CreatePromotion","DialogListAdhesions","ConfirmPromotionDelete","UpdatePromotion","ViewPromotion","AddPromotionUser","ExportPromotionTokens","refreshPromotions","filters","selectStatus","beforeCreate","$router","typeUI","0","promotionType","VBtnToggle","VChip","VDivider","root","nodeType","freeGlobal","global","maxInt","tMin","tMax","skew","damp","initialBias","initialN","delimiter","regexPunycode","regexNonASCII","regexSeparators","errors","baseMinusTMin","stringFromCharCode","fromCharCode","RangeError","mapDomain","labels","encoded","ucs2decode","extra","counter","ucs2encode","basicToDigit","codePoint","digitToBasic","digit","flag","adapt","delta","numPoints","firstTime","basic","oldi","w","baseMinusT","inputLength","bias","handledCPCount","basicLength","m","q","currentValue","handledCPCountPlusOne","qMinusT","toUnicode","ELB","MachineLearning","buildEndpoint","PredictEndpoint","Endpoint","toByteArray","fromByteArray","lookup","revLookup","Arr","len","getLens","b64","validLen","placeHoldersLen","lens","_byteLength","tmp","arr","curByte","tripletToBase64","num","encodeChunk","uint8","extraBytes","maxChunkLength","len2","NumberValue","formatList","L","DynamoDB","Converter","convertNumber","wrapNumbers","Number","formatMap","M","formatted","formatSet","convertEmptyValues","filterEmptySetValues","set","nonEmptyValues","potentiallyEmptyTypes","Binary","convertInput","S","B","BOOL","NULL","marshall","convertOutput","unmarshall","ACM","ApplicationAutoScaling","AutoScaling","CloudFormation","CloudFront","CloudHSM","CloudTrail","CloudWatch","CloudWatchEvents","CloudWatchLogs","CodeBuild","CodeCommit","CodeDeploy","CodePipeline","CognitoIdentity","CognitoIdentityServiceProvider","CognitoSync","ConfigService","CUR","DeviceFarm","EC2","ECR","ECS","EFS","ElastiCache","ElasticBeanstalk","ELBv2","EMR","ElasticTranscoder","Firehose","GameLift","Iot","Kinesis","KMS","Lambda","LexRuntime","MarketplaceCommerceAnalytics","MTurk","MobileAnalytics","OpsWorks","Polly","RDS","Redshift","Rekognition","Route53","Route53Domains","ServiceCatalog","SES","SNS","SQS","SSM","StorageGateway","STS","XRay","WAF","WorkDocs","LexModelBuildingService","Pricing","CostExplorer","MediaStoreData","Comprehend","KinesisVideoArchivedMedia","KinesisVideoMedia","KinesisVideo","ResourceGroups","Connect","SecretsManager","ComprehendMedical","Personalize","PersonalizeEvents","PersonalizeRuntime","ForecastService","ForecastQueryService","KinesisVideoSignalingChannels","LexRuntimeV2","byteToHex","bytesToUuid","bth","event","chips","default","counterSizeString","counterString","hideInput","placeholder","prependIcon","readonly","showSize","Boolean","validator","smallChips","truncateLength","classes","computedCounterValue","fileCount","isMultiple","lazyValue","lang","bytes","internalArrayValue","reduce","internalValue","isDirty","isLabelActive","$attrs","truncatedText","hasChips","handler","immediate","clearableCallback","genChips","small","genControl","display","genInput","genPrependSlot","icon","genIcon","genSlot","genSelectionText","genSelections","$scopedSlots","selection","genTextFieldSlot","onInput","onKeyDown","truncateText","charsKeepOneSide","translate","translateStructure","translateMap","translateList","translateScalar","structure","struct","location","locationName","isLocationName","toWireFormat","populateMethod","httpMethod","generateURI","endpointPath","operationPath","uri","queryString","queryStringSet","paramValue","RegExp","_","plus","populateURI","httpPath","populateHeaders","memberValue","isJsonValue","pattern","v4Credentials","signatureCache","signatureVersion","datetime","isPresigned","updateForPresigned","addHeaders","authorization","credString","credentialString","signedHeaders","isSignableHeader","lowerKey","sep","hexEncodedHash","canonicalString","canonicalHeaders","hexEncodedBodyHash","canonicalHeaderValues","unsignableHeaders","superCtor","super_","TempCtor","DynamoDBNumberValue","toNumber","Query","EXTRACT_ERROR","onAsync","buildCopySnapshotPresignedUrl","PresignedUrl","_subRequest","DestinationRegion","SourceRegion","svc","newReq","presign","XML","Errors","RequestID","EventEmitter","XHRClient","emitter","xhr","XMLHttpRequest","headersEmitted","addEventListener","readyState","HEADERS_RECEIVED","parseHeaders","getAllResponseHeaders","statusText","DONE","finishRequest","evt","open","xhrAsync","setRequestHeader","timeout","xhrWithCredentials","withCredentials","responseType","send","rawHeaders","ab","view","responseText","streamsApiVersion","getOwnPropertyDescriptors","descriptors","getOwnPropertyDescriptor","formatRegExp","f","objects","inspect","deprecate","noDeprecation","warned","deprecated","throwDeprecation","traceDeprecation","console","trace","debugEnviron","debugs","ctx","seen","stylize","stylizeNoColor","depth","colors","isBoolean","showHidden","_extend","isUndefined","customInspect","stylizeWithColor","formatValue","styleType","styles","arrayToHash","recurseTimes","isFunction","primitive","formatPrimitive","visibleKeys","getOwnPropertyNames","formatError","isRegExp","isDate","braces","formatArray","formatProperty","reduceToSingleString","simple","isNumber","desc","prev","cur","numLinesEst","ar","arg","isSymbol","re","objectToString","d","isPrimitive","pad","debuglog","NODE_DEBUG","pid","months","timestamp","getHours","getMinutes","getSeconds","getMonth","log","inherits","origin","add","kCustomPromisifiedSymbol","Symbol","callbackifyOnRejected","reason","newReason","callbackify","callbackified","maybeCb","rej","setPrototypeOf","getPrototypeOf","defineProperties","promisify","promiseResolve","promiseReject","custom","boilerplate","tile","transition","role","elevationClasses","rootTypes","actions","article","avatar","button","card","chip","heading","paragraph","sentences","table","genBone","genBones","bone","generator","genStructure","mapBones","genSkeleton","afterEnter","beforeEnter","beforeLeave","leaveCancelled","resetStyles","bones","onBeforeEnter","el","onBeforeLeave","eventMessageChunker","parseEvent","createEventStream","eventMessages","events","headersToSign","closeDelay","disabled","fixed","openDelay","openOnHover","calculatedMinWidth","closeDependents","calculatedLeft","content","unknown","activatorLeft","attach","activator","top","calcXOverflow","dimensions","calculatedTop","activatorTop","bottom","calcYOverflow","computedTransition","isActive","offsetY","offsetX","maxWidth","minWidth","opacity","zIndex","activeZIndex","beforeMount","activate","requestAnimationFrame","deactivate","genActivatorListeners","listeners","genTransition","genContent","setBackgroundColor","activatorFixed","isContentActive","showLazyContent","app","applicationProperty","removeApplication","activated","deactivated","destroyed","callUpdate","force","updateApplication","setAcceptHeader","Accept","exportType","useSSL","sslEnabled","HttpRequest","_userAgent","setUserAgent","getUserAgentHeaderName","prefix","appendToUserAgent","agentPartial","getUserAgent","updateEndpoint","endpointStr","newEndpoint","HttpResponse","streaming","createUnbufferedStream","singleton","inserted","binding","passive","unbind","Scroll","scrollTarget","scrollThreshold","currentScroll","currentThreshold","isScrollingUp","previousScroll","savedScroll","canScroll","computedScrollThreshold","onScroll","thresholdMet","baseMixins","mixins","clippedLeft","clippedRight","collapseOnScroll","elevateOnScroll","fadeImgOnScroll","hideOnScroll","invertedScroll","scrollOffScreen","shrinkOnScroll","collapse","computedContentHeight","dense","difference","iteration","computedFontSize","increment","computedLeft","application","computedMarginTop","computedOpacity","computedOriginalHeight","computedRight","computedTransform","hideShadow","isCollapsed","isProminent","fontSize","marginTop","transform","genBackground","computedHeight","_hidden","Protocol","Json","Rest","RestJson","RestXml","Builder","Model","Api","Operation","Paginator","SequentialExecutor","endpointCacheSize","provide","radioGroup","column","row","genDefaultSlot","computedId","genInputSlot","genLabel","label","onClick","escapeElement","subResources","responseHeaders","canonicalizedAmzHeaders","canonicalizedResource","amzHeaders","virtualHostedBucket","resources","subresource","res","secret","TemporaryCredentials","Credentials","masterCredentials","loadMasterCredentials","expired","RoleArn","RoleSessionName","refresh","coalesceRefresh","load","createClients","assumeRole","getSessionToken","credentialsFrom","DESCRIPTORS","isForced","inheritIfRequired","getFlags","stickyHelpers","redefine","fails","setInternalState","setSpecies","wellKnownSymbol","MATCH","NativeRegExp","RegExpPrototype","re1","re2","CORRECT_NEW","UNSUPPORTED_Y","FORCED","RegExpWrapper","flags","sticky","thisIsRegExp","patternIsRegExp","flagsAreUndefined","it","paginator","input_token","limit_key","more_results","output_token","result_key","memoize","factory","nameTr","Collection","iterable","ParamValidator","validation","context","validateMember","fail","validateStructure","paramName","validateType","memberContext","validateList","validateMap","validateScalar","validateRange","mapCount","validateString","validatePayload","validateNumber","validTypes","validateEnum","validatePattern","validateUri","descriptor","acceptedTypes","foundInvalidType","acceptedType","vowel","castedValue","Blob","resolveRegionalEndpointsFlag","s3util","regionUtil","operationsWith200StatusCodeError","regionRedirectErrorCodes","OBJECT_LAMBDA_SERVICE","getSignatureVersion","defaultApiVersion","userDefinedVersion","_originalConfig","regionDefinedVersion","getSigningName","_super","_parsedArn","messages","s3BucketEndpoint","shouldDisableBodySigning","s3DisableBodySigning","prependListener","validateScheme","validateBucketName","optInUsEast1RegionalEndpoint","VALIDATE_REGION","addContentType","computeContentMd5","computeSseCustomerKeyMd5","addExpect100Continue","extractErrorFrom200Response","prepareSignedUrl","disableBodySigning","isArnInParam","validateS3AccessPointArn","validateArnResourceType","validateOutpostsAccessPointArn","validateOutpostsArn","validateArnRegion","validateArnAccount","validateArnService","populateUriFromAccessPointArn","validatePopulateUriFromArn","validateBucketEndpoint","correctBucketRegionFromCache","requestBucketRegion","reqRegionForNetworkingError","scheme","sensitive","SSECustomerKey","CopySourceSSECustomerKey","bucket","slashIndex","isValidAccelerateOperation","invalidOperations","s3UsEast1RegionalEndpoint","env","sharedConfig","clientConfig","insertPoint","regionalEndpoint","pathStyleBucketName","useAccelerateEndpoint","useDualstack","removeVirtualHostedBucketFromPath","encodedS3Key","accessPointArn","isOutpostArn","isObjectLambdaArn","outpostsSuffix","outpostId","dualStackSuffix","dnsSuffix","getEndpointSuffix","useArnRegion","s3UseArnRegion","accessPoint","accesspointName","encodedArn","contentType","replaceFn","charsetName","charset","computableChecksumOperations","putBucketCors","putBucketLifecycle","putBucketLifecycleConfiguration","putBucketTagging","deleteObjects","putBucketReplication","putObjectLegalHold","putObjectRetention","putObjectLockConfiguration","willComputeChecksums","computeChecksums","ContentMD5","s3ForcePathStyle","dnsCompatibleBucketName","retryableError","_requestRegionForBucket","bucketRegionCache","updateReqBucketRegion","s3Config","newConfig","Host","_asm","currentState","LocationConstraint","createBucketConfiguration","CreateBucketConfiguration","clearBucketRegionCache","extractRequestIds","cachedRegion","codes","304","403","400","404","Region","reqOperation","reqParams","MaxKeys","regionReq","getRegionReq","buckets","requestRegion","extendedRequestId","cfId","getSignedUrl","Expires","makeRequest","createPresignedPost","boundParams","finalizePost","fields","preparePostFields","Fields","Conditions","getCredentials","conditions","expiresInSeconds","signingDate","shortDate","scope","credential","Policy","preparePostPolicy","valueOf","expiration","noPresignedContentLength","ContentLength","createBucket","copiedParams","globalEndpoint","writeGetObjectResponse","uploader","ManagedUpload","getSignedUrlPromise","endpointDiscoveryEnabledEnvs","getCacheKey","serviceId","marshallCustomIdentifiersHelper","endpointDiscoveryId","marshallCustomIdentifiers","optionalDiscoverEndpoint","operationModel","inputShape","endpointCache","endpointRequest","endpointOperation","Identifiers","addApiVersionHeader","VALIDATE_PARAMETERS","RETRY_CHECK","Endpoints","requestQueue","requiredDiscoverEndpoint","cacheKeyStr","pendingRequests","requestContext","invalidateCachedEndpoints","hasCustomEndpoint","client","endpointDiscoveryEnabled","svcConfig","isFalsy","resolveEndpointDiscoveryConfig","configFile","sharedFileConfig","AWS_PROFILE","endpoint_discovery_enabled","discoverEndpoint","isEndpointDiscoveryRequired","endpointDiscoveryRequired","isEnabled","hasRequiredEndpointDiscovery","addNamedListener","className","invalidateCachedEndpoint","sanitizeUrl","convert","Translator","attrValue","translateInput","mode","translateOutput","WebIdentityCredentials","_clientConfig","assumeRoleWithWebIdentity","stsConfig","webpackPolyfill","paths","Presigner","bindServiceObject","_operations","modifyInputMembers","modifiedInput","convertPostToGet","getSynthesizeSpeechUrl","removeAllListeners","validateRegionalEndpointsFlagValue","configValue","errorOptions","originalConfig","resolved","envFlag","profile","fileFlag","escapeAttribute","XmlNode","addAttribute","addChildNode","removeAttribute","hasChildren","xmlText","attributeNames","attributeName","attribute","jmespath","Response","redirectCount","numRetries","maxRedirects","nextPage","paginationConfig","hasNextPage","nextPageTokens","inputTokens","inputToken","cacheNextPageTokens","moreResults","exprs","outputToken","expr","inheritAttrs","offIcon","onIcon","isFocused","groupClasses","computedColor","computedIcon","hasLabel","hasState","isDisabled","isReadonly","computedName","rippleState","validationState","for","focused","genRadio","setTextColor","attrs$","genRipple","onFocus","onBlur","onChange","onKeydown","rdsutil","crossRegionOperations","PreSignedUrl","doesParamValidation","paramValidation","buildCrossRegionPresignedUrl","destinationRegion","pushRouteName","dataInicio","dataFinal","exportOptions","listAndExportTokens","exportDoc","tokensInfos","date_use","id_usuario","nome","email","GroupExport","groupExport","go","VContainer","PromisesDependency","Config","extractCredentials","finish","credError","getAsyncCredentials","getStaticCredentials","credentialProvider","allowUnknownKeys","hasService","loadFromPath","clear","fileSystemCreds","FileSystemCredentials","chain","CredentialProviderChain","providers","logger","apiVersions","correctClockSkew","customUserAgent","dynamoDbCrc32","clientSideMonitoring","hostPrefixEnabled","stsRegionalEndpoints","setPromisesDependency","dep","Request","XmlText","parseMessage","parsedMessage","messageType","parseError","eventType","eventModel","eventPayloadMemberName","payloadShape","eventHeaderNames","eventHeaderMemberNames","errorCode","errorMessage","populateBody","rootElement","toXML","isEventStream","isStreaming","_events","eventName","listener","toHead","_isAsync","position","eventArgs","doneCallback","count","callListeners","prevError","callNextListener","_haltHandlersOnError","addListeners","callbacks","addNamedAsyncListener","addNamedListeners","ReflectOwnKeys","R","Reflect","ReflectApply","receiver","Function","ProcessEmitWarning","warning","warn","ownKeys","getOwnPropertySymbols","NumberIsNaN","init","once","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","_getMaxListeners","_addListener","prepend","existing","newListener","onceWrapper","fired","wrapFn","_onceWrap","wrapped","bind","_listeners","unwrap","evlistener","unwrapListeners","arrayClone","listenerCount","spliceOne","eventListener","errorListener","setMaxListeners","getMaxListeners","doError","er","prependOnceListener","originalListener","off","rawListeners","eventNames","QueryParamSerializer","ucfirst","isQueryName","serializeStructure","serializeMember","serializeMap","valueName","serializeList","memberRules","serialize","toggle_exclusive","_l","setGroupExport","exportState","thesePathsHideXLSX","changeItems","$route","hideExport","LinkedListNode","nodeMap","sizeLimit","prependToList","headerNode","next","tailNode","removeFromTail","prevNode","detachFromList","key_1","newNode","shapeMembers","AcceptorStateMachine","hardErrorStates","success","complete","isTerminalState","machine","fsm","setupStates","Domain","domainEmitter","domainThrown","addState","isGlobalEndpoint","signingRegion","active","startTime","states","emitEvent","runTo","didCallback","_abortCallback","eachPage","wrappedCallback","eachItem","resultKey","continueIteration","isPageable","streams","PassThrough","sent","HTTP_DATA","HTTP_ERROR","expectedLen","shouldCheckContentLength","receivedLen","checkContentLengthAndEmit","httpStream","lengthAccumulator","_write","unpipe","pipe","eventParameters","origEmit","toGet","toUnauthenticated","_unAuthenticated","VALIDATE_CREDENTIALS","SIGN","buildAsGet","haltHandlersOnError","CognitoIdentityCredentials","localStorageKey","_identityId","loadCachedId","IdentityId","identityId","getId","clearIdOnNotAuthorized","getCredentialsFromSTS","getCredentialsForIdentity","clearCachedId","poolId","IdentityPoolId","loginId","LoginId","storage","cognito","loadCredentials","AccessKeyId","SecretKey","SessionToken","Expiration","cacheId","getOpenIdToken","WebIdentityToken","Token","webIdentityCredentials","webErr","sts","getStorage","Logins","actualProviders","cachedProviders","intersect","cognitoConfig","setStorage","regionConfig","clientCount","loadServiceClass","ServiceClass","_clientId","configureEndpoint","endpointFromTemplate","setEndpoint","addDefaultMonitoringListeners","_clientSideMonitoring","publisher","eventHandler","serviceConfig","apiConfig","defineServiceApi","getLatestServiceClass","getLatestServiceVersion","selectedVersion","defaultRetryCount","customizeRequests","customRequestHandler","addAllRequestListeners","attachMonitoringEmitter","makeUnauthenticatedRequest","waitFor","wait","serviceInterface","CorePost","Logger","apiCallEvent","monitoringEvent","Type","Version","endpointPrefix","MaxRetriesExceeded","UserAgent","FinalHttpStatusCode","FinalAwsException","FinalAwsExceptionMessage","FinalSdkException","FinalSdkExceptionMessage","apiAttemptEvent","Fqdn","HttpStatusCode","AccessKey","XAmznRequestId","XAmzRequestId","XAmzId2","attemptFailEvent","AwsException","AwsExceptionMessage","SdkException","SdkExceptionMessage","attemptTimestamp","attemptStartRealTime","attemptLatency","callStartRealTime","callTimestamp","attemptCount","addToHead","realClock","round","AttemptLatency","AttemptCount","latency","Latency","signingName","authtype","successfulResponse","retryDelays","timeoutError","networkingError","expiredCredentialsError","throttledError","clockSkewError","newServerTime","throwException","defineMethods","versions","_serviceMap","addVersions","Publisher","configProvider","publisherConfig","enabled","superclass","setApi","isApi","attachOn","baseClass","listAdhesions","errorMsg","givenBonus","exportListAdhesions","expanded","colorStatusUser","usuarios_status","valor_bonus","data_ativacao","statusColor","usuario_promos_status","userPromosStatusUI","rollover_atual","rollover_total","isExpanded","expand","getExtractAdhesion","extractItems","extractHeaders","data_lancamento","valor","saldo_anterior","saldo_posterior","exportTransfers","noDataFound","VAlert","VAppBar","VProgressCircular","read","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","NaN","write","rt","LN2","eq","regexp","maxKeys","kstr","vstr","xs","hasEndpointDiscover","hostPrefix","hostPrefixNotation","expandHostPrefix","prependEndpointPrefix","validateHostname","isEndpointOperation","hostLabel","hostPattern","verifySendMessageChecksum","verifySendMessageBatchChecksum","verifyReceiveMessageChecksum","MD5OfMessageBody","MessageBody","calculatedMd5","calculateChecksum","throwInvalidChecksumError","MessageId","entries","messageIds","Successful","entry","Id","Entries","isChecksumValid","Messages","MD5OfBody","ids","checksum","QueueUrl","matches","browser","meta","nameDrawer","$localStorage","nome_usuario","login","$gmt","script","PRELUDE_MEMBER_LENGTH","PRELUDE_LENGTH","CHECKSUM_LENGTH","MINIMUM_MESSAGE_LENGTH","splitMessage","readUInt32BE","expectedPreludeChecksum","expectedMessageChecksum","headersStart","headersEnd","enum","xmlName","queryName","requiresLength","isComposite","idempotencyToken","jsonvalue","eventstream","eventpayload","eventheader","timestampFormat","isTimestampFormatSet","endpointdiscoveryid","documentation","documentationUrl","xmlAttribute","CompositeShape","StructureShape","requiredMap","firstInit","isShape","xmlOrder","memberNames","isEventPayload","isEventHeader","resultWrapper","xmlNamespace","ListShape","oldName","MapShape","TimestampShape","StringShape","nullLessProtocols","FloatShape","IntegerShape","BinaryShape","isSensitive","secureBuf","Base64Shape","BooleanShape","normalizedTypes","character","double","long","short","biginteger","bigdecimal","blob","refShape","shapes","filteredKeys","InlineShape","origType","Int64","negate","fromNumber","remaining","negative","isView","viewStrings","isEmptyData","convertToBuffer","byteOffset","BYTES_PER_ELEMENT","functional","fluid","mergeData","btnToggle","genData","backgroundColor","borderless","group","rounded","shaped","themeClasses","CHECK_ACCEPTORS","_waiter","acceptors","acceptorMatched","acceptor","matcher","matchers","argument","setSuccess","setError","loadWaiterConfig","pathAll","results","numResults","pathAny","retryDelay","$waiter","maxAttempts","completeInfo","fillQueue","configure","partSize","minPartSize","queueSize","leavePartsOnError","tags","validateBody","adjustTotalBytes","maxTotalParts","failed","runFill","fillBuffer","fillStream","partBuffers","cleanup","isDoneChunking","numParts","totalPartNumbers","doneParts","finishMultiPart","singlePart","totalBytes","newPartSize","partPos","totalChunkedBytes","totalUploadedBytes","activeParts","multipartReq","partBufferLength","bodyLen","nextChunk","endPos","pbuf","isDoneSending","partNumber","Tagging","getTaggingHeader","putObject","_managedUpload","progress","finishSinglePart","ETag","UploadId","uploadPart","queueChunks","createMultipartUpload","kvPairStrings","Value","partParams","PartNumber","partInfo","_lastUploadedBytes","resume","abortMultipartUpload","completeParams","MultipartUpload","Parts","completeMultipartUpload","Location","putObjectTagging","TagSet","httpReq","info","loaded","total","EXTRACT_DATA","checkCrc32","crc32IsValid","ChainableTemporaryCredentials","tokenCodeFn","SerialNumber","getTokenCode","tokenCode","TokenCode","ieee754","typedArraySupport","__proto__","foo","subarray","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","encodingOrOffset","allocUnsafe","fromArrayBuffer","fromString","fromObject","assertSize","checked","isEncoding","fromArrayLike","isnan","SlowBuffer","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","strLen","parsed","utf8Write","blitBuffer","asciiWrite","asciiToBytes","latin1Write","base64Write","ucs2Write","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","bytesPerSequence","decodeCodePointsArray","INSPECT_MAX_BYTES","poolSize","_augment","species","allocUnsafeSlow","_isBuffer","compare","y","swap16","swap32","swap64","equals","thisStart","thisEnd","thisCopy","targetCopy","isFinite","_arr","MAX_ARGUMENTS_LENGTH","codePoints","checkOffset","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt16LE","readUInt32LE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","maxBytes","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","limit","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","base64clean","stringtrim","units","leadSurrogate","byteArray","hi","lo","dst","Touch","inset","flat","hasError","hasColor","switchData","genSwitch","onSwipeRight","genProgress","$slots","indeterminate","onSwipeLeft","DISCOVER_ENDPOINT","getOperationAuthtype","addAsync","dnsHostRegex","idempotentMembers","SignerClass","signer","signedAt","httpResp","errCode","executeSend","timeDiff","numBytes","dateHeader","redirect","willRetry","isDNSError","errno","getSystemErrorName","buildMessage","filterSensitiveLog","subShapeName","subShape","ansi","isTTY","censoredParams","defaultProviders","resolveCallbacks","resolveNext","provider","getErr","resolvePromise","SAMLCredentials","assumeRoleWithSAML","requiredAuthTokenOptions","username","Signer","convertUrlToAuthToken","getAuthToken","hasCallback","optionsValidation","validateAuthTokenOptions","serviceOptions","modifyRequestForAuthToken","Action","DBUser","XmlBuilder","serializeScalar","applyNamespaces","entryKey","entryValue","isRoot","xmlNamespaceUri","xmlNamespacePrefix","noEmpty","hashUtils","BLOCK_SIZE","DIGEST_LENGTH","Uint32Array","Sha1","h0","h1","h2","h3","h4","block","totalLength","finished","byte","processBlock","outView","DataView","setUint32","temp","_nodeId","_clockseq","rng","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","nsecs","dt","tl","tmh","pt","phoneCounter","phoneCounterEdit","phoneMaxRange","birthdate","passMin","passRule","passCaracter","max5","max8","max10","max12","docMax","docMaxEdit","nameValid","validateCPF","validEmail","usernameMax","usernameAz09","emailAlreadyRegistered","loginAlreadyRegistered","selectRequired","urlNo","minDeposit","maxPercentage100","maxPercentageFeeValue","minOddValue","maxOddValue","maxValue","maxValueCommission","minRounds","maxRounds","atLeastTwoChars","minDaysToExpire","max30DaysToExpire","minDepositBondMultiplier","maxDepositBondMultiplier","min3Char","specialCharactersAreNotAllowed","en","es","requiredAutocomplete","cond","day","month","year","ageYear","setDate","currdate","max50Characters","max100Value","max999Value","max10Characters","max12Characters","max5Characters","max8Characters","minDepositRule","store","operator","deposit_min","max100","max99FeeValue","minFixedOddValue","maxFixedOddValue","notEmpty","min3Characters","Md5","bufferLength","bytesHashed","cmn","ff","gg","hh","ii","sourceData","setUint8","hashBuffer","_a","undecoratedLength","bitsHashed","buff","getUint32","rnds","ENV_REGIONAL_ENDPOINT_ENABLED","CONFIG_REGIONAL_ENDPOINT_ENABLED","SecretAccessKey","optInRegionalEndpoint","defaultMenuProps","offsetOverflow","allowOverflow","autoSelectFirst","itemText","queryText","hideNoData","menuProps","noFilter","searchInput","lazySearch","selectedIndex","computedItems","selectedValues","selectedItems","hasDisplayedItems","hideSelected","filteredItems","some","currentRange","selectedItem","getText","internalSearch","allItems","isAnyValueAllowed","searchIsDirty","isSearching","multiple","menuCanShow","$_menuProps","find","listData","isMenuActive","oldVal","activateMenu","onFilteredItemsChanged","onInternalSearchChanged","updateMenuDimensions","menu","changeSelectedIndex","keyCode","deleteCurrentItem","curIndex","curItem","getDisabled","lastIndex","nextIndex","nextItem","autocomplete","hasSlot","isAppendInner","onSpaceDown","onTabDown","onUpDown","selectItem","setSelectedItems","setSearch","updateSelf","valueComparator","getValue","hasItem","onCopy","currentItem","currentItemText","KEY","MAX_HASHABLE_LENGTH","Sha256","Int32Array","bufferView","state0","state1","state2","state3","state4","state5","state6","state7","t1_1","t2_1","t1","t2","inputMembers","parsedArn","accessPointPrefix","loadUseArnRegionConfig","regionFromArn","clientRegion","envName","configName","ipAddress","dots","origRules","_XAMZRequestId","requestIdShape","base64Encode","queryEncode","replacements","signPolicy","policy","privateKey","createSign","signWithCannedPolicy","keyPairId","Statement","Resource","Condition","DateLessThan","signWithCustomPolicy","determineScheme","getRtmpUrl","rtmpUrl","getResource","handleError","handleSuccess","getSignedCookie","signatureHash","cookieHash","signedUrl","requestUri","endpointdiscovery","isIdempotent","hasEventStream","topLevelShape","performance","generateRegionPrefix","derivedKeys","regionPrefix","applyConfig","patterns","regionRegexes","defaultSuffix","regexes","regionPattern","DocumentClient","putItem","Item","makeServiceRequest","setupRequest","setupResponse","serviceClientOperationsMap","batchGet","batchWrite","delete","scan","transactGet","transactWrite","createSet","getTranslator","translator","rawParams","outputShape","stringifyPrimitive","objectKeys","ks","isBinary","BOOLEAN_TAG","BYTE_TAG","SHORT_TAG","INT_TAG","LONG_TAG","BINARY_TAG","STRING_TAG","TIMESTAMP_TAG","UUID_TAG","nameLength","binaryLength","stringLength","uuidChars","getRandomValues","msCrypto","rnds8","Hmac","alg","addEndpointOperation","endpointoperation","serviceAbbreviation","serviceFullName","refreshCallbacks","expiryWindow","needsRefresh","currentTime","adjustedTime","sync","getPromise","refreshPromise","finalState","bindObject","inputError","accept","acceptState","failState","applyContentTypeHeader","hashCtor","outer","inner","bufferFromSecret","bufferHash","toHash"],"mappings":"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","file":"js/chunk-764bbddf.5b856136.js","sourcesContent":["var util = require('../core').util;\nvar typeOf = require('./types').typeOf;\n\n/**\n * @api private\n */\nvar memberTypeToSetType = {\n 'String': 'String',\n 'Number': 'Number',\n 'NumberValue': 'Number',\n 'Binary': 'Binary'\n};\n\n/**\n * @api private\n */\nvar DynamoDBSet = util.inherit({\n\n constructor: function Set(list, options) {\n options = options || {};\n this.wrapperName = 'Set';\n this.initialize(list, options.validate);\n },\n\n initialize: function(list, validate) {\n var self = this;\n self.values = [].concat(list);\n self.detectType();\n if (validate) {\n self.validate();\n }\n },\n\n detectType: function() {\n this.type = memberTypeToSetType[typeOf(this.values[0])];\n if (!this.type) {\n throw util.error(new Error(), {\n code: 'InvalidSetType',\n message: 'Sets can contain string, number, or binary values'\n });\n }\n },\n\n validate: function() {\n var self = this;\n var length = self.values.length;\n var values = self.values;\n for (var i = 0; i < length; i++) {\n if (memberTypeToSetType[typeOf(values[i])] !== self.type) {\n throw util.error(new Error(), {\n code: 'InvalidType',\n message: self.type + ' Set contains ' + typeOf(values[i]) + ' value'\n });\n }\n }\n },\n\n /**\n * Render the underlying values only when converting to JSON.\n */\n toJSON: function() {\n var self = this;\n return self.values;\n }\n\n});\n\n/**\n * @api private\n */\nmodule.exports = DynamoDBSet;\n","var util = require('../util');\nvar JsonBuilder = require('../json/builder');\nvar JsonParser = require('../json/parser');\nvar populateHostPrefix = require('./helpers').populateHostPrefix;\n\nfunction buildRequest(req) {\n var httpRequest = req.httpRequest;\n var api = req.service.api;\n var target = api.targetPrefix + '.' + api.operations[req.operation].name;\n var version = api.jsonVersion || '1.0';\n var input = api.operations[req.operation].input;\n var builder = new JsonBuilder();\n\n if (version === 1) version = '1.0';\n httpRequest.body = builder.build(req.params || {}, input);\n httpRequest.headers['Content-Type'] = 'application/x-amz-json-' + version;\n httpRequest.headers['X-Amz-Target'] = target;\n\n populateHostPrefix(req);\n}\n\nfunction extractError(resp) {\n var error = {};\n var httpResponse = resp.httpResponse;\n\n error.code = httpResponse.headers['x-amzn-errortype'] || 'UnknownError';\n if (typeof error.code === 'string') {\n error.code = error.code.split(':')[0];\n }\n\n if (httpResponse.body.length > 0) {\n try {\n var e = JSON.parse(httpResponse.body.toString());\n var code = e.__type || e.code || e.Code;\n if (code) {\n error.code = code.split('#').pop();\n }\n if (error.code === 'RequestEntityTooLarge') {\n error.message = 'Request body must be less than 1 MB';\n } else {\n error.message = (e.message || e.Message || null);\n }\n } catch (e) {\n error.statusCode = httpResponse.statusCode;\n error.message = httpResponse.statusMessage;\n }\n } else {\n error.statusCode = httpResponse.statusCode;\n error.message = httpResponse.statusCode.toString();\n }\n\n resp.error = util.error(new Error(), error);\n}\n\nfunction extractData(resp) {\n var body = resp.httpResponse.body.toString() || '{}';\n if (resp.request.service.config.convertResponseTypes === false) {\n resp.data = JSON.parse(body);\n } else {\n var operation = resp.request.service.api.operations[resp.request.operation];\n var shape = operation.output || {};\n var parser = new JsonParser();\n resp.data = parser.parse(body, shape);\n }\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n buildRequest: buildRequest,\n extractError: extractError,\n extractData: extractData\n};\n","/* eslint guard-for-in:0 */\nvar AWS;\n\n/**\n * A set of utility methods for use with the AWS SDK.\n *\n * @!attribute abort\n * Return this value from an iterator function {each} or {arrayEach}\n * to break out of the iteration.\n * @example Breaking out of an iterator function\n * AWS.util.each({a: 1, b: 2, c: 3}, function(key, value) {\n * if (key == 'b') return AWS.util.abort;\n * });\n * @see each\n * @see arrayEach\n * @api private\n */\nvar util = {\n environment: 'nodejs',\n engine: function engine() {\n if (util.isBrowser() && typeof navigator !== 'undefined') {\n return navigator.userAgent;\n } else {\n var engine = process.platform + '/' + process.version;\n if (process.env.AWS_EXECUTION_ENV) {\n engine += ' exec-env/' + process.env.AWS_EXECUTION_ENV;\n }\n return engine;\n }\n },\n\n userAgent: function userAgent() {\n var name = util.environment;\n var agent = 'aws-sdk-' + name + '/' + require('./core').VERSION;\n if (name === 'nodejs') agent += ' ' + util.engine();\n return agent;\n },\n\n uriEscape: function uriEscape(string) {\n var output = encodeURIComponent(string);\n output = output.replace(/[^A-Za-z0-9_.~\\-%]+/g, escape);\n\n // AWS percent-encodes some extra non-standard characters in a URI\n output = output.replace(/[*]/g, function(ch) {\n return '%' + ch.charCodeAt(0).toString(16).toUpperCase();\n });\n\n return output;\n },\n\n uriEscapePath: function uriEscapePath(string) {\n var parts = [];\n util.arrayEach(string.split('/'), function (part) {\n parts.push(util.uriEscape(part));\n });\n return parts.join('/');\n },\n\n urlParse: function urlParse(url) {\n return util.url.parse(url);\n },\n\n urlFormat: function urlFormat(url) {\n return util.url.format(url);\n },\n\n queryStringParse: function queryStringParse(qs) {\n return util.querystring.parse(qs);\n },\n\n queryParamsToString: function queryParamsToString(params) {\n var items = [];\n var escape = util.uriEscape;\n var sortedKeys = Object.keys(params).sort();\n\n util.arrayEach(sortedKeys, function(name) {\n var value = params[name];\n var ename = escape(name);\n var result = ename + '=';\n if (Array.isArray(value)) {\n var vals = [];\n util.arrayEach(value, function(item) { vals.push(escape(item)); });\n result = ename + '=' + vals.sort().join('&' + ename + '=');\n } else if (value !== undefined && value !== null) {\n result = ename + '=' + escape(value);\n }\n items.push(result);\n });\n\n return items.join('&');\n },\n\n readFileSync: function readFileSync(path) {\n if (util.isBrowser()) return null;\n return require('fs').readFileSync(path, 'utf-8');\n },\n\n base64: {\n encode: function encode64(string) {\n if (typeof string === 'number') {\n throw util.error(new Error('Cannot base64 encode number ' + string));\n }\n if (string === null || typeof string === 'undefined') {\n return string;\n }\n var buf = util.buffer.toBuffer(string);\n return buf.toString('base64');\n },\n\n decode: function decode64(string) {\n if (typeof string === 'number') {\n throw util.error(new Error('Cannot base64 decode number ' + string));\n }\n if (string === null || typeof string === 'undefined') {\n return string;\n }\n return util.buffer.toBuffer(string, 'base64');\n }\n\n },\n\n buffer: {\n /**\n * Buffer constructor for Node buffer and buffer pollyfill\n */\n toBuffer: function(data, encoding) {\n return (typeof util.Buffer.from === 'function' && util.Buffer.from !== Uint8Array.from) ?\n util.Buffer.from(data, encoding) : new util.Buffer(data, encoding);\n },\n\n alloc: function(size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new Error('size passed to alloc must be a number.');\n }\n if (typeof util.Buffer.alloc === 'function') {\n return util.Buffer.alloc(size, fill, encoding);\n } else {\n var buf = new util.Buffer(size);\n if (fill !== undefined && typeof buf.fill === 'function') {\n buf.fill(fill, undefined, undefined, encoding);\n }\n return buf;\n }\n },\n\n toStream: function toStream(buffer) {\n if (!util.Buffer.isBuffer(buffer)) buffer = util.buffer.toBuffer(buffer);\n\n var readable = new (util.stream.Readable)();\n var pos = 0;\n readable._read = function(size) {\n if (pos >= buffer.length) return readable.push(null);\n\n var end = pos + size;\n if (end > buffer.length) end = buffer.length;\n readable.push(buffer.slice(pos, end));\n pos = end;\n };\n\n return readable;\n },\n\n /**\n * Concatenates a list of Buffer objects.\n */\n concat: function(buffers) {\n var length = 0,\n offset = 0,\n buffer = null, i;\n\n for (i = 0; i < buffers.length; i++) {\n length += buffers[i].length;\n }\n\n buffer = util.buffer.alloc(length);\n\n for (i = 0; i < buffers.length; i++) {\n buffers[i].copy(buffer, offset);\n offset += buffers[i].length;\n }\n\n return buffer;\n }\n },\n\n string: {\n byteLength: function byteLength(string) {\n if (string === null || string === undefined) return 0;\n if (typeof string === 'string') string = util.buffer.toBuffer(string);\n\n if (typeof string.byteLength === 'number') {\n return string.byteLength;\n } else if (typeof string.length === 'number') {\n return string.length;\n } else if (typeof string.size === 'number') {\n return string.size;\n } else if (typeof string.path === 'string') {\n return require('fs').lstatSync(string.path).size;\n } else {\n throw util.error(new Error('Cannot determine length of ' + string),\n { object: string });\n }\n },\n\n upperFirst: function upperFirst(string) {\n return string[0].toUpperCase() + string.substr(1);\n },\n\n lowerFirst: function lowerFirst(string) {\n return string[0].toLowerCase() + string.substr(1);\n }\n },\n\n ini: {\n parse: function string(ini) {\n var currentSection, map = {};\n util.arrayEach(ini.split(/\\r?\\n/), function(line) {\n line = line.split(/(^|\\s)[;#]/)[0]; // remove comments\n var section = line.match(/^\\s*\\[([^\\[\\]]+)\\]\\s*$/);\n if (section) {\n currentSection = section[1];\n if (currentSection === '__proto__' || currentSection.split(/\\s/)[1] === '__proto__') {\n throw util.error(\n new Error('Cannot load profile name \\'' + currentSection + '\\' from shared ini file.')\n );\n }\n } else if (currentSection) {\n var item = line.match(/^\\s*(.+?)\\s*=\\s*(.+?)\\s*$/);\n if (item) {\n map[currentSection] = map[currentSection] || {};\n map[currentSection][item[1]] = item[2];\n }\n }\n });\n\n return map;\n }\n },\n\n fn: {\n noop: function() {},\n callback: function (err) { if (err) throw err; },\n\n /**\n * Turn a synchronous function into as \"async\" function by making it call\n * a callback. The underlying function is called with all but the last argument,\n * which is treated as the callback. The callback is passed passed a first argument\n * of null on success to mimick standard node callbacks.\n */\n makeAsync: function makeAsync(fn, expectedArgs) {\n if (expectedArgs && expectedArgs <= fn.length) {\n return fn;\n }\n\n return function() {\n var args = Array.prototype.slice.call(arguments, 0);\n var callback = args.pop();\n var result = fn.apply(null, args);\n callback(result);\n };\n }\n },\n\n /**\n * Date and time utility functions.\n */\n date: {\n\n /**\n * @return [Date] the current JavaScript date object. Since all\n * AWS services rely on this date object, you can override\n * this function to provide a special time value to AWS service\n * requests.\n */\n getDate: function getDate() {\n if (!AWS) AWS = require('./core');\n if (AWS.config.systemClockOffset) { // use offset when non-zero\n return new Date(new Date().getTime() + AWS.config.systemClockOffset);\n } else {\n return new Date();\n }\n },\n\n /**\n * @return [String] the date in ISO-8601 format\n */\n iso8601: function iso8601(date) {\n if (date === undefined) { date = util.date.getDate(); }\n return date.toISOString().replace(/\\.\\d{3}Z$/, 'Z');\n },\n\n /**\n * @return [String] the date in RFC 822 format\n */\n rfc822: function rfc822(date) {\n if (date === undefined) { date = util.date.getDate(); }\n return date.toUTCString();\n },\n\n /**\n * @return [Integer] the UNIX timestamp value for the current time\n */\n unixTimestamp: function unixTimestamp(date) {\n if (date === undefined) { date = util.date.getDate(); }\n return date.getTime() / 1000;\n },\n\n /**\n * @param [String,number,Date] date\n * @return [Date]\n */\n from: function format(date) {\n if (typeof date === 'number') {\n return new Date(date * 1000); // unix timestamp\n } else {\n return new Date(date);\n }\n },\n\n /**\n * Given a Date or date-like value, this function formats the\n * date into a string of the requested value.\n * @param [String,number,Date] date\n * @param [String] formatter Valid formats are:\n # * 'iso8601'\n # * 'rfc822'\n # * 'unixTimestamp'\n * @return [String]\n */\n format: function format(date, formatter) {\n if (!formatter) formatter = 'iso8601';\n return util.date[formatter](util.date.from(date));\n },\n\n parseTimestamp: function parseTimestamp(value) {\n if (typeof value === 'number') { // unix timestamp (number)\n return new Date(value * 1000);\n } else if (value.match(/^\\d+$/)) { // unix timestamp\n return new Date(value * 1000);\n } else if (value.match(/^\\d{4}/)) { // iso8601\n return new Date(value);\n } else if (value.match(/^\\w{3},/)) { // rfc822\n return new Date(value);\n } else {\n throw util.error(\n new Error('unhandled timestamp format: ' + value),\n {code: 'TimestampParserError'});\n }\n }\n\n },\n\n crypto: {\n crc32Table: [\n 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, 0x076DC419,\n 0x706AF48F, 0xE963A535, 0x9E6495A3, 0x0EDB8832, 0x79DCB8A4,\n 0xE0D5E91E, 0x97D2D988, 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07,\n 0x90BF1D91, 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE,\n 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, 0x136C9856,\n 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, 0x14015C4F, 0x63066CD9,\n 0xFA0F3D63, 0x8D080DF5, 0x3B6E20C8, 0x4C69105E, 0xD56041E4,\n 0xA2677172, 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B,\n 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, 0x32D86CE3,\n 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, 0x26D930AC, 0x51DE003A,\n 0xC8D75180, 0xBFD06116, 0x21B4F4B5, 0x56B3C423, 0xCFBA9599,\n 0xB8BDA50F, 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924,\n 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, 0x76DC4190,\n 0x01DB7106, 0x98D220BC, 0xEFD5102A, 0x71B18589, 0x06B6B51F,\n 0x9FBFE4A5, 0xE8B8D433, 0x7807C9A2, 0x0F00F934, 0x9609A88E,\n 0xE10E9818, 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01,\n 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, 0x6C0695ED,\n 0x1B01A57B, 0x8208F4C1, 0xF50FC457, 0x65B0D9C6, 0x12B7E950,\n 0x8BBEB8EA, 0xFCB9887C, 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3,\n 0xFBD44C65, 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2,\n 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, 0x4369E96A,\n 0x346ED9FC, 0xAD678846, 0xDA60B8D0, 0x44042D73, 0x33031DE5,\n 0xAA0A4C5F, 0xDD0D7CC9, 0x5005713C, 0x270241AA, 0xBE0B1010,\n 0xC90C2086, 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F,\n 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, 0x59B33D17,\n 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, 0xEDB88320, 0x9ABFB3B6,\n 0x03B6E20C, 0x74B1D29A, 0xEAD54739, 0x9DD277AF, 0x04DB2615,\n 0x73DC1683, 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8,\n 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, 0xF00F9344,\n 0x8708A3D2, 0x1E01F268, 0x6906C2FE, 0xF762575D, 0x806567CB,\n 0x196C3671, 0x6E6B06E7, 0xFED41B76, 0x89D32BE0, 0x10DA7A5A,\n 0x67DD4ACC, 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5,\n 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, 0xD1BB67F1,\n 0xA6BC5767, 0x3FB506DD, 0x48B2364B, 0xD80D2BDA, 0xAF0A1B4C,\n 0x36034AF6, 0x41047A60, 0xDF60EFC3, 0xA867DF55, 0x316E8EEF,\n 0x4669BE79, 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236,\n 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, 0xC5BA3BBE,\n 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, 0xC2D7FFA7, 0xB5D0CF31,\n 0x2CD99E8B, 0x5BDEAE1D, 0x9B64C2B0, 0xEC63F226, 0x756AA39C,\n 0x026D930A, 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713,\n 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, 0x92D28E9B,\n 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, 0x86D3D2D4, 0xF1D4E242,\n 0x68DDB3F8, 0x1FDA836E, 0x81BE16CD, 0xF6B9265B, 0x6FB077E1,\n 0x18B74777, 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C,\n 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, 0xA00AE278,\n 0xD70DD2EE, 0x4E048354, 0x3903B3C2, 0xA7672661, 0xD06016F7,\n 0x4969474D, 0x3E6E77DB, 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66,\n 0x37D83BF0, 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9,\n 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, 0xBAD03605,\n 0xCDD70693, 0x54DE5729, 0x23D967BF, 0xB3667A2E, 0xC4614AB8,\n 0x5D681B02, 0x2A6F2B94, 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B,\n 0x2D02EF8D],\n\n crc32: function crc32(data) {\n var tbl = util.crypto.crc32Table;\n var crc = 0 ^ -1;\n\n if (typeof data === 'string') {\n data = util.buffer.toBuffer(data);\n }\n\n for (var i = 0; i < data.length; i++) {\n var code = data.readUInt8(i);\n crc = (crc >>> 8) ^ tbl[(crc ^ code) & 0xFF];\n }\n return (crc ^ -1) >>> 0;\n },\n\n hmac: function hmac(key, string, digest, fn) {\n if (!digest) digest = 'binary';\n if (digest === 'buffer') { digest = undefined; }\n if (!fn) fn = 'sha256';\n if (typeof string === 'string') string = util.buffer.toBuffer(string);\n return util.crypto.lib.createHmac(fn, key).update(string).digest(digest);\n },\n\n md5: function md5(data, digest, callback) {\n return util.crypto.hash('md5', data, digest, callback);\n },\n\n sha256: function sha256(data, digest, callback) {\n return util.crypto.hash('sha256', data, digest, callback);\n },\n\n hash: function(algorithm, data, digest, callback) {\n var hash = util.crypto.createHash(algorithm);\n if (!digest) { digest = 'binary'; }\n if (digest === 'buffer') { digest = undefined; }\n if (typeof data === 'string') data = util.buffer.toBuffer(data);\n var sliceFn = util.arraySliceFn(data);\n var isBuffer = util.Buffer.isBuffer(data);\n //Identifying objects with an ArrayBuffer as buffers\n if (util.isBrowser() && typeof ArrayBuffer !== 'undefined' && data && data.buffer instanceof ArrayBuffer) isBuffer = true;\n\n if (callback && typeof data === 'object' &&\n typeof data.on === 'function' && !isBuffer) {\n data.on('data', function(chunk) { hash.update(chunk); });\n data.on('error', function(err) { callback(err); });\n data.on('end', function() { callback(null, hash.digest(digest)); });\n } else if (callback && sliceFn && !isBuffer &&\n typeof FileReader !== 'undefined') {\n // this might be a File/Blob\n var index = 0, size = 1024 * 512;\n var reader = new FileReader();\n reader.onerror = function() {\n callback(new Error('Failed to read data.'));\n };\n reader.onload = function() {\n var buf = new util.Buffer(new Uint8Array(reader.result));\n hash.update(buf);\n index += buf.length;\n reader._continueReading();\n };\n reader._continueReading = function() {\n if (index >= data.size) {\n callback(null, hash.digest(digest));\n return;\n }\n\n var back = index + size;\n if (back > data.size) back = data.size;\n reader.readAsArrayBuffer(sliceFn.call(data, index, back));\n };\n\n reader._continueReading();\n } else {\n if (util.isBrowser() && typeof data === 'object' && !isBuffer) {\n data = new util.Buffer(new Uint8Array(data));\n }\n var out = hash.update(data).digest(digest);\n if (callback) callback(null, out);\n return out;\n }\n },\n\n toHex: function toHex(data) {\n var out = [];\n for (var i = 0; i < data.length; i++) {\n out.push(('0' + data.charCodeAt(i).toString(16)).substr(-2, 2));\n }\n return out.join('');\n },\n\n createHash: function createHash(algorithm) {\n return util.crypto.lib.createHash(algorithm);\n }\n\n },\n\n /** @!ignore */\n\n /* Abort constant */\n abort: {},\n\n each: function each(object, iterFunction) {\n for (var key in object) {\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n var ret = iterFunction.call(this, key, object[key]);\n if (ret === util.abort) break;\n }\n }\n },\n\n arrayEach: function arrayEach(array, iterFunction) {\n for (var idx in array) {\n if (Object.prototype.hasOwnProperty.call(array, idx)) {\n var ret = iterFunction.call(this, array[idx], parseInt(idx, 10));\n if (ret === util.abort) break;\n }\n }\n },\n\n update: function update(obj1, obj2) {\n util.each(obj2, function iterator(key, item) {\n obj1[key] = item;\n });\n return obj1;\n },\n\n merge: function merge(obj1, obj2) {\n return util.update(util.copy(obj1), obj2);\n },\n\n copy: function copy(object) {\n if (object === null || object === undefined) return object;\n var dupe = {};\n // jshint forin:false\n for (var key in object) {\n dupe[key] = object[key];\n }\n return dupe;\n },\n\n isEmpty: function isEmpty(obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n return false;\n }\n }\n return true;\n },\n\n arraySliceFn: function arraySliceFn(obj) {\n var fn = obj.slice || obj.webkitSlice || obj.mozSlice;\n return typeof fn === 'function' ? fn : null;\n },\n\n isType: function isType(obj, type) {\n // handle cross-\"frame\" objects\n if (typeof type === 'function') type = util.typeName(type);\n return Object.prototype.toString.call(obj) === '[object ' + type + ']';\n },\n\n typeName: function typeName(type) {\n if (Object.prototype.hasOwnProperty.call(type, 'name')) return type.name;\n var str = type.toString();\n var match = str.match(/^\\s*function (.+)\\(/);\n return match ? match[1] : str;\n },\n\n error: function error(err, options) {\n var originalError = null;\n if (typeof err.message === 'string' && err.message !== '') {\n if (typeof options === 'string' || (options && options.message)) {\n originalError = util.copy(err);\n originalError.message = err.message;\n }\n }\n err.message = err.message || null;\n\n if (typeof options === 'string') {\n err.message = options;\n } else if (typeof options === 'object' && options !== null) {\n util.update(err, options);\n if (options.message)\n err.message = options.message;\n if (options.code || options.name)\n err.code = options.code || options.name;\n if (options.stack)\n err.stack = options.stack;\n }\n\n if (typeof Object.defineProperty === 'function') {\n Object.defineProperty(err, 'name', {writable: true, enumerable: false});\n Object.defineProperty(err, 'message', {enumerable: true});\n }\n\n err.name = String(options && options.name || err.name || err.code || 'Error');\n err.time = new Date();\n\n if (originalError) err.originalError = originalError;\n\n return err;\n },\n\n /**\n * @api private\n */\n inherit: function inherit(klass, features) {\n var newObject = null;\n if (features === undefined) {\n features = klass;\n klass = Object;\n newObject = {};\n } else {\n var ctor = function ConstructorWrapper() {};\n ctor.prototype = klass.prototype;\n newObject = new ctor();\n }\n\n // constructor not supplied, create pass-through ctor\n if (features.constructor === Object) {\n features.constructor = function() {\n if (klass !== Object) {\n return klass.apply(this, arguments);\n }\n };\n }\n\n features.constructor.prototype = newObject;\n util.update(features.constructor.prototype, features);\n features.constructor.__super__ = klass;\n return features.constructor;\n },\n\n /**\n * @api private\n */\n mixin: function mixin() {\n var klass = arguments[0];\n for (var i = 1; i < arguments.length; i++) {\n // jshint forin:false\n for (var prop in arguments[i].prototype) {\n var fn = arguments[i].prototype[prop];\n if (prop !== 'constructor') {\n klass.prototype[prop] = fn;\n }\n }\n }\n return klass;\n },\n\n /**\n * @api private\n */\n hideProperties: function hideProperties(obj, props) {\n if (typeof Object.defineProperty !== 'function') return;\n\n util.arrayEach(props, function (key) {\n Object.defineProperty(obj, key, {\n enumerable: false, writable: true, configurable: true });\n });\n },\n\n /**\n * @api private\n */\n property: function property(obj, name, value, enumerable, isValue) {\n var opts = {\n configurable: true,\n enumerable: enumerable !== undefined ? enumerable : true\n };\n if (typeof value === 'function' && !isValue) {\n opts.get = value;\n }\n else {\n opts.value = value; opts.writable = true;\n }\n\n Object.defineProperty(obj, name, opts);\n },\n\n /**\n * @api private\n */\n memoizedProperty: function memoizedProperty(obj, name, get, enumerable) {\n var cachedValue = null;\n\n // build enumerable attribute for each value with lazy accessor.\n util.property(obj, name, function() {\n if (cachedValue === null) {\n cachedValue = get();\n }\n return cachedValue;\n }, enumerable);\n },\n\n /**\n * TODO Remove in major version revision\n * This backfill populates response data without the\n * top-level payload name.\n *\n * @api private\n */\n hoistPayloadMember: function hoistPayloadMember(resp) {\n var req = resp.request;\n var operationName = req.operation;\n var operation = req.service.api.operations[operationName];\n var output = operation.output;\n if (output.payload && !operation.hasEventOutput) {\n var payloadMember = output.members[output.payload];\n var responsePayload = resp.data[output.payload];\n if (payloadMember.type === 'structure') {\n util.each(responsePayload, function(key, value) {\n util.property(resp.data, key, value, false);\n });\n }\n }\n },\n\n /**\n * Compute SHA-256 checksums of streams\n *\n * @api private\n */\n computeSha256: function computeSha256(body, done) {\n if (util.isNode()) {\n var Stream = util.stream.Stream;\n var fs = require('fs');\n if (typeof Stream === 'function' && body instanceof Stream) {\n if (typeof body.path === 'string') { // assume file object\n var settings = {};\n if (typeof body.start === 'number') {\n settings.start = body.start;\n }\n if (typeof body.end === 'number') {\n settings.end = body.end;\n }\n body = fs.createReadStream(body.path, settings);\n } else { // TODO support other stream types\n return done(new Error('Non-file stream objects are ' +\n 'not supported with SigV4'));\n }\n }\n }\n\n util.crypto.sha256(body, 'hex', function(err, sha) {\n if (err) done(err);\n else done(null, sha);\n });\n },\n\n /**\n * @api private\n */\n isClockSkewed: function isClockSkewed(serverTime) {\n if (serverTime) {\n util.property(AWS.config, 'isClockSkewed',\n Math.abs(new Date().getTime() - serverTime) >= 300000, false);\n return AWS.config.isClockSkewed;\n }\n },\n\n applyClockOffset: function applyClockOffset(serverTime) {\n if (serverTime)\n AWS.config.systemClockOffset = serverTime - new Date().getTime();\n },\n\n /**\n * @api private\n */\n extractRequestId: function extractRequestId(resp) {\n var requestId = resp.httpResponse.headers['x-amz-request-id'] ||\n resp.httpResponse.headers['x-amzn-requestid'];\n\n if (!requestId && resp.data && resp.data.ResponseMetadata) {\n requestId = resp.data.ResponseMetadata.RequestId;\n }\n\n if (requestId) {\n resp.requestId = requestId;\n }\n\n if (resp.error) {\n resp.error.requestId = requestId;\n }\n },\n\n /**\n * @api private\n */\n addPromises: function addPromises(constructors, PromiseDependency) {\n var deletePromises = false;\n if (PromiseDependency === undefined && AWS && AWS.config) {\n PromiseDependency = AWS.config.getPromisesDependency();\n }\n if (PromiseDependency === undefined && typeof Promise !== 'undefined') {\n PromiseDependency = Promise;\n }\n if (typeof PromiseDependency !== 'function') deletePromises = true;\n if (!Array.isArray(constructors)) constructors = [constructors];\n\n for (var ind = 0; ind < constructors.length; ind++) {\n var constructor = constructors[ind];\n if (deletePromises) {\n if (constructor.deletePromisesFromClass) {\n constructor.deletePromisesFromClass();\n }\n } else if (constructor.addPromisesToClass) {\n constructor.addPromisesToClass(PromiseDependency);\n }\n }\n },\n\n /**\n * @api private\n * Return a function that will return a promise whose fate is decided by the\n * callback behavior of the given method with `methodName`. The method to be\n * promisified should conform to node.js convention of accepting a callback as\n * last argument and calling that callback with error as the first argument\n * and success value on the second argument.\n */\n promisifyMethod: function promisifyMethod(methodName, PromiseDependency) {\n return function promise() {\n var self = this;\n var args = Array.prototype.slice.call(arguments);\n return new PromiseDependency(function(resolve, reject) {\n args.push(function(err, data) {\n if (err) {\n reject(err);\n } else {\n resolve(data);\n }\n });\n self[methodName].apply(self, args);\n });\n };\n },\n\n /**\n * @api private\n */\n isDualstackAvailable: function isDualstackAvailable(service) {\n if (!service) return false;\n var metadata = require('../apis/metadata.json');\n if (typeof service !== 'string') service = service.serviceIdentifier;\n if (typeof service !== 'string' || !metadata.hasOwnProperty(service)) return false;\n return !!metadata[service].dualstackAvailable;\n },\n\n /**\n * @api private\n */\n calculateRetryDelay: function calculateRetryDelay(retryCount, retryDelayOptions, err) {\n if (!retryDelayOptions) retryDelayOptions = {};\n var customBackoff = retryDelayOptions.customBackoff || null;\n if (typeof customBackoff === 'function') {\n return customBackoff(retryCount, err);\n }\n var base = typeof retryDelayOptions.base === 'number' ? retryDelayOptions.base : 100;\n var delay = Math.random() * (Math.pow(2, retryCount) * base);\n return delay;\n },\n\n /**\n * @api private\n */\n handleRequestWithRetries: function handleRequestWithRetries(httpRequest, options, cb) {\n if (!options) options = {};\n var http = AWS.HttpClient.getInstance();\n var httpOptions = options.httpOptions || {};\n var retryCount = 0;\n\n var errCallback = function(err) {\n var maxRetries = options.maxRetries || 0;\n if (err && err.code === 'TimeoutError') err.retryable = true;\n\n // Call `calculateRetryDelay()` only when relevant, see #3401\n if (err && err.retryable && retryCount < maxRetries) {\n var delay = util.calculateRetryDelay(retryCount, options.retryDelayOptions, err);\n if (delay >= 0) {\n retryCount++;\n setTimeout(sendRequest, delay + (err.retryAfter || 0));\n return;\n }\n }\n cb(err);\n };\n\n var sendRequest = function() {\n var data = '';\n http.handleRequest(httpRequest, httpOptions, function(httpResponse) {\n httpResponse.on('data', function(chunk) { data += chunk.toString(); });\n httpResponse.on('end', function() {\n var statusCode = httpResponse.statusCode;\n if (statusCode < 300) {\n cb(null, data);\n } else {\n var retryAfter = parseInt(httpResponse.headers['retry-after'], 10) * 1000 || 0;\n var err = util.error(new Error(),\n {\n statusCode: statusCode,\n retryable: statusCode >= 500 || statusCode === 429\n }\n );\n if (retryAfter && err.retryable) err.retryAfter = retryAfter;\n errCallback(err);\n }\n });\n }, errCallback);\n };\n\n AWS.util.defer(sendRequest);\n },\n\n /**\n * @api private\n */\n uuid: {\n v4: function uuidV4() {\n return require('uuid').v4();\n }\n },\n\n /**\n * @api private\n */\n convertPayloadToString: function convertPayloadToString(resp) {\n var req = resp.request;\n var operation = req.operation;\n var rules = req.service.api.operations[operation].output || {};\n if (rules.payload && resp.data[rules.payload]) {\n resp.data[rules.payload] = resp.data[rules.payload].toString();\n }\n },\n\n /**\n * @api private\n */\n defer: function defer(callback) {\n if (typeof process === 'object' && typeof process.nextTick === 'function') {\n process.nextTick(callback);\n } else if (typeof setImmediate === 'function') {\n setImmediate(callback);\n } else {\n setTimeout(callback, 0);\n }\n },\n\n /**\n * @api private\n */\n getRequestPayloadShape: function getRequestPayloadShape(req) {\n var operations = req.service.api.operations;\n if (!operations) return undefined;\n var operation = (operations || {})[req.operation];\n if (!operation || !operation.input || !operation.input.payload) return undefined;\n return operation.input.members[operation.input.payload];\n },\n\n getProfilesFromSharedConfig: function getProfilesFromSharedConfig(iniLoader, filename) {\n var profiles = {};\n var profilesFromConfig = {};\n if (process.env[util.configOptInEnv]) {\n var profilesFromConfig = iniLoader.loadFrom({\n isConfig: true,\n filename: process.env[util.sharedConfigFileEnv]\n });\n }\n var profilesFromCreds= {};\n try {\n var profilesFromCreds = iniLoader.loadFrom({\n filename: filename ||\n (process.env[util.configOptInEnv] && process.env[util.sharedCredentialsFileEnv])\n });\n } catch (error) {\n // if using config, assume it is fully descriptive without a credentials file:\n if (!process.env[util.configOptInEnv]) throw error;\n }\n for (var i = 0, profileNames = Object.keys(profilesFromConfig); i < profileNames.length; i++) {\n profiles[profileNames[i]] = objectAssign(profiles[profileNames[i]] || {}, profilesFromConfig[profileNames[i]]);\n }\n for (var i = 0, profileNames = Object.keys(profilesFromCreds); i < profileNames.length; i++) {\n profiles[profileNames[i]] = objectAssign(profiles[profileNames[i]] || {}, profilesFromCreds[profileNames[i]]);\n }\n return profiles;\n\n /**\n * Roughly the semantics of `Object.assign(target, source)`\n */\n function objectAssign(target, source) {\n for (var i = 0, keys = Object.keys(source); i < keys.length; i++) {\n target[keys[i]] = source[keys[i]];\n }\n return target;\n }\n },\n\n /**\n * @api private\n */\n ARN: {\n validate: function validateARN(str) {\n return str && str.indexOf('arn:') === 0 && str.split(':').length >= 6;\n },\n parse: function parseARN(arn) {\n var matched = arn.split(':');\n return {\n partition: matched[1],\n service: matched[2],\n region: matched[3],\n accountId: matched[4],\n resource: matched.slice(5).join(':')\n };\n },\n build: function buildARN(arnObject) {\n if (\n arnObject.service === undefined ||\n arnObject.region === undefined ||\n arnObject.accountId === undefined ||\n arnObject.resource === undefined\n ) throw util.error(new Error('Input ARN object is invalid'));\n return 'arn:'+ (arnObject.partition || 'aws') + ':' + arnObject.service +\n ':' + arnObject.region + ':' + arnObject.accountId + ':' + arnObject.resource;\n }\n },\n\n /**\n * @api private\n */\n defaultProfile: 'default',\n\n /**\n * @api private\n */\n configOptInEnv: 'AWS_SDK_LOAD_CONFIG',\n\n /**\n * @api private\n */\n sharedCredentialsFileEnv: 'AWS_SHARED_CREDENTIALS_FILE',\n\n /**\n * @api private\n */\n sharedConfigFileEnv: 'AWS_CONFIG_FILE',\n\n /**\n * @api private\n */\n imdsDisabledEnv: 'AWS_EC2_METADATA_DISABLED'\n};\n\n/**\n * @api private\n */\nmodule.exports = util;\n","var AWS = require('../core');\n\nvar inherit = AWS.util.inherit;\n\n/**\n * @api private\n */\nAWS.Signers.RequestSigner = inherit({\n constructor: function RequestSigner(request) {\n this.request = request;\n },\n\n setServiceClientId: function setServiceClientId(id) {\n this.serviceClientId = id;\n },\n\n getServiceClientId: function getServiceClientId() {\n return this.serviceClientId;\n }\n});\n\nAWS.Signers.RequestSigner.getVersion = function getVersion(version) {\n switch (version) {\n case 'v2': return AWS.Signers.V2;\n case 'v3': return AWS.Signers.V3;\n case 's3v4': return AWS.Signers.V4;\n case 'v4': return AWS.Signers.V4;\n case 's3': return AWS.Signers.S3;\n case 'v3https': return AWS.Signers.V3Https;\n }\n throw new Error('Unknown signing version ' + version);\n};\n\nrequire('./v2');\nrequire('./v3');\nrequire('./v3https');\nrequire('./v4');\nrequire('./s3');\nrequire('./presign');\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['inspector'] = {};\nAWS.Inspector = Service.defineService('inspector', ['2015-08-18*', '2016-02-16']);\nObject.defineProperty(apiLoader.services['inspector'], '2016-02-16', {\n get: function get() {\n var model = require('../apis/inspector-2016-02-16.min.json');\n model.paginators = require('../apis/inspector-2016-02-16.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.Inspector;\n","var util = require('../util');\nvar Shape = require('../model/shape');\n\nfunction DomXmlParser() { }\n\nDomXmlParser.prototype.parse = function(xml, shape) {\n if (xml.replace(/^\\s+/, '') === '') return {};\n\n var result, error;\n try {\n if (window.DOMParser) {\n try {\n var parser = new DOMParser();\n result = parser.parseFromString(xml, 'text/xml');\n } catch (syntaxError) {\n throw util.error(new Error('Parse error in document'),\n {\n originalError: syntaxError,\n code: 'XMLParserError',\n retryable: true\n });\n }\n\n if (result.documentElement === null) {\n throw util.error(new Error('Cannot parse empty document.'),\n {\n code: 'XMLParserError',\n retryable: true\n });\n }\n\n var isError = result.getElementsByTagName('parsererror')[0];\n if (isError && (isError.parentNode === result ||\n isError.parentNode.nodeName === 'body' ||\n isError.parentNode.parentNode === result ||\n isError.parentNode.parentNode.nodeName === 'body')) {\n var errorElement = isError.getElementsByTagName('div')[0] || isError;\n throw util.error(new Error(errorElement.textContent || 'Parser error in document'),\n {\n code: 'XMLParserError',\n retryable: true\n });\n }\n } else if (window.ActiveXObject) {\n result = new window.ActiveXObject('Microsoft.XMLDOM');\n result.async = false;\n\n if (!result.loadXML(xml)) {\n throw util.error(new Error('Parse error in document'),\n {\n code: 'XMLParserError',\n retryable: true\n });\n }\n } else {\n throw new Error('Cannot load XML parser');\n }\n } catch (e) {\n error = e;\n }\n\n if (result && result.documentElement && !error) {\n var data = parseXml(result.documentElement, shape);\n var metadata = getElementByTagName(result.documentElement, 'ResponseMetadata');\n if (metadata) {\n data.ResponseMetadata = parseXml(metadata, {});\n }\n return data;\n } else if (error) {\n throw util.error(error || new Error(), {code: 'XMLParserError', retryable: true});\n } else { // empty xml document\n return {};\n }\n};\n\nfunction getElementByTagName(xml, tag) {\n var elements = xml.getElementsByTagName(tag);\n for (var i = 0, iLen = elements.length; i < iLen; i++) {\n if (elements[i].parentNode === xml) {\n return elements[i];\n }\n }\n}\n\nfunction parseXml(xml, shape) {\n if (!shape) shape = {};\n switch (shape.type) {\n case 'structure': return parseStructure(xml, shape);\n case 'map': return parseMap(xml, shape);\n case 'list': return parseList(xml, shape);\n case undefined: case null: return parseUnknown(xml);\n default: return parseScalar(xml, shape);\n }\n}\n\nfunction parseStructure(xml, shape) {\n var data = {};\n if (xml === null) return data;\n\n util.each(shape.members, function(memberName, memberShape) {\n if (memberShape.isXmlAttribute) {\n if (Object.prototype.hasOwnProperty.call(xml.attributes, memberShape.name)) {\n var value = xml.attributes[memberShape.name].value;\n data[memberName] = parseXml({textContent: value}, memberShape);\n }\n } else {\n var xmlChild = memberShape.flattened ? xml :\n getElementByTagName(xml, memberShape.name);\n if (xmlChild) {\n data[memberName] = parseXml(xmlChild, memberShape);\n } else if (\n !memberShape.flattened &&\n memberShape.type === 'list' &&\n !shape.api.xmlNoDefaultLists) {\n data[memberName] = memberShape.defaultValue;\n }\n }\n });\n\n return data;\n}\n\nfunction parseMap(xml, shape) {\n var data = {};\n var xmlKey = shape.key.name || 'key';\n var xmlValue = shape.value.name || 'value';\n var tagName = shape.flattened ? shape.name : 'entry';\n\n var child = xml.firstElementChild;\n while (child) {\n if (child.nodeName === tagName) {\n var key = getElementByTagName(child, xmlKey).textContent;\n var value = getElementByTagName(child, xmlValue);\n data[key] = parseXml(value, shape.value);\n }\n child = child.nextElementSibling;\n }\n return data;\n}\n\nfunction parseList(xml, shape) {\n var data = [];\n var tagName = shape.flattened ? shape.name : (shape.member.name || 'member');\n\n var child = xml.firstElementChild;\n while (child) {\n if (child.nodeName === tagName) {\n data.push(parseXml(child, shape.member));\n }\n child = child.nextElementSibling;\n }\n return data;\n}\n\nfunction parseScalar(xml, shape) {\n if (xml.getAttribute) {\n var encoding = xml.getAttribute('encoding');\n if (encoding === 'base64') {\n shape = new Shape.create({type: encoding});\n }\n }\n\n var text = xml.textContent;\n if (text === '') text = null;\n if (typeof shape.toType === 'function') {\n return shape.toType(text);\n } else {\n return text;\n }\n}\n\nfunction parseUnknown(xml) {\n if (xml === undefined || xml === null) return '';\n\n // empty object\n if (!xml.firstElementChild) {\n if (xml.parentNode.parentNode === null) return {};\n if (xml.childNodes.length === 0) return '';\n else return xml.textContent;\n }\n\n // object, parse as structure\n var shape = {type: 'structure', members: {}};\n var child = xml.firstElementChild;\n while (child) {\n var tag = child.nodeName;\n if (Object.prototype.hasOwnProperty.call(shape.members, tag)) {\n // multiple tags of the same name makes it a list\n shape.members[tag].type = 'list';\n } else {\n shape.members[tag] = {name: tag};\n }\n child = child.nextElementSibling;\n }\n return parseStructure(xml, shape);\n}\n\n/**\n * @api private\n */\nmodule.exports = DomXmlParser;\n","(function(exports) {\n \"use strict\";\n\n function isArray(obj) {\n if (obj !== null) {\n return Object.prototype.toString.call(obj) === \"[object Array]\";\n } else {\n return false;\n }\n }\n\n function isObject(obj) {\n if (obj !== null) {\n return Object.prototype.toString.call(obj) === \"[object Object]\";\n } else {\n return false;\n }\n }\n\n function strictDeepEqual(first, second) {\n // Check the scalar case first.\n if (first === second) {\n return true;\n }\n\n // Check if they are the same type.\n var firstType = Object.prototype.toString.call(first);\n if (firstType !== Object.prototype.toString.call(second)) {\n return false;\n }\n // We know that first and second have the same type so we can just check the\n // first type from now on.\n if (isArray(first) === true) {\n // Short circuit if they're not the same length;\n if (first.length !== second.length) {\n return false;\n }\n for (var i = 0; i < first.length; i++) {\n if (strictDeepEqual(first[i], second[i]) === false) {\n return false;\n }\n }\n return true;\n }\n if (isObject(first) === true) {\n // An object is equal if it has the same key/value pairs.\n var keysSeen = {};\n for (var key in first) {\n if (hasOwnProperty.call(first, key)) {\n if (strictDeepEqual(first[key], second[key]) === false) {\n return false;\n }\n keysSeen[key] = true;\n }\n }\n // Now check that there aren't any keys in second that weren't\n // in first.\n for (var key2 in second) {\n if (hasOwnProperty.call(second, key2)) {\n if (keysSeen[key2] !== true) {\n return false;\n }\n }\n }\n return true;\n }\n return false;\n }\n\n function isFalse(obj) {\n // From the spec:\n // A false value corresponds to the following values:\n // Empty list\n // Empty object\n // Empty string\n // False boolean\n // null value\n\n // First check the scalar values.\n if (obj === \"\" || obj === false || obj === null) {\n return true;\n } else if (isArray(obj) && obj.length === 0) {\n // Check for an empty array.\n return true;\n } else if (isObject(obj)) {\n // Check for an empty object.\n for (var key in obj) {\n // If there are any keys, then\n // the object is not empty so the object\n // is not false.\n if (obj.hasOwnProperty(key)) {\n return false;\n }\n }\n return true;\n } else {\n return false;\n }\n }\n\n function objValues(obj) {\n var keys = Object.keys(obj);\n var values = [];\n for (var i = 0; i < keys.length; i++) {\n values.push(obj[keys[i]]);\n }\n return values;\n }\n\n function merge(a, b) {\n var merged = {};\n for (var key in a) {\n merged[key] = a[key];\n }\n for (var key2 in b) {\n merged[key2] = b[key2];\n }\n return merged;\n }\n\n var trimLeft;\n if (typeof String.prototype.trimLeft === \"function\") {\n trimLeft = function(str) {\n return str.trimLeft();\n };\n } else {\n trimLeft = function(str) {\n return str.match(/^\\s*(.*)/)[1];\n };\n }\n\n // Type constants used to define functions.\n var TYPE_NUMBER = 0;\n var TYPE_ANY = 1;\n var TYPE_STRING = 2;\n var TYPE_ARRAY = 3;\n var TYPE_OBJECT = 4;\n var TYPE_BOOLEAN = 5;\n var TYPE_EXPREF = 6;\n var TYPE_NULL = 7;\n var TYPE_ARRAY_NUMBER = 8;\n var TYPE_ARRAY_STRING = 9;\n\n var TOK_EOF = \"EOF\";\n var TOK_UNQUOTEDIDENTIFIER = \"UnquotedIdentifier\";\n var TOK_QUOTEDIDENTIFIER = \"QuotedIdentifier\";\n var TOK_RBRACKET = \"Rbracket\";\n var TOK_RPAREN = \"Rparen\";\n var TOK_COMMA = \"Comma\";\n var TOK_COLON = \"Colon\";\n var TOK_RBRACE = \"Rbrace\";\n var TOK_NUMBER = \"Number\";\n var TOK_CURRENT = \"Current\";\n var TOK_EXPREF = \"Expref\";\n var TOK_PIPE = \"Pipe\";\n var TOK_OR = \"Or\";\n var TOK_AND = \"And\";\n var TOK_EQ = \"EQ\";\n var TOK_GT = \"GT\";\n var TOK_LT = \"LT\";\n var TOK_GTE = \"GTE\";\n var TOK_LTE = \"LTE\";\n var TOK_NE = \"NE\";\n var TOK_FLATTEN = \"Flatten\";\n var TOK_STAR = \"Star\";\n var TOK_FILTER = \"Filter\";\n var TOK_DOT = \"Dot\";\n var TOK_NOT = \"Not\";\n var TOK_LBRACE = \"Lbrace\";\n var TOK_LBRACKET = \"Lbracket\";\n var TOK_LPAREN= \"Lparen\";\n var TOK_LITERAL= \"Literal\";\n\n // The \"&\", \"[\", \"<\", \">\" tokens\n // are not in basicToken because\n // there are two token variants\n // (\"&&\", \"[?\", \"<=\", \">=\"). This is specially handled\n // below.\n\n var basicTokens = {\n \".\": TOK_DOT,\n \"*\": TOK_STAR,\n \",\": TOK_COMMA,\n \":\": TOK_COLON,\n \"{\": TOK_LBRACE,\n \"}\": TOK_RBRACE,\n \"]\": TOK_RBRACKET,\n \"(\": TOK_LPAREN,\n \")\": TOK_RPAREN,\n \"@\": TOK_CURRENT\n };\n\n var operatorStartToken = {\n \"<\": true,\n \">\": true,\n \"=\": true,\n \"!\": true\n };\n\n var skipChars = {\n \" \": true,\n \"\\t\": true,\n \"\\n\": true\n };\n\n\n function isAlpha(ch) {\n return (ch >= \"a\" && ch <= \"z\") ||\n (ch >= \"A\" && ch <= \"Z\") ||\n ch === \"_\";\n }\n\n function isNum(ch) {\n return (ch >= \"0\" && ch <= \"9\") ||\n ch === \"-\";\n }\n function isAlphaNum(ch) {\n return (ch >= \"a\" && ch <= \"z\") ||\n (ch >= \"A\" && ch <= \"Z\") ||\n (ch >= \"0\" && ch <= \"9\") ||\n ch === \"_\";\n }\n\n function Lexer() {\n }\n Lexer.prototype = {\n tokenize: function(stream) {\n var tokens = [];\n this._current = 0;\n var start;\n var identifier;\n var token;\n while (this._current < stream.length) {\n if (isAlpha(stream[this._current])) {\n start = this._current;\n identifier = this._consumeUnquotedIdentifier(stream);\n tokens.push({type: TOK_UNQUOTEDIDENTIFIER,\n value: identifier,\n start: start});\n } else if (basicTokens[stream[this._current]] !== undefined) {\n tokens.push({type: basicTokens[stream[this._current]],\n value: stream[this._current],\n start: this._current});\n this._current++;\n } else if (isNum(stream[this._current])) {\n token = this._consumeNumber(stream);\n tokens.push(token);\n } else if (stream[this._current] === \"[\") {\n // No need to increment this._current. This happens\n // in _consumeLBracket\n token = this._consumeLBracket(stream);\n tokens.push(token);\n } else if (stream[this._current] === \"\\\"\") {\n start = this._current;\n identifier = this._consumeQuotedIdentifier(stream);\n tokens.push({type: TOK_QUOTEDIDENTIFIER,\n value: identifier,\n start: start});\n } else if (stream[this._current] === \"'\") {\n start = this._current;\n identifier = this._consumeRawStringLiteral(stream);\n tokens.push({type: TOK_LITERAL,\n value: identifier,\n start: start});\n } else if (stream[this._current] === \"`\") {\n start = this._current;\n var literal = this._consumeLiteral(stream);\n tokens.push({type: TOK_LITERAL,\n value: literal,\n start: start});\n } else if (operatorStartToken[stream[this._current]] !== undefined) {\n tokens.push(this._consumeOperator(stream));\n } else if (skipChars[stream[this._current]] !== undefined) {\n // Ignore whitespace.\n this._current++;\n } else if (stream[this._current] === \"&\") {\n start = this._current;\n this._current++;\n if (stream[this._current] === \"&\") {\n this._current++;\n tokens.push({type: TOK_AND, value: \"&&\", start: start});\n } else {\n tokens.push({type: TOK_EXPREF, value: \"&\", start: start});\n }\n } else if (stream[this._current] === \"|\") {\n start = this._current;\n this._current++;\n if (stream[this._current] === \"|\") {\n this._current++;\n tokens.push({type: TOK_OR, value: \"||\", start: start});\n } else {\n tokens.push({type: TOK_PIPE, value: \"|\", start: start});\n }\n } else {\n var error = new Error(\"Unknown character:\" + stream[this._current]);\n error.name = \"LexerError\";\n throw error;\n }\n }\n return tokens;\n },\n\n _consumeUnquotedIdentifier: function(stream) {\n var start = this._current;\n this._current++;\n while (this._current < stream.length && isAlphaNum(stream[this._current])) {\n this._current++;\n }\n return stream.slice(start, this._current);\n },\n\n _consumeQuotedIdentifier: function(stream) {\n var start = this._current;\n this._current++;\n var maxLength = stream.length;\n while (stream[this._current] !== \"\\\"\" && this._current < maxLength) {\n // You can escape a double quote and you can escape an escape.\n var current = this._current;\n if (stream[current] === \"\\\\\" && (stream[current + 1] === \"\\\\\" ||\n stream[current + 1] === \"\\\"\")) {\n current += 2;\n } else {\n current++;\n }\n this._current = current;\n }\n this._current++;\n return JSON.parse(stream.slice(start, this._current));\n },\n\n _consumeRawStringLiteral: function(stream) {\n var start = this._current;\n this._current++;\n var maxLength = stream.length;\n while (stream[this._current] !== \"'\" && this._current < maxLength) {\n // You can escape a single quote and you can escape an escape.\n var current = this._current;\n if (stream[current] === \"\\\\\" && (stream[current + 1] === \"\\\\\" ||\n stream[current + 1] === \"'\")) {\n current += 2;\n } else {\n current++;\n }\n this._current = current;\n }\n this._current++;\n var literal = stream.slice(start + 1, this._current - 1);\n return literal.replace(\"\\\\'\", \"'\");\n },\n\n _consumeNumber: function(stream) {\n var start = this._current;\n this._current++;\n var maxLength = stream.length;\n while (isNum(stream[this._current]) && this._current < maxLength) {\n this._current++;\n }\n var value = parseInt(stream.slice(start, this._current));\n return {type: TOK_NUMBER, value: value, start: start};\n },\n\n _consumeLBracket: function(stream) {\n var start = this._current;\n this._current++;\n if (stream[this._current] === \"?\") {\n this._current++;\n return {type: TOK_FILTER, value: \"[?\", start: start};\n } else if (stream[this._current] === \"]\") {\n this._current++;\n return {type: TOK_FLATTEN, value: \"[]\", start: start};\n } else {\n return {type: TOK_LBRACKET, value: \"[\", start: start};\n }\n },\n\n _consumeOperator: function(stream) {\n var start = this._current;\n var startingChar = stream[start];\n this._current++;\n if (startingChar === \"!\") {\n if (stream[this._current] === \"=\") {\n this._current++;\n return {type: TOK_NE, value: \"!=\", start: start};\n } else {\n return {type: TOK_NOT, value: \"!\", start: start};\n }\n } else if (startingChar === \"<\") {\n if (stream[this._current] === \"=\") {\n this._current++;\n return {type: TOK_LTE, value: \"<=\", start: start};\n } else {\n return {type: TOK_LT, value: \"<\", start: start};\n }\n } else if (startingChar === \">\") {\n if (stream[this._current] === \"=\") {\n this._current++;\n return {type: TOK_GTE, value: \">=\", start: start};\n } else {\n return {type: TOK_GT, value: \">\", start: start};\n }\n } else if (startingChar === \"=\") {\n if (stream[this._current] === \"=\") {\n this._current++;\n return {type: TOK_EQ, value: \"==\", start: start};\n }\n }\n },\n\n _consumeLiteral: function(stream) {\n this._current++;\n var start = this._current;\n var maxLength = stream.length;\n var literal;\n while(stream[this._current] !== \"`\" && this._current < maxLength) {\n // You can escape a literal char or you can escape the escape.\n var current = this._current;\n if (stream[current] === \"\\\\\" && (stream[current + 1] === \"\\\\\" ||\n stream[current + 1] === \"`\")) {\n current += 2;\n } else {\n current++;\n }\n this._current = current;\n }\n var literalString = trimLeft(stream.slice(start, this._current));\n literalString = literalString.replace(\"\\\\`\", \"`\");\n if (this._looksLikeJSON(literalString)) {\n literal = JSON.parse(literalString);\n } else {\n // Try to JSON parse it as \"\"\n literal = JSON.parse(\"\\\"\" + literalString + \"\\\"\");\n }\n // +1 gets us to the ending \"`\", +1 to move on to the next char.\n this._current++;\n return literal;\n },\n\n _looksLikeJSON: function(literalString) {\n var startingChars = \"[{\\\"\";\n var jsonLiterals = [\"true\", \"false\", \"null\"];\n var numberLooking = \"-0123456789\";\n\n if (literalString === \"\") {\n return false;\n } else if (startingChars.indexOf(literalString[0]) >= 0) {\n return true;\n } else if (jsonLiterals.indexOf(literalString) >= 0) {\n return true;\n } else if (numberLooking.indexOf(literalString[0]) >= 0) {\n try {\n JSON.parse(literalString);\n return true;\n } catch (ex) {\n return false;\n }\n } else {\n return false;\n }\n }\n };\n\n var bindingPower = {};\n bindingPower[TOK_EOF] = 0;\n bindingPower[TOK_UNQUOTEDIDENTIFIER] = 0;\n bindingPower[TOK_QUOTEDIDENTIFIER] = 0;\n bindingPower[TOK_RBRACKET] = 0;\n bindingPower[TOK_RPAREN] = 0;\n bindingPower[TOK_COMMA] = 0;\n bindingPower[TOK_RBRACE] = 0;\n bindingPower[TOK_NUMBER] = 0;\n bindingPower[TOK_CURRENT] = 0;\n bindingPower[TOK_EXPREF] = 0;\n bindingPower[TOK_PIPE] = 1;\n bindingPower[TOK_OR] = 2;\n bindingPower[TOK_AND] = 3;\n bindingPower[TOK_EQ] = 5;\n bindingPower[TOK_GT] = 5;\n bindingPower[TOK_LT] = 5;\n bindingPower[TOK_GTE] = 5;\n bindingPower[TOK_LTE] = 5;\n bindingPower[TOK_NE] = 5;\n bindingPower[TOK_FLATTEN] = 9;\n bindingPower[TOK_STAR] = 20;\n bindingPower[TOK_FILTER] = 21;\n bindingPower[TOK_DOT] = 40;\n bindingPower[TOK_NOT] = 45;\n bindingPower[TOK_LBRACE] = 50;\n bindingPower[TOK_LBRACKET] = 55;\n bindingPower[TOK_LPAREN] = 60;\n\n function Parser() {\n }\n\n Parser.prototype = {\n parse: function(expression) {\n this._loadTokens(expression);\n this.index = 0;\n var ast = this.expression(0);\n if (this._lookahead(0) !== TOK_EOF) {\n var t = this._lookaheadToken(0);\n var error = new Error(\n \"Unexpected token type: \" + t.type + \", value: \" + t.value);\n error.name = \"ParserError\";\n throw error;\n }\n return ast;\n },\n\n _loadTokens: function(expression) {\n var lexer = new Lexer();\n var tokens = lexer.tokenize(expression);\n tokens.push({type: TOK_EOF, value: \"\", start: expression.length});\n this.tokens = tokens;\n },\n\n expression: function(rbp) {\n var leftToken = this._lookaheadToken(0);\n this._advance();\n var left = this.nud(leftToken);\n var currentToken = this._lookahead(0);\n while (rbp < bindingPower[currentToken]) {\n this._advance();\n left = this.led(currentToken, left);\n currentToken = this._lookahead(0);\n }\n return left;\n },\n\n _lookahead: function(number) {\n return this.tokens[this.index + number].type;\n },\n\n _lookaheadToken: function(number) {\n return this.tokens[this.index + number];\n },\n\n _advance: function() {\n this.index++;\n },\n\n nud: function(token) {\n var left;\n var right;\n var expression;\n switch (token.type) {\n case TOK_LITERAL:\n return {type: \"Literal\", value: token.value};\n case TOK_UNQUOTEDIDENTIFIER:\n return {type: \"Field\", name: token.value};\n case TOK_QUOTEDIDENTIFIER:\n var node = {type: \"Field\", name: token.value};\n if (this._lookahead(0) === TOK_LPAREN) {\n throw new Error(\"Quoted identifier not allowed for function names.\");\n } else {\n return node;\n }\n break;\n case TOK_NOT:\n right = this.expression(bindingPower.Not);\n return {type: \"NotExpression\", children: [right]};\n case TOK_STAR:\n left = {type: \"Identity\"};\n right = null;\n if (this._lookahead(0) === TOK_RBRACKET) {\n // This can happen in a multiselect,\n // [a, b, *]\n right = {type: \"Identity\"};\n } else {\n right = this._parseProjectionRHS(bindingPower.Star);\n }\n return {type: \"ValueProjection\", children: [left, right]};\n case TOK_FILTER:\n return this.led(token.type, {type: \"Identity\"});\n case TOK_LBRACE:\n return this._parseMultiselectHash();\n case TOK_FLATTEN:\n left = {type: TOK_FLATTEN, children: [{type: \"Identity\"}]};\n right = this._parseProjectionRHS(bindingPower.Flatten);\n return {type: \"Projection\", children: [left, right]};\n case TOK_LBRACKET:\n if (this._lookahead(0) === TOK_NUMBER || this._lookahead(0) === TOK_COLON) {\n right = this._parseIndexExpression();\n return this._projectIfSlice({type: \"Identity\"}, right);\n } else if (this._lookahead(0) === TOK_STAR &&\n this._lookahead(1) === TOK_RBRACKET) {\n this._advance();\n this._advance();\n right = this._parseProjectionRHS(bindingPower.Star);\n return {type: \"Projection\",\n children: [{type: \"Identity\"}, right]};\n } else {\n return this._parseMultiselectList();\n }\n break;\n case TOK_CURRENT:\n return {type: TOK_CURRENT};\n case TOK_EXPREF:\n expression = this.expression(bindingPower.Expref);\n return {type: \"ExpressionReference\", children: [expression]};\n case TOK_LPAREN:\n var args = [];\n while (this._lookahead(0) !== TOK_RPAREN) {\n if (this._lookahead(0) === TOK_CURRENT) {\n expression = {type: TOK_CURRENT};\n this._advance();\n } else {\n expression = this.expression(0);\n }\n args.push(expression);\n }\n this._match(TOK_RPAREN);\n return args[0];\n default:\n this._errorToken(token);\n }\n },\n\n led: function(tokenName, left) {\n var right;\n switch(tokenName) {\n case TOK_DOT:\n var rbp = bindingPower.Dot;\n if (this._lookahead(0) !== TOK_STAR) {\n right = this._parseDotRHS(rbp);\n return {type: \"Subexpression\", children: [left, right]};\n } else {\n // Creating a projection.\n this._advance();\n right = this._parseProjectionRHS(rbp);\n return {type: \"ValueProjection\", children: [left, right]};\n }\n break;\n case TOK_PIPE:\n right = this.expression(bindingPower.Pipe);\n return {type: TOK_PIPE, children: [left, right]};\n case TOK_OR:\n right = this.expression(bindingPower.Or);\n return {type: \"OrExpression\", children: [left, right]};\n case TOK_AND:\n right = this.expression(bindingPower.And);\n return {type: \"AndExpression\", children: [left, right]};\n case TOK_LPAREN:\n var name = left.name;\n var args = [];\n var expression, node;\n while (this._lookahead(0) !== TOK_RPAREN) {\n if (this._lookahead(0) === TOK_CURRENT) {\n expression = {type: TOK_CURRENT};\n this._advance();\n } else {\n expression = this.expression(0);\n }\n if (this._lookahead(0) === TOK_COMMA) {\n this._match(TOK_COMMA);\n }\n args.push(expression);\n }\n this._match(TOK_RPAREN);\n node = {type: \"Function\", name: name, children: args};\n return node;\n case TOK_FILTER:\n var condition = this.expression(0);\n this._match(TOK_RBRACKET);\n if (this._lookahead(0) === TOK_FLATTEN) {\n right = {type: \"Identity\"};\n } else {\n right = this._parseProjectionRHS(bindingPower.Filter);\n }\n return {type: \"FilterProjection\", children: [left, right, condition]};\n case TOK_FLATTEN:\n var leftNode = {type: TOK_FLATTEN, children: [left]};\n var rightNode = this._parseProjectionRHS(bindingPower.Flatten);\n return {type: \"Projection\", children: [leftNode, rightNode]};\n case TOK_EQ:\n case TOK_NE:\n case TOK_GT:\n case TOK_GTE:\n case TOK_LT:\n case TOK_LTE:\n return this._parseComparator(left, tokenName);\n case TOK_LBRACKET:\n var token = this._lookaheadToken(0);\n if (token.type === TOK_NUMBER || token.type === TOK_COLON) {\n right = this._parseIndexExpression();\n return this._projectIfSlice(left, right);\n } else {\n this._match(TOK_STAR);\n this._match(TOK_RBRACKET);\n right = this._parseProjectionRHS(bindingPower.Star);\n return {type: \"Projection\", children: [left, right]};\n }\n break;\n default:\n this._errorToken(this._lookaheadToken(0));\n }\n },\n\n _match: function(tokenType) {\n if (this._lookahead(0) === tokenType) {\n this._advance();\n } else {\n var t = this._lookaheadToken(0);\n var error = new Error(\"Expected \" + tokenType + \", got: \" + t.type);\n error.name = \"ParserError\";\n throw error;\n }\n },\n\n _errorToken: function(token) {\n var error = new Error(\"Invalid token (\" +\n token.type + \"): \\\"\" +\n token.value + \"\\\"\");\n error.name = \"ParserError\";\n throw error;\n },\n\n\n _parseIndexExpression: function() {\n if (this._lookahead(0) === TOK_COLON || this._lookahead(1) === TOK_COLON) {\n return this._parseSliceExpression();\n } else {\n var node = {\n type: \"Index\",\n value: this._lookaheadToken(0).value};\n this._advance();\n this._match(TOK_RBRACKET);\n return node;\n }\n },\n\n _projectIfSlice: function(left, right) {\n var indexExpr = {type: \"IndexExpression\", children: [left, right]};\n if (right.type === \"Slice\") {\n return {\n type: \"Projection\",\n children: [indexExpr, this._parseProjectionRHS(bindingPower.Star)]\n };\n } else {\n return indexExpr;\n }\n },\n\n _parseSliceExpression: function() {\n // [start:end:step] where each part is optional, as well as the last\n // colon.\n var parts = [null, null, null];\n var index = 0;\n var currentToken = this._lookahead(0);\n while (currentToken !== TOK_RBRACKET && index < 3) {\n if (currentToken === TOK_COLON) {\n index++;\n this._advance();\n } else if (currentToken === TOK_NUMBER) {\n parts[index] = this._lookaheadToken(0).value;\n this._advance();\n } else {\n var t = this._lookahead(0);\n var error = new Error(\"Syntax error, unexpected token: \" +\n t.value + \"(\" + t.type + \")\");\n error.name = \"Parsererror\";\n throw error;\n }\n currentToken = this._lookahead(0);\n }\n this._match(TOK_RBRACKET);\n return {\n type: \"Slice\",\n children: parts\n };\n },\n\n _parseComparator: function(left, comparator) {\n var right = this.expression(bindingPower[comparator]);\n return {type: \"Comparator\", name: comparator, children: [left, right]};\n },\n\n _parseDotRHS: function(rbp) {\n var lookahead = this._lookahead(0);\n var exprTokens = [TOK_UNQUOTEDIDENTIFIER, TOK_QUOTEDIDENTIFIER, TOK_STAR];\n if (exprTokens.indexOf(lookahead) >= 0) {\n return this.expression(rbp);\n } else if (lookahead === TOK_LBRACKET) {\n this._match(TOK_LBRACKET);\n return this._parseMultiselectList();\n } else if (lookahead === TOK_LBRACE) {\n this._match(TOK_LBRACE);\n return this._parseMultiselectHash();\n }\n },\n\n _parseProjectionRHS: function(rbp) {\n var right;\n if (bindingPower[this._lookahead(0)] < 10) {\n right = {type: \"Identity\"};\n } else if (this._lookahead(0) === TOK_LBRACKET) {\n right = this.expression(rbp);\n } else if (this._lookahead(0) === TOK_FILTER) {\n right = this.expression(rbp);\n } else if (this._lookahead(0) === TOK_DOT) {\n this._match(TOK_DOT);\n right = this._parseDotRHS(rbp);\n } else {\n var t = this._lookaheadToken(0);\n var error = new Error(\"Sytanx error, unexpected token: \" +\n t.value + \"(\" + t.type + \")\");\n error.name = \"ParserError\";\n throw error;\n }\n return right;\n },\n\n _parseMultiselectList: function() {\n var expressions = [];\n while (this._lookahead(0) !== TOK_RBRACKET) {\n var expression = this.expression(0);\n expressions.push(expression);\n if (this._lookahead(0) === TOK_COMMA) {\n this._match(TOK_COMMA);\n if (this._lookahead(0) === TOK_RBRACKET) {\n throw new Error(\"Unexpected token Rbracket\");\n }\n }\n }\n this._match(TOK_RBRACKET);\n return {type: \"MultiSelectList\", children: expressions};\n },\n\n _parseMultiselectHash: function() {\n var pairs = [];\n var identifierTypes = [TOK_UNQUOTEDIDENTIFIER, TOK_QUOTEDIDENTIFIER];\n var keyToken, keyName, value, node;\n for (;;) {\n keyToken = this._lookaheadToken(0);\n if (identifierTypes.indexOf(keyToken.type) < 0) {\n throw new Error(\"Expecting an identifier token, got: \" +\n keyToken.type);\n }\n keyName = keyToken.value;\n this._advance();\n this._match(TOK_COLON);\n value = this.expression(0);\n node = {type: \"KeyValuePair\", name: keyName, value: value};\n pairs.push(node);\n if (this._lookahead(0) === TOK_COMMA) {\n this._match(TOK_COMMA);\n } else if (this._lookahead(0) === TOK_RBRACE) {\n this._match(TOK_RBRACE);\n break;\n }\n }\n return {type: \"MultiSelectHash\", children: pairs};\n }\n };\n\n\n function TreeInterpreter(runtime) {\n this.runtime = runtime;\n }\n\n TreeInterpreter.prototype = {\n search: function(node, value) {\n return this.visit(node, value);\n },\n\n visit: function(node, value) {\n var matched, current, result, first, second, field, left, right, collected, i;\n switch (node.type) {\n case \"Field\":\n if (value === null ) {\n return null;\n } else if (isObject(value)) {\n field = value[node.name];\n if (field === undefined) {\n return null;\n } else {\n return field;\n }\n } else {\n return null;\n }\n break;\n case \"Subexpression\":\n result = this.visit(node.children[0], value);\n for (i = 1; i < node.children.length; i++) {\n result = this.visit(node.children[1], result);\n if (result === null) {\n return null;\n }\n }\n return result;\n case \"IndexExpression\":\n left = this.visit(node.children[0], value);\n right = this.visit(node.children[1], left);\n return right;\n case \"Index\":\n if (!isArray(value)) {\n return null;\n }\n var index = node.value;\n if (index < 0) {\n index = value.length + index;\n }\n result = value[index];\n if (result === undefined) {\n result = null;\n }\n return result;\n case \"Slice\":\n if (!isArray(value)) {\n return null;\n }\n var sliceParams = node.children.slice(0);\n var computed = this.computeSliceParams(value.length, sliceParams);\n var start = computed[0];\n var stop = computed[1];\n var step = computed[2];\n result = [];\n if (step > 0) {\n for (i = start; i < stop; i += step) {\n result.push(value[i]);\n }\n } else {\n for (i = start; i > stop; i += step) {\n result.push(value[i]);\n }\n }\n return result;\n case \"Projection\":\n // Evaluate left child.\n var base = this.visit(node.children[0], value);\n if (!isArray(base)) {\n return null;\n }\n collected = [];\n for (i = 0; i < base.length; i++) {\n current = this.visit(node.children[1], base[i]);\n if (current !== null) {\n collected.push(current);\n }\n }\n return collected;\n case \"ValueProjection\":\n // Evaluate left child.\n base = this.visit(node.children[0], value);\n if (!isObject(base)) {\n return null;\n }\n collected = [];\n var values = objValues(base);\n for (i = 0; i < values.length; i++) {\n current = this.visit(node.children[1], values[i]);\n if (current !== null) {\n collected.push(current);\n }\n }\n return collected;\n case \"FilterProjection\":\n base = this.visit(node.children[0], value);\n if (!isArray(base)) {\n return null;\n }\n var filtered = [];\n var finalResults = [];\n for (i = 0; i < base.length; i++) {\n matched = this.visit(node.children[2], base[i]);\n if (!isFalse(matched)) {\n filtered.push(base[i]);\n }\n }\n for (var j = 0; j < filtered.length; j++) {\n current = this.visit(node.children[1], filtered[j]);\n if (current !== null) {\n finalResults.push(current);\n }\n }\n return finalResults;\n case \"Comparator\":\n first = this.visit(node.children[0], value);\n second = this.visit(node.children[1], value);\n switch(node.name) {\n case TOK_EQ:\n result = strictDeepEqual(first, second);\n break;\n case TOK_NE:\n result = !strictDeepEqual(first, second);\n break;\n case TOK_GT:\n result = first > second;\n break;\n case TOK_GTE:\n result = first >= second;\n break;\n case TOK_LT:\n result = first < second;\n break;\n case TOK_LTE:\n result = first <= second;\n break;\n default:\n throw new Error(\"Unknown comparator: \" + node.name);\n }\n return result;\n case TOK_FLATTEN:\n var original = this.visit(node.children[0], value);\n if (!isArray(original)) {\n return null;\n }\n var merged = [];\n for (i = 0; i < original.length; i++) {\n current = original[i];\n if (isArray(current)) {\n merged.push.apply(merged, current);\n } else {\n merged.push(current);\n }\n }\n return merged;\n case \"Identity\":\n return value;\n case \"MultiSelectList\":\n if (value === null) {\n return null;\n }\n collected = [];\n for (i = 0; i < node.children.length; i++) {\n collected.push(this.visit(node.children[i], value));\n }\n return collected;\n case \"MultiSelectHash\":\n if (value === null) {\n return null;\n }\n collected = {};\n var child;\n for (i = 0; i < node.children.length; i++) {\n child = node.children[i];\n collected[child.name] = this.visit(child.value, value);\n }\n return collected;\n case \"OrExpression\":\n matched = this.visit(node.children[0], value);\n if (isFalse(matched)) {\n matched = this.visit(node.children[1], value);\n }\n return matched;\n case \"AndExpression\":\n first = this.visit(node.children[0], value);\n\n if (isFalse(first) === true) {\n return first;\n }\n return this.visit(node.children[1], value);\n case \"NotExpression\":\n first = this.visit(node.children[0], value);\n return isFalse(first);\n case \"Literal\":\n return node.value;\n case TOK_PIPE:\n left = this.visit(node.children[0], value);\n return this.visit(node.children[1], left);\n case TOK_CURRENT:\n return value;\n case \"Function\":\n var resolvedArgs = [];\n for (i = 0; i < node.children.length; i++) {\n resolvedArgs.push(this.visit(node.children[i], value));\n }\n return this.runtime.callFunction(node.name, resolvedArgs);\n case \"ExpressionReference\":\n var refNode = node.children[0];\n // Tag the node with a specific attribute so the type\n // checker verify the type.\n refNode.jmespathType = TOK_EXPREF;\n return refNode;\n default:\n throw new Error(\"Unknown node type: \" + node.type);\n }\n },\n\n computeSliceParams: function(arrayLength, sliceParams) {\n var start = sliceParams[0];\n var stop = sliceParams[1];\n var step = sliceParams[2];\n var computed = [null, null, null];\n if (step === null) {\n step = 1;\n } else if (step === 0) {\n var error = new Error(\"Invalid slice, step cannot be 0\");\n error.name = \"RuntimeError\";\n throw error;\n }\n var stepValueNegative = step < 0 ? true : false;\n\n if (start === null) {\n start = stepValueNegative ? arrayLength - 1 : 0;\n } else {\n start = this.capSliceRange(arrayLength, start, step);\n }\n\n if (stop === null) {\n stop = stepValueNegative ? -1 : arrayLength;\n } else {\n stop = this.capSliceRange(arrayLength, stop, step);\n }\n computed[0] = start;\n computed[1] = stop;\n computed[2] = step;\n return computed;\n },\n\n capSliceRange: function(arrayLength, actualValue, step) {\n if (actualValue < 0) {\n actualValue += arrayLength;\n if (actualValue < 0) {\n actualValue = step < 0 ? -1 : 0;\n }\n } else if (actualValue >= arrayLength) {\n actualValue = step < 0 ? arrayLength - 1 : arrayLength;\n }\n return actualValue;\n }\n\n };\n\n function Runtime(interpreter) {\n this._interpreter = interpreter;\n this.functionTable = {\n // name: [function, ]\n // The can be:\n //\n // {\n // args: [[type1, type2], [type1, type2]],\n // variadic: true|false\n // }\n //\n // Each arg in the arg list is a list of valid types\n // (if the function is overloaded and supports multiple\n // types. If the type is \"any\" then no type checking\n // occurs on the argument. Variadic is optional\n // and if not provided is assumed to be false.\n abs: {_func: this._functionAbs, _signature: [{types: [TYPE_NUMBER]}]},\n avg: {_func: this._functionAvg, _signature: [{types: [TYPE_ARRAY_NUMBER]}]},\n ceil: {_func: this._functionCeil, _signature: [{types: [TYPE_NUMBER]}]},\n contains: {\n _func: this._functionContains,\n _signature: [{types: [TYPE_STRING, TYPE_ARRAY]},\n {types: [TYPE_ANY]}]},\n \"ends_with\": {\n _func: this._functionEndsWith,\n _signature: [{types: [TYPE_STRING]}, {types: [TYPE_STRING]}]},\n floor: {_func: this._functionFloor, _signature: [{types: [TYPE_NUMBER]}]},\n length: {\n _func: this._functionLength,\n _signature: [{types: [TYPE_STRING, TYPE_ARRAY, TYPE_OBJECT]}]},\n map: {\n _func: this._functionMap,\n _signature: [{types: [TYPE_EXPREF]}, {types: [TYPE_ARRAY]}]},\n max: {\n _func: this._functionMax,\n _signature: [{types: [TYPE_ARRAY_NUMBER, TYPE_ARRAY_STRING]}]},\n \"merge\": {\n _func: this._functionMerge,\n _signature: [{types: [TYPE_OBJECT], variadic: true}]\n },\n \"max_by\": {\n _func: this._functionMaxBy,\n _signature: [{types: [TYPE_ARRAY]}, {types: [TYPE_EXPREF]}]\n },\n sum: {_func: this._functionSum, _signature: [{types: [TYPE_ARRAY_NUMBER]}]},\n \"starts_with\": {\n _func: this._functionStartsWith,\n _signature: [{types: [TYPE_STRING]}, {types: [TYPE_STRING]}]},\n min: {\n _func: this._functionMin,\n _signature: [{types: [TYPE_ARRAY_NUMBER, TYPE_ARRAY_STRING]}]},\n \"min_by\": {\n _func: this._functionMinBy,\n _signature: [{types: [TYPE_ARRAY]}, {types: [TYPE_EXPREF]}]\n },\n type: {_func: this._functionType, _signature: [{types: [TYPE_ANY]}]},\n keys: {_func: this._functionKeys, _signature: [{types: [TYPE_OBJECT]}]},\n values: {_func: this._functionValues, _signature: [{types: [TYPE_OBJECT]}]},\n sort: {_func: this._functionSort, _signature: [{types: [TYPE_ARRAY_STRING, TYPE_ARRAY_NUMBER]}]},\n \"sort_by\": {\n _func: this._functionSortBy,\n _signature: [{types: [TYPE_ARRAY]}, {types: [TYPE_EXPREF]}]\n },\n join: {\n _func: this._functionJoin,\n _signature: [\n {types: [TYPE_STRING]},\n {types: [TYPE_ARRAY_STRING]}\n ]\n },\n reverse: {\n _func: this._functionReverse,\n _signature: [{types: [TYPE_STRING, TYPE_ARRAY]}]},\n \"to_array\": {_func: this._functionToArray, _signature: [{types: [TYPE_ANY]}]},\n \"to_string\": {_func: this._functionToString, _signature: [{types: [TYPE_ANY]}]},\n \"to_number\": {_func: this._functionToNumber, _signature: [{types: [TYPE_ANY]}]},\n \"not_null\": {\n _func: this._functionNotNull,\n _signature: [{types: [TYPE_ANY], variadic: true}]\n }\n };\n }\n\n Runtime.prototype = {\n callFunction: function(name, resolvedArgs) {\n var functionEntry = this.functionTable[name];\n if (functionEntry === undefined) {\n throw new Error(\"Unknown function: \" + name + \"()\");\n }\n this._validateArgs(name, resolvedArgs, functionEntry._signature);\n return functionEntry._func.call(this, resolvedArgs);\n },\n\n _validateArgs: function(name, args, signature) {\n // Validating the args requires validating\n // the correct arity and the correct type of each arg.\n // If the last argument is declared as variadic, then we need\n // a minimum number of args to be required. Otherwise it has to\n // be an exact amount.\n var pluralized;\n if (signature[signature.length - 1].variadic) {\n if (args.length < signature.length) {\n pluralized = signature.length === 1 ? \" argument\" : \" arguments\";\n throw new Error(\"ArgumentError: \" + name + \"() \" +\n \"takes at least\" + signature.length + pluralized +\n \" but received \" + args.length);\n }\n } else if (args.length !== signature.length) {\n pluralized = signature.length === 1 ? \" argument\" : \" arguments\";\n throw new Error(\"ArgumentError: \" + name + \"() \" +\n \"takes \" + signature.length + pluralized +\n \" but received \" + args.length);\n }\n var currentSpec;\n var actualType;\n var typeMatched;\n for (var i = 0; i < signature.length; i++) {\n typeMatched = false;\n currentSpec = signature[i].types;\n actualType = this._getTypeName(args[i]);\n for (var j = 0; j < currentSpec.length; j++) {\n if (this._typeMatches(actualType, currentSpec[j], args[i])) {\n typeMatched = true;\n break;\n }\n }\n if (!typeMatched) {\n throw new Error(\"TypeError: \" + name + \"() \" +\n \"expected argument \" + (i + 1) +\n \" to be type \" + currentSpec +\n \" but received type \" + actualType +\n \" instead.\");\n }\n }\n },\n\n _typeMatches: function(actual, expected, argValue) {\n if (expected === TYPE_ANY) {\n return true;\n }\n if (expected === TYPE_ARRAY_STRING ||\n expected === TYPE_ARRAY_NUMBER ||\n expected === TYPE_ARRAY) {\n // The expected type can either just be array,\n // or it can require a specific subtype (array of numbers).\n //\n // The simplest case is if \"array\" with no subtype is specified.\n if (expected === TYPE_ARRAY) {\n return actual === TYPE_ARRAY;\n } else if (actual === TYPE_ARRAY) {\n // Otherwise we need to check subtypes.\n // I think this has potential to be improved.\n var subtype;\n if (expected === TYPE_ARRAY_NUMBER) {\n subtype = TYPE_NUMBER;\n } else if (expected === TYPE_ARRAY_STRING) {\n subtype = TYPE_STRING;\n }\n for (var i = 0; i < argValue.length; i++) {\n if (!this._typeMatches(\n this._getTypeName(argValue[i]), subtype,\n argValue[i])) {\n return false;\n }\n }\n return true;\n }\n } else {\n return actual === expected;\n }\n },\n _getTypeName: function(obj) {\n switch (Object.prototype.toString.call(obj)) {\n case \"[object String]\":\n return TYPE_STRING;\n case \"[object Number]\":\n return TYPE_NUMBER;\n case \"[object Array]\":\n return TYPE_ARRAY;\n case \"[object Boolean]\":\n return TYPE_BOOLEAN;\n case \"[object Null]\":\n return TYPE_NULL;\n case \"[object Object]\":\n // Check if it's an expref. If it has, it's been\n // tagged with a jmespathType attr of 'Expref';\n if (obj.jmespathType === TOK_EXPREF) {\n return TYPE_EXPREF;\n } else {\n return TYPE_OBJECT;\n }\n }\n },\n\n _functionStartsWith: function(resolvedArgs) {\n return resolvedArgs[0].lastIndexOf(resolvedArgs[1]) === 0;\n },\n\n _functionEndsWith: function(resolvedArgs) {\n var searchStr = resolvedArgs[0];\n var suffix = resolvedArgs[1];\n return searchStr.indexOf(suffix, searchStr.length - suffix.length) !== -1;\n },\n\n _functionReverse: function(resolvedArgs) {\n var typeName = this._getTypeName(resolvedArgs[0]);\n if (typeName === TYPE_STRING) {\n var originalStr = resolvedArgs[0];\n var reversedStr = \"\";\n for (var i = originalStr.length - 1; i >= 0; i--) {\n reversedStr += originalStr[i];\n }\n return reversedStr;\n } else {\n var reversedArray = resolvedArgs[0].slice(0);\n reversedArray.reverse();\n return reversedArray;\n }\n },\n\n _functionAbs: function(resolvedArgs) {\n return Math.abs(resolvedArgs[0]);\n },\n\n _functionCeil: function(resolvedArgs) {\n return Math.ceil(resolvedArgs[0]);\n },\n\n _functionAvg: function(resolvedArgs) {\n var sum = 0;\n var inputArray = resolvedArgs[0];\n for (var i = 0; i < inputArray.length; i++) {\n sum += inputArray[i];\n }\n return sum / inputArray.length;\n },\n\n _functionContains: function(resolvedArgs) {\n return resolvedArgs[0].indexOf(resolvedArgs[1]) >= 0;\n },\n\n _functionFloor: function(resolvedArgs) {\n return Math.floor(resolvedArgs[0]);\n },\n\n _functionLength: function(resolvedArgs) {\n if (!isObject(resolvedArgs[0])) {\n return resolvedArgs[0].length;\n } else {\n // As far as I can tell, there's no way to get the length\n // of an object without O(n) iteration through the object.\n return Object.keys(resolvedArgs[0]).length;\n }\n },\n\n _functionMap: function(resolvedArgs) {\n var mapped = [];\n var interpreter = this._interpreter;\n var exprefNode = resolvedArgs[0];\n var elements = resolvedArgs[1];\n for (var i = 0; i < elements.length; i++) {\n mapped.push(interpreter.visit(exprefNode, elements[i]));\n }\n return mapped;\n },\n\n _functionMerge: function(resolvedArgs) {\n var merged = {};\n for (var i = 0; i < resolvedArgs.length; i++) {\n var current = resolvedArgs[i];\n for (var key in current) {\n merged[key] = current[key];\n }\n }\n return merged;\n },\n\n _functionMax: function(resolvedArgs) {\n if (resolvedArgs[0].length > 0) {\n var typeName = this._getTypeName(resolvedArgs[0][0]);\n if (typeName === TYPE_NUMBER) {\n return Math.max.apply(Math, resolvedArgs[0]);\n } else {\n var elements = resolvedArgs[0];\n var maxElement = elements[0];\n for (var i = 1; i < elements.length; i++) {\n if (maxElement.localeCompare(elements[i]) < 0) {\n maxElement = elements[i];\n }\n }\n return maxElement;\n }\n } else {\n return null;\n }\n },\n\n _functionMin: function(resolvedArgs) {\n if (resolvedArgs[0].length > 0) {\n var typeName = this._getTypeName(resolvedArgs[0][0]);\n if (typeName === TYPE_NUMBER) {\n return Math.min.apply(Math, resolvedArgs[0]);\n } else {\n var elements = resolvedArgs[0];\n var minElement = elements[0];\n for (var i = 1; i < elements.length; i++) {\n if (elements[i].localeCompare(minElement) < 0) {\n minElement = elements[i];\n }\n }\n return minElement;\n }\n } else {\n return null;\n }\n },\n\n _functionSum: function(resolvedArgs) {\n var sum = 0;\n var listToSum = resolvedArgs[0];\n for (var i = 0; i < listToSum.length; i++) {\n sum += listToSum[i];\n }\n return sum;\n },\n\n _functionType: function(resolvedArgs) {\n switch (this._getTypeName(resolvedArgs[0])) {\n case TYPE_NUMBER:\n return \"number\";\n case TYPE_STRING:\n return \"string\";\n case TYPE_ARRAY:\n return \"array\";\n case TYPE_OBJECT:\n return \"object\";\n case TYPE_BOOLEAN:\n return \"boolean\";\n case TYPE_EXPREF:\n return \"expref\";\n case TYPE_NULL:\n return \"null\";\n }\n },\n\n _functionKeys: function(resolvedArgs) {\n return Object.keys(resolvedArgs[0]);\n },\n\n _functionValues: function(resolvedArgs) {\n var obj = resolvedArgs[0];\n var keys = Object.keys(obj);\n var values = [];\n for (var i = 0; i < keys.length; i++) {\n values.push(obj[keys[i]]);\n }\n return values;\n },\n\n _functionJoin: function(resolvedArgs) {\n var joinChar = resolvedArgs[0];\n var listJoin = resolvedArgs[1];\n return listJoin.join(joinChar);\n },\n\n _functionToArray: function(resolvedArgs) {\n if (this._getTypeName(resolvedArgs[0]) === TYPE_ARRAY) {\n return resolvedArgs[0];\n } else {\n return [resolvedArgs[0]];\n }\n },\n\n _functionToString: function(resolvedArgs) {\n if (this._getTypeName(resolvedArgs[0]) === TYPE_STRING) {\n return resolvedArgs[0];\n } else {\n return JSON.stringify(resolvedArgs[0]);\n }\n },\n\n _functionToNumber: function(resolvedArgs) {\n var typeName = this._getTypeName(resolvedArgs[0]);\n var convertedValue;\n if (typeName === TYPE_NUMBER) {\n return resolvedArgs[0];\n } else if (typeName === TYPE_STRING) {\n convertedValue = +resolvedArgs[0];\n if (!isNaN(convertedValue)) {\n return convertedValue;\n }\n }\n return null;\n },\n\n _functionNotNull: function(resolvedArgs) {\n for (var i = 0; i < resolvedArgs.length; i++) {\n if (this._getTypeName(resolvedArgs[i]) !== TYPE_NULL) {\n return resolvedArgs[i];\n }\n }\n return null;\n },\n\n _functionSort: function(resolvedArgs) {\n var sortedArray = resolvedArgs[0].slice(0);\n sortedArray.sort();\n return sortedArray;\n },\n\n _functionSortBy: function(resolvedArgs) {\n var sortedArray = resolvedArgs[0].slice(0);\n if (sortedArray.length === 0) {\n return sortedArray;\n }\n var interpreter = this._interpreter;\n var exprefNode = resolvedArgs[1];\n var requiredType = this._getTypeName(\n interpreter.visit(exprefNode, sortedArray[0]));\n if ([TYPE_NUMBER, TYPE_STRING].indexOf(requiredType) < 0) {\n throw new Error(\"TypeError\");\n }\n var that = this;\n // In order to get a stable sort out of an unstable\n // sort algorithm, we decorate/sort/undecorate (DSU)\n // by creating a new list of [index, element] pairs.\n // In the cmp function, if the evaluated elements are\n // equal, then the index will be used as the tiebreaker.\n // After the decorated list has been sorted, it will be\n // undecorated to extract the original elements.\n var decorated = [];\n for (var i = 0; i < sortedArray.length; i++) {\n decorated.push([i, sortedArray[i]]);\n }\n decorated.sort(function(a, b) {\n var exprA = interpreter.visit(exprefNode, a[1]);\n var exprB = interpreter.visit(exprefNode, b[1]);\n if (that._getTypeName(exprA) !== requiredType) {\n throw new Error(\n \"TypeError: expected \" + requiredType + \", received \" +\n that._getTypeName(exprA));\n } else if (that._getTypeName(exprB) !== requiredType) {\n throw new Error(\n \"TypeError: expected \" + requiredType + \", received \" +\n that._getTypeName(exprB));\n }\n if (exprA > exprB) {\n return 1;\n } else if (exprA < exprB) {\n return -1;\n } else {\n // If they're equal compare the items by their\n // order to maintain relative order of equal keys\n // (i.e. to get a stable sort).\n return a[0] - b[0];\n }\n });\n // Undecorate: extract out the original list elements.\n for (var j = 0; j < decorated.length; j++) {\n sortedArray[j] = decorated[j][1];\n }\n return sortedArray;\n },\n\n _functionMaxBy: function(resolvedArgs) {\n var exprefNode = resolvedArgs[1];\n var resolvedArray = resolvedArgs[0];\n var keyFunction = this.createKeyFunction(exprefNode, [TYPE_NUMBER, TYPE_STRING]);\n var maxNumber = -Infinity;\n var maxRecord;\n var current;\n for (var i = 0; i < resolvedArray.length; i++) {\n current = keyFunction(resolvedArray[i]);\n if (current > maxNumber) {\n maxNumber = current;\n maxRecord = resolvedArray[i];\n }\n }\n return maxRecord;\n },\n\n _functionMinBy: function(resolvedArgs) {\n var exprefNode = resolvedArgs[1];\n var resolvedArray = resolvedArgs[0];\n var keyFunction = this.createKeyFunction(exprefNode, [TYPE_NUMBER, TYPE_STRING]);\n var minNumber = Infinity;\n var minRecord;\n var current;\n for (var i = 0; i < resolvedArray.length; i++) {\n current = keyFunction(resolvedArray[i]);\n if (current < minNumber) {\n minNumber = current;\n minRecord = resolvedArray[i];\n }\n }\n return minRecord;\n },\n\n createKeyFunction: function(exprefNode, allowedTypes) {\n var that = this;\n var interpreter = this._interpreter;\n var keyFunc = function(x) {\n var current = interpreter.visit(exprefNode, x);\n if (allowedTypes.indexOf(that._getTypeName(current)) < 0) {\n var msg = \"TypeError: expected one of \" + allowedTypes +\n \", received \" + that._getTypeName(current);\n throw new Error(msg);\n }\n return current;\n };\n return keyFunc;\n }\n\n };\n\n function compile(stream) {\n var parser = new Parser();\n var ast = parser.parse(stream);\n return ast;\n }\n\n function tokenize(stream) {\n var lexer = new Lexer();\n return lexer.tokenize(stream);\n }\n\n function search(data, expression) {\n var parser = new Parser();\n // This needs to be improved. Both the interpreter and runtime depend on\n // each other. The runtime needs the interpreter to support exprefs.\n // There's likely a clean way to avoid the cyclic dependency.\n var runtime = new Runtime();\n var interpreter = new TreeInterpreter(runtime);\n runtime._interpreter = interpreter;\n var node = parser.parse(expression);\n return interpreter.search(node, data);\n }\n\n exports.tokenize = tokenize;\n exports.compile = compile;\n exports.search = search;\n exports.strictDeepEqual = strictDeepEqual;\n})(typeof exports === \"undefined\" ? this.jmespath = {} : exports);\n","var util = require('../util');\nvar property = util.property;\n\nfunction ResourceWaiter(name, waiter, options) {\n options = options || {};\n property(this, 'name', name);\n property(this, 'api', options.api, false);\n\n if (waiter.operation) {\n property(this, 'operation', util.string.lowerFirst(waiter.operation));\n }\n\n var self = this;\n var keys = [\n 'type',\n 'description',\n 'delay',\n 'maxAttempts',\n 'acceptors'\n ];\n\n keys.forEach(function(key) {\n var value = waiter[key];\n if (value) {\n property(self, key, value);\n }\n });\n}\n\n/**\n * @api private\n */\nmodule.exports = ResourceWaiter;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar punycode = require('punycode');\nvar util = require('./util');\n\nexports.parse = urlParse;\nexports.resolve = urlResolve;\nexports.resolveObject = urlResolveObject;\nexports.format = urlFormat;\n\nexports.Url = Url;\n\nfunction Url() {\n this.protocol = null;\n this.slashes = null;\n this.auth = null;\n this.host = null;\n this.port = null;\n this.hostname = null;\n this.hash = null;\n this.search = null;\n this.query = null;\n this.pathname = null;\n this.path = null;\n this.href = null;\n}\n\n// Reference: RFC 3986, RFC 1808, RFC 2396\n\n// define these here so at least they only have to be\n// compiled once on the first module load.\nvar protocolPattern = /^([a-z0-9.+-]+:)/i,\n portPattern = /:[0-9]*$/,\n\n // Special case for a simple path URL\n simplePathPattern = /^(\\/\\/?(?!\\/)[^\\?\\s]*)(\\?[^\\s]*)?$/,\n\n // RFC 2396: characters reserved for delimiting URLs.\n // We actually just auto-escape these.\n delims = ['<', '>', '\"', '`', ' ', '\\r', '\\n', '\\t'],\n\n // RFC 2396: characters not allowed for various reasons.\n unwise = ['{', '}', '|', '\\\\', '^', '`'].concat(delims),\n\n // Allowed by RFCs, but cause of XSS attacks. Always escape these.\n autoEscape = ['\\''].concat(unwise),\n // Characters that are never ever allowed in a hostname.\n // Note that any invalid chars are also handled, but these\n // are the ones that are *expected* to be seen, so we fast-path\n // them.\n nonHostChars = ['%', '/', '?', ';', '#'].concat(autoEscape),\n hostEndingChars = ['/', '?', '#'],\n hostnameMaxLen = 255,\n hostnamePartPattern = /^[+a-z0-9A-Z_-]{0,63}$/,\n hostnamePartStart = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,\n // protocols that can allow \"unsafe\" and \"unwise\" chars.\n unsafeProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that never have a hostname.\n hostlessProtocol = {\n 'javascript': true,\n 'javascript:': true\n },\n // protocols that always contain a // bit.\n slashedProtocol = {\n 'http': true,\n 'https': true,\n 'ftp': true,\n 'gopher': true,\n 'file': true,\n 'http:': true,\n 'https:': true,\n 'ftp:': true,\n 'gopher:': true,\n 'file:': true\n },\n querystring = require('querystring');\n\nfunction urlParse(url, parseQueryString, slashesDenoteHost) {\n if (url && util.isObject(url) && url instanceof Url) return url;\n\n var u = new Url;\n u.parse(url, parseQueryString, slashesDenoteHost);\n return u;\n}\n\nUrl.prototype.parse = function(url, parseQueryString, slashesDenoteHost) {\n if (!util.isString(url)) {\n throw new TypeError(\"Parameter 'url' must be a string, not \" + typeof url);\n }\n\n // Copy chrome, IE, opera backslash-handling behavior.\n // Back slashes before the query string get converted to forward slashes\n // See: https://code.google.com/p/chromium/issues/detail?id=25916\n var queryIndex = url.indexOf('?'),\n splitter =\n (queryIndex !== -1 && queryIndex < url.indexOf('#')) ? '?' : '#',\n uSplit = url.split(splitter),\n slashRegex = /\\\\/g;\n uSplit[0] = uSplit[0].replace(slashRegex, '/');\n url = uSplit.join(splitter);\n\n var rest = url;\n\n // trim before proceeding.\n // This is to support parse stuff like \" http://foo.com \\n\"\n rest = rest.trim();\n\n if (!slashesDenoteHost && url.split('#').length === 1) {\n // Try fast path regexp\n var simplePath = simplePathPattern.exec(rest);\n if (simplePath) {\n this.path = rest;\n this.href = rest;\n this.pathname = simplePath[1];\n if (simplePath[2]) {\n this.search = simplePath[2];\n if (parseQueryString) {\n this.query = querystring.parse(this.search.substr(1));\n } else {\n this.query = this.search.substr(1);\n }\n } else if (parseQueryString) {\n this.search = '';\n this.query = {};\n }\n return this;\n }\n }\n\n var proto = protocolPattern.exec(rest);\n if (proto) {\n proto = proto[0];\n var lowerProto = proto.toLowerCase();\n this.protocol = lowerProto;\n rest = rest.substr(proto.length);\n }\n\n // figure out if it's got a host\n // user@server is *always* interpreted as a hostname, and url\n // resolution will treat //foo/bar as host=foo,path=bar because that's\n // how the browser resolves relative URLs.\n if (slashesDenoteHost || proto || rest.match(/^\\/\\/[^@\\/]+@[^@\\/]+/)) {\n var slashes = rest.substr(0, 2) === '//';\n if (slashes && !(proto && hostlessProtocol[proto])) {\n rest = rest.substr(2);\n this.slashes = true;\n }\n }\n\n if (!hostlessProtocol[proto] &&\n (slashes || (proto && !slashedProtocol[proto]))) {\n\n // there's a hostname.\n // the first instance of /, ?, ;, or # ends the host.\n //\n // If there is an @ in the hostname, then non-host chars *are* allowed\n // to the left of the last @ sign, unless some host-ending character\n // comes *before* the @-sign.\n // URLs are obnoxious.\n //\n // ex:\n // http://a@b@c/ => user:a@b host:c\n // http://a@b?@c => user:a host:c path:/?@c\n\n // v0.12 TODO(isaacs): This is not quite how Chrome does things.\n // Review our test case against browsers more comprehensively.\n\n // find the first instance of any hostEndingChars\n var hostEnd = -1;\n for (var i = 0; i < hostEndingChars.length; i++) {\n var hec = rest.indexOf(hostEndingChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n\n // at this point, either we have an explicit point where the\n // auth portion cannot go past, or the last @ char is the decider.\n var auth, atSign;\n if (hostEnd === -1) {\n // atSign can be anywhere.\n atSign = rest.lastIndexOf('@');\n } else {\n // atSign must be in auth portion.\n // http://a@b/c@d => host:b auth:a path:/c@d\n atSign = rest.lastIndexOf('@', hostEnd);\n }\n\n // Now we have a portion which is definitely the auth.\n // Pull that off.\n if (atSign !== -1) {\n auth = rest.slice(0, atSign);\n rest = rest.slice(atSign + 1);\n this.auth = decodeURIComponent(auth);\n }\n\n // the host is the remaining to the left of the first non-host char\n hostEnd = -1;\n for (var i = 0; i < nonHostChars.length; i++) {\n var hec = rest.indexOf(nonHostChars[i]);\n if (hec !== -1 && (hostEnd === -1 || hec < hostEnd))\n hostEnd = hec;\n }\n // if we still have not hit it, then the entire thing is a host.\n if (hostEnd === -1)\n hostEnd = rest.length;\n\n this.host = rest.slice(0, hostEnd);\n rest = rest.slice(hostEnd);\n\n // pull out port.\n this.parseHost();\n\n // we've indicated that there is a hostname,\n // so even if it's empty, it has to be present.\n this.hostname = this.hostname || '';\n\n // if hostname begins with [ and ends with ]\n // assume that it's an IPv6 address.\n var ipv6Hostname = this.hostname[0] === '[' &&\n this.hostname[this.hostname.length - 1] === ']';\n\n // validate a little.\n if (!ipv6Hostname) {\n var hostparts = this.hostname.split(/\\./);\n for (var i = 0, l = hostparts.length; i < l; i++) {\n var part = hostparts[i];\n if (!part) continue;\n if (!part.match(hostnamePartPattern)) {\n var newpart = '';\n for (var j = 0, k = part.length; j < k; j++) {\n if (part.charCodeAt(j) > 127) {\n // we replace non-ASCII char with a temporary placeholder\n // we need this to make sure size of hostname is not\n // broken by replacing non-ASCII by nothing\n newpart += 'x';\n } else {\n newpart += part[j];\n }\n }\n // we test again with ASCII char only\n if (!newpart.match(hostnamePartPattern)) {\n var validParts = hostparts.slice(0, i);\n var notHost = hostparts.slice(i + 1);\n var bit = part.match(hostnamePartStart);\n if (bit) {\n validParts.push(bit[1]);\n notHost.unshift(bit[2]);\n }\n if (notHost.length) {\n rest = '/' + notHost.join('.') + rest;\n }\n this.hostname = validParts.join('.');\n break;\n }\n }\n }\n }\n\n if (this.hostname.length > hostnameMaxLen) {\n this.hostname = '';\n } else {\n // hostnames are always lower case.\n this.hostname = this.hostname.toLowerCase();\n }\n\n if (!ipv6Hostname) {\n // IDNA Support: Returns a punycoded representation of \"domain\".\n // It only converts parts of the domain name that\n // have non-ASCII characters, i.e. it doesn't matter if\n // you call it with a domain that already is ASCII-only.\n this.hostname = punycode.toASCII(this.hostname);\n }\n\n var p = this.port ? ':' + this.port : '';\n var h = this.hostname || '';\n this.host = h + p;\n this.href += this.host;\n\n // strip [ and ] from the hostname\n // the host field still retains them, though\n if (ipv6Hostname) {\n this.hostname = this.hostname.substr(1, this.hostname.length - 2);\n if (rest[0] !== '/') {\n rest = '/' + rest;\n }\n }\n }\n\n // now rest is set to the post-host stuff.\n // chop off any delim chars.\n if (!unsafeProtocol[lowerProto]) {\n\n // First, make 100% sure that any \"autoEscape\" chars get\n // escaped, even if encodeURIComponent doesn't think they\n // need to be.\n for (var i = 0, l = autoEscape.length; i < l; i++) {\n var ae = autoEscape[i];\n if (rest.indexOf(ae) === -1)\n continue;\n var esc = encodeURIComponent(ae);\n if (esc === ae) {\n esc = escape(ae);\n }\n rest = rest.split(ae).join(esc);\n }\n }\n\n\n // chop off from the tail first.\n var hash = rest.indexOf('#');\n if (hash !== -1) {\n // got a fragment string.\n this.hash = rest.substr(hash);\n rest = rest.slice(0, hash);\n }\n var qm = rest.indexOf('?');\n if (qm !== -1) {\n this.search = rest.substr(qm);\n this.query = rest.substr(qm + 1);\n if (parseQueryString) {\n this.query = querystring.parse(this.query);\n }\n rest = rest.slice(0, qm);\n } else if (parseQueryString) {\n // no query string, but parseQueryString still requested\n this.search = '';\n this.query = {};\n }\n if (rest) this.pathname = rest;\n if (slashedProtocol[lowerProto] &&\n this.hostname && !this.pathname) {\n this.pathname = '/';\n }\n\n //to support http.request\n if (this.pathname || this.search) {\n var p = this.pathname || '';\n var s = this.search || '';\n this.path = p + s;\n }\n\n // finally, reconstruct the href based on what has been validated.\n this.href = this.format();\n return this;\n};\n\n// format a parsed object into a url string\nfunction urlFormat(obj) {\n // ensure it's an object, and not a string url.\n // If it's an obj, this is a no-op.\n // this way, you can call url_format() on strings\n // to clean up potentially wonky urls.\n if (util.isString(obj)) obj = urlParse(obj);\n if (!(obj instanceof Url)) return Url.prototype.format.call(obj);\n return obj.format();\n}\n\nUrl.prototype.format = function() {\n var auth = this.auth || '';\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, ':');\n auth += '@';\n }\n\n var protocol = this.protocol || '',\n pathname = this.pathname || '',\n hash = this.hash || '',\n host = false,\n query = '';\n\n if (this.host) {\n host = auth + this.host;\n } else if (this.hostname) {\n host = auth + (this.hostname.indexOf(':') === -1 ?\n this.hostname :\n '[' + this.hostname + ']');\n if (this.port) {\n host += ':' + this.port;\n }\n }\n\n if (this.query &&\n util.isObject(this.query) &&\n Object.keys(this.query).length) {\n query = querystring.stringify(this.query);\n }\n\n var search = this.search || (query && ('?' + query)) || '';\n\n if (protocol && protocol.substr(-1) !== ':') protocol += ':';\n\n // only the slashedProtocols get the //. Not mailto:, xmpp:, etc.\n // unless they had them to begin with.\n if (this.slashes ||\n (!protocol || slashedProtocol[protocol]) && host !== false) {\n host = '//' + (host || '');\n if (pathname && pathname.charAt(0) !== '/') pathname = '/' + pathname;\n } else if (!host) {\n host = '';\n }\n\n if (hash && hash.charAt(0) !== '#') hash = '#' + hash;\n if (search && search.charAt(0) !== '?') search = '?' + search;\n\n pathname = pathname.replace(/[?#]/g, function(match) {\n return encodeURIComponent(match);\n });\n search = search.replace('#', '%23');\n\n return protocol + host + pathname + search + hash;\n};\n\nfunction urlResolve(source, relative) {\n return urlParse(source, false, true).resolve(relative);\n}\n\nUrl.prototype.resolve = function(relative) {\n return this.resolveObject(urlParse(relative, false, true)).format();\n};\n\nfunction urlResolveObject(source, relative) {\n if (!source) return relative;\n return urlParse(source, false, true).resolveObject(relative);\n}\n\nUrl.prototype.resolveObject = function(relative) {\n if (util.isString(relative)) {\n var rel = new Url();\n rel.parse(relative, false, true);\n relative = rel;\n }\n\n var result = new Url();\n var tkeys = Object.keys(this);\n for (var tk = 0; tk < tkeys.length; tk++) {\n var tkey = tkeys[tk];\n result[tkey] = this[tkey];\n }\n\n // hash is always overridden, no matter what.\n // even href=\"\" will remove it.\n result.hash = relative.hash;\n\n // if the relative url is empty, then there's nothing left to do here.\n if (relative.href === '') {\n result.href = result.format();\n return result;\n }\n\n // hrefs like //foo/bar always cut to the protocol.\n if (relative.slashes && !relative.protocol) {\n // take everything except the protocol from relative\n var rkeys = Object.keys(relative);\n for (var rk = 0; rk < rkeys.length; rk++) {\n var rkey = rkeys[rk];\n if (rkey !== 'protocol')\n result[rkey] = relative[rkey];\n }\n\n //urlParse appends trailing / to urls like http://www.example.com\n if (slashedProtocol[result.protocol] &&\n result.hostname && !result.pathname) {\n result.path = result.pathname = '/';\n }\n\n result.href = result.format();\n return result;\n }\n\n if (relative.protocol && relative.protocol !== result.protocol) {\n // if it's a known url protocol, then changing\n // the protocol does weird things\n // first, if it's not file:, then we MUST have a host,\n // and if there was a path\n // to begin with, then we MUST have a path.\n // if it is file:, then the host is dropped,\n // because that's known to be hostless.\n // anything else is assumed to be absolute.\n if (!slashedProtocol[relative.protocol]) {\n var keys = Object.keys(relative);\n for (var v = 0; v < keys.length; v++) {\n var k = keys[v];\n result[k] = relative[k];\n }\n result.href = result.format();\n return result;\n }\n\n result.protocol = relative.protocol;\n if (!relative.host && !hostlessProtocol[relative.protocol]) {\n var relPath = (relative.pathname || '').split('/');\n while (relPath.length && !(relative.host = relPath.shift()));\n if (!relative.host) relative.host = '';\n if (!relative.hostname) relative.hostname = '';\n if (relPath[0] !== '') relPath.unshift('');\n if (relPath.length < 2) relPath.unshift('');\n result.pathname = relPath.join('/');\n } else {\n result.pathname = relative.pathname;\n }\n result.search = relative.search;\n result.query = relative.query;\n result.host = relative.host || '';\n result.auth = relative.auth;\n result.hostname = relative.hostname || relative.host;\n result.port = relative.port;\n // to support http.request\n if (result.pathname || result.search) {\n var p = result.pathname || '';\n var s = result.search || '';\n result.path = p + s;\n }\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n }\n\n var isSourceAbs = (result.pathname && result.pathname.charAt(0) === '/'),\n isRelAbs = (\n relative.host ||\n relative.pathname && relative.pathname.charAt(0) === '/'\n ),\n mustEndAbs = (isRelAbs || isSourceAbs ||\n (result.host && relative.pathname)),\n removeAllDots = mustEndAbs,\n srcPath = result.pathname && result.pathname.split('/') || [],\n relPath = relative.pathname && relative.pathname.split('/') || [],\n psychotic = result.protocol && !slashedProtocol[result.protocol];\n\n // if the url is a non-slashed url, then relative\n // links like ../.. should be able\n // to crawl up to the hostname, as well. This is strange.\n // result.protocol has already been set by now.\n // Later on, put the first path part into the host field.\n if (psychotic) {\n result.hostname = '';\n result.port = null;\n if (result.host) {\n if (srcPath[0] === '') srcPath[0] = result.host;\n else srcPath.unshift(result.host);\n }\n result.host = '';\n if (relative.protocol) {\n relative.hostname = null;\n relative.port = null;\n if (relative.host) {\n if (relPath[0] === '') relPath[0] = relative.host;\n else relPath.unshift(relative.host);\n }\n relative.host = null;\n }\n mustEndAbs = mustEndAbs && (relPath[0] === '' || srcPath[0] === '');\n }\n\n if (isRelAbs) {\n // it's absolute.\n result.host = (relative.host || relative.host === '') ?\n relative.host : result.host;\n result.hostname = (relative.hostname || relative.hostname === '') ?\n relative.hostname : result.hostname;\n result.search = relative.search;\n result.query = relative.query;\n srcPath = relPath;\n // fall through to the dot-handling below.\n } else if (relPath.length) {\n // it's relative\n // throw away the existing file, and take the new path instead.\n if (!srcPath) srcPath = [];\n srcPath.pop();\n srcPath = srcPath.concat(relPath);\n result.search = relative.search;\n result.query = relative.query;\n } else if (!util.isNullOrUndefined(relative.search)) {\n // just pull out the search.\n // like href='?foo'.\n // Put this after the other two cases because it simplifies the booleans\n if (psychotic) {\n result.hostname = result.host = srcPath.shift();\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n result.search = relative.search;\n result.query = relative.query;\n //to support http.request\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.href = result.format();\n return result;\n }\n\n if (!srcPath.length) {\n // no path at all. easy.\n // we've already handled the other stuff above.\n result.pathname = null;\n //to support http.request\n if (result.search) {\n result.path = '/' + result.search;\n } else {\n result.path = null;\n }\n result.href = result.format();\n return result;\n }\n\n // if a url ENDs in . or .., then it must get a trailing slash.\n // however, if it ends in anything else non-slashy,\n // then it must NOT get a trailing slash.\n var last = srcPath.slice(-1)[0];\n var hasTrailingSlash = (\n (result.host || relative.host || srcPath.length > 1) &&\n (last === '.' || last === '..') || last === '');\n\n // strip single dots, resolve double dots to parent dir\n // if the path tries to go above the root, `up` ends up > 0\n var up = 0;\n for (var i = srcPath.length; i >= 0; i--) {\n last = srcPath[i];\n if (last === '.') {\n srcPath.splice(i, 1);\n } else if (last === '..') {\n srcPath.splice(i, 1);\n up++;\n } else if (up) {\n srcPath.splice(i, 1);\n up--;\n }\n }\n\n // if the path is allowed to go above the root, restore leading ..s\n if (!mustEndAbs && !removeAllDots) {\n for (; up--; up) {\n srcPath.unshift('..');\n }\n }\n\n if (mustEndAbs && srcPath[0] !== '' &&\n (!srcPath[0] || srcPath[0].charAt(0) !== '/')) {\n srcPath.unshift('');\n }\n\n if (hasTrailingSlash && (srcPath.join('/').substr(-1) !== '/')) {\n srcPath.push('');\n }\n\n var isAbsolute = srcPath[0] === '' ||\n (srcPath[0] && srcPath[0].charAt(0) === '/');\n\n // put the host back\n if (psychotic) {\n result.hostname = result.host = isAbsolute ? '' :\n srcPath.length ? srcPath.shift() : '';\n //occationaly the auth can get stuck only in host\n //this especially happens in cases like\n //url.resolveObject('mailto:local1@domain1', 'local2@domain2')\n var authInHost = result.host && result.host.indexOf('@') > 0 ?\n result.host.split('@') : false;\n if (authInHost) {\n result.auth = authInHost.shift();\n result.host = result.hostname = authInHost.shift();\n }\n }\n\n mustEndAbs = mustEndAbs || (result.host && srcPath.length);\n\n if (mustEndAbs && !isAbsolute) {\n srcPath.unshift('');\n }\n\n if (!srcPath.length) {\n result.pathname = null;\n result.path = null;\n } else {\n result.pathname = srcPath.join('/');\n }\n\n //to support request.http\n if (!util.isNull(result.pathname) || !util.isNull(result.search)) {\n result.path = (result.pathname ? result.pathname : '') +\n (result.search ? result.search : '');\n }\n result.auth = relative.auth || result.auth;\n result.slashes = result.slashes || relative.slashes;\n result.href = result.format();\n return result;\n};\n\nUrl.prototype.parseHost = function() {\n var host = this.host;\n var port = portPattern.exec(host);\n if (port) {\n port = port[0];\n if (port !== ':') {\n this.port = port.substr(1);\n }\n host = host.substr(0, host.length - port.length);\n }\n if (host) this.hostname = host;\n};\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['directconnect'] = {};\nAWS.DirectConnect = Service.defineService('directconnect', ['2012-10-25']);\nObject.defineProperty(apiLoader.services['directconnect'], '2012-10-25', {\n get: function get() {\n var model = require('../apis/directconnect-2012-10-25.min.json');\n model.paginators = require('../apis/directconnect-2012-10-25.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.DirectConnect;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['translate'] = {};\nAWS.Translate = Service.defineService('translate', ['2017-07-01']);\nObject.defineProperty(apiLoader.services['translate'], '2017-07-01', {\n get: function get() {\n var model = require('../apis/translate-2017-07-01.min.json');\n model.paginators = require('../apis/translate-2017-07-01.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.Translate;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['iam'] = {};\nAWS.IAM = Service.defineService('iam', ['2010-05-08']);\nObject.defineProperty(apiLoader.services['iam'], '2010-05-08', {\n get: function get() {\n var model = require('../apis/iam-2010-05-08.min.json');\n model.paginators = require('../apis/iam-2010-05-08.paginators.json').pagination;\n model.waiters = require('../apis/iam-2010-05-08.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.IAM;\n","var AWS = require('../core');\nvar inherit = AWS.util.inherit;\n\n/**\n * @api private\n */\nAWS.Signers.V2 = inherit(AWS.Signers.RequestSigner, {\n addAuthorization: function addAuthorization(credentials, date) {\n\n if (!date) date = AWS.util.date.getDate();\n\n var r = this.request;\n\n r.params.Timestamp = AWS.util.date.iso8601(date);\n r.params.SignatureVersion = '2';\n r.params.SignatureMethod = 'HmacSHA256';\n r.params.AWSAccessKeyId = credentials.accessKeyId;\n\n if (credentials.sessionToken) {\n r.params.SecurityToken = credentials.sessionToken;\n }\n\n delete r.params.Signature; // delete old Signature for re-signing\n r.params.Signature = this.signature(credentials);\n\n r.body = AWS.util.queryParamsToString(r.params);\n r.headers['Content-Length'] = r.body.length;\n },\n\n signature: function signature(credentials) {\n return AWS.util.crypto.hmac(credentials.secretAccessKey, this.stringToSign(), 'base64');\n },\n\n stringToSign: function stringToSign() {\n var parts = [];\n parts.push(this.request.method);\n parts.push(this.request.endpoint.host.toLowerCase());\n parts.push(this.request.pathname());\n parts.push(AWS.util.queryParamsToString(this.request.params));\n return parts.join('\\n');\n }\n\n});\n\n/**\n * @api private\n */\nmodule.exports = AWS.Signers.V2;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['dynamodbstreams'] = {};\nAWS.DynamoDBStreams = Service.defineService('dynamodbstreams', ['2012-08-10']);\nObject.defineProperty(apiLoader.services['dynamodbstreams'], '2012-08-10', {\n get: function get() {\n var model = require('../apis/streams.dynamodb-2012-08-10.min.json');\n model.paginators = require('../apis/streams.dynamodb-2012-08-10.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.DynamoDBStreams;\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['apigateway'] = {};\nAWS.APIGateway = Service.defineService('apigateway', ['2015-07-09']);\nrequire('../lib/services/apigateway');\nObject.defineProperty(apiLoader.services['apigateway'], '2015-07-09', {\n get: function get() {\n var model = require('../apis/apigateway-2015-07-09.min.json');\n model.paginators = require('../apis/apigateway-2015-07-09.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.APIGateway;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LRU_1 = require(\"./utils/LRU\");\nvar CACHE_SIZE = 1000;\n/**\n * Inspired node-lru-cache[https://github.com/isaacs/node-lru-cache]\n */\nvar EndpointCache = /** @class */ (function () {\n function EndpointCache(maxSize) {\n if (maxSize === void 0) { maxSize = CACHE_SIZE; }\n this.maxSize = maxSize;\n this.cache = new LRU_1.LRUCache(maxSize);\n }\n ;\n Object.defineProperty(EndpointCache.prototype, \"size\", {\n get: function () {\n return this.cache.length;\n },\n enumerable: true,\n configurable: true\n });\n EndpointCache.prototype.put = function (key, value) {\n var keyString = typeof key !== 'string' ? EndpointCache.getKeyString(key) : key;\n var endpointRecord = this.populateValue(value);\n this.cache.put(keyString, endpointRecord);\n };\n EndpointCache.prototype.get = function (key) {\n var keyString = typeof key !== 'string' ? EndpointCache.getKeyString(key) : key;\n var now = Date.now();\n var records = this.cache.get(keyString);\n if (records) {\n for (var i = 0; i < records.length; i++) {\n var record = records[i];\n if (record.Expire < now) {\n this.cache.remove(keyString);\n return undefined;\n }\n }\n }\n return records;\n };\n EndpointCache.getKeyString = function (key) {\n var identifiers = [];\n var identifierNames = Object.keys(key).sort();\n for (var i = 0; i < identifierNames.length; i++) {\n var identifierName = identifierNames[i];\n if (key[identifierName] === undefined)\n continue;\n identifiers.push(key[identifierName]);\n }\n return identifiers.join(' ');\n };\n EndpointCache.prototype.populateValue = function (endpoints) {\n var now = Date.now();\n return endpoints.map(function (endpoint) { return ({\n Address: endpoint.Address || '',\n Expire: now + (endpoint.CachePeriodInMinutes || 1) * 60 * 1000\n }); });\n };\n EndpointCache.prototype.empty = function () {\n this.cache.empty();\n };\n EndpointCache.prototype.remove = function (key) {\n var keyString = typeof key !== 'string' ? EndpointCache.getKeyString(key) : key;\n this.cache.remove(keyString);\n };\n return EndpointCache;\n}());\nexports.EndpointCache = EndpointCache;","var AWS = require('../core');\n\n/**\n * @api private\n */\nvar cachedSecret = {};\n\n/**\n * @api private\n */\nvar cacheQueue = [];\n\n/**\n * @api private\n */\nvar maxCacheEntries = 50;\n\n/**\n * @api private\n */\nvar v4Identifier = 'aws4_request';\n\n/**\n * @api private\n */\nmodule.exports = {\n /**\n * @api private\n *\n * @param date [String]\n * @param region [String]\n * @param serviceName [String]\n * @return [String]\n */\n createScope: function createScope(date, region, serviceName) {\n return [\n date.substr(0, 8),\n region,\n serviceName,\n v4Identifier\n ].join('/');\n },\n\n /**\n * @api private\n *\n * @param credentials [Credentials]\n * @param date [String]\n * @param region [String]\n * @param service [String]\n * @param shouldCache [Boolean]\n * @return [String]\n */\n getSigningKey: function getSigningKey(\n credentials,\n date,\n region,\n service,\n shouldCache\n ) {\n var credsIdentifier = AWS.util.crypto\n .hmac(credentials.secretAccessKey, credentials.accessKeyId, 'base64');\n var cacheKey = [credsIdentifier, date, region, service].join('_');\n shouldCache = shouldCache !== false;\n if (shouldCache && (cacheKey in cachedSecret)) {\n return cachedSecret[cacheKey];\n }\n\n var kDate = AWS.util.crypto.hmac(\n 'AWS4' + credentials.secretAccessKey,\n date,\n 'buffer'\n );\n var kRegion = AWS.util.crypto.hmac(kDate, region, 'buffer');\n var kService = AWS.util.crypto.hmac(kRegion, service, 'buffer');\n\n var signingKey = AWS.util.crypto.hmac(kService, v4Identifier, 'buffer');\n if (shouldCache) {\n cachedSecret[cacheKey] = signingKey;\n cacheQueue.push(cacheKey);\n if (cacheQueue.length > maxCacheEntries) {\n // remove the oldest entry (not the least recently used)\n delete cachedSecret[cacheQueue.shift()];\n }\n }\n\n return signingKey;\n },\n\n /**\n * @api private\n *\n * Empties the derived signing key cache. Made available for testing purposes\n * only.\n */\n emptyCache: function emptyCache() {\n cachedSecret = {};\n cacheQueue = [];\n }\n};\n","var AWS = require('../core');\n\n/**\n * @api private\n */\nvar blobPayloadOutputOps = [\n 'deleteThingShadow',\n 'getThingShadow',\n 'updateThingShadow'\n];\n\n/**\n * Constructs a service interface object. Each API operation is exposed as a\n * function on service.\n *\n * ### Sending a Request Using IotData\n *\n * ```javascript\n * var iotdata = new AWS.IotData({endpoint: 'my.host.tld'});\n * iotdata.getThingShadow(params, function (err, data) {\n * if (err) console.log(err, err.stack); // an error occurred\n * else console.log(data); // successful response\n * });\n * ```\n *\n * ### Locking the API Version\n *\n * In order to ensure that the IotData object uses this specific API,\n * you can construct the object by passing the `apiVersion` option to the\n * constructor:\n *\n * ```javascript\n * var iotdata = new AWS.IotData({\n * endpoint: 'my.host.tld',\n * apiVersion: '2015-05-28'\n * });\n * ```\n *\n * You can also set the API version globally in `AWS.config.apiVersions` using\n * the **iotdata** service identifier:\n *\n * ```javascript\n * AWS.config.apiVersions = {\n * iotdata: '2015-05-28',\n * // other service API versions\n * };\n *\n * var iotdata = new AWS.IotData({endpoint: 'my.host.tld'});\n * ```\n *\n * @note You *must* provide an `endpoint` configuration parameter when\n * constructing this service. See {constructor} for more information.\n *\n * @!method constructor(options = {})\n * Constructs a service object. This object has one method for each\n * API operation.\n *\n * @example Constructing a IotData object\n * var iotdata = new AWS.IotData({endpoint: 'my.host.tld'});\n * @note You *must* provide an `endpoint` when constructing this service.\n * @option (see AWS.Config.constructor)\n *\n * @service iotdata\n * @version 2015-05-28\n */\nAWS.util.update(AWS.IotData.prototype, {\n /**\n * @api private\n */\n validateService: function validateService() {\n if (!this.config.endpoint || this.config.endpoint.indexOf('{') >= 0) {\n var msg = 'AWS.IotData requires an explicit ' +\n '`endpoint\\' configuration option.';\n throw AWS.util.error(new Error(),\n {name: 'InvalidEndpoint', message: msg});\n }\n },\n\n /**\n * @api private\n */\n setupRequestListeners: function setupRequestListeners(request) {\n request.addListener('validateResponse', this.validateResponseBody);\n if (blobPayloadOutputOps.indexOf(request.operation) > -1) {\n request.addListener('extractData', AWS.util.convertPayloadToString);\n }\n },\n\n /**\n * @api private\n */\n validateResponseBody: function validateResponseBody(resp) {\n var body = resp.httpResponse.body.toString() || '{}';\n var bodyCheck = body.trim();\n if (!bodyCheck || bodyCheck.charAt(0) !== '{') {\n resp.httpResponse.body = '';\n }\n }\n\n});\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['iotanalytics'] = {};\nAWS.IoTAnalytics = Service.defineService('iotanalytics', ['2017-11-27']);\nObject.defineProperty(apiLoader.services['iotanalytics'], '2017-11-27', {\n get: function get() {\n var model = require('../apis/iotanalytics-2017-11-27.min.json');\n model.paginators = require('../apis/iotanalytics-2017-11-27.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.IoTAnalytics;\n","var AWS = require('../core');\nvar inherit = AWS.util.inherit;\n\n/**\n * @api private\n */\nvar expiresHeader = 'presigned-expires';\n\n/**\n * @api private\n */\nfunction signedUrlBuilder(request) {\n var expires = request.httpRequest.headers[expiresHeader];\n var signerClass = request.service.getSignerClass(request);\n\n delete request.httpRequest.headers['User-Agent'];\n delete request.httpRequest.headers['X-Amz-User-Agent'];\n\n if (signerClass === AWS.Signers.V4) {\n if (expires > 604800) { // one week expiry is invalid\n var message = 'Presigning does not support expiry time greater ' +\n 'than a week with SigV4 signing.';\n throw AWS.util.error(new Error(), {\n code: 'InvalidExpiryTime', message: message, retryable: false\n });\n }\n request.httpRequest.headers[expiresHeader] = expires;\n } else if (signerClass === AWS.Signers.S3) {\n var now = request.service ? request.service.getSkewCorrectedDate() : AWS.util.date.getDate();\n request.httpRequest.headers[expiresHeader] = parseInt(\n AWS.util.date.unixTimestamp(now) + expires, 10).toString();\n } else {\n throw AWS.util.error(new Error(), {\n message: 'Presigning only supports S3 or SigV4 signing.',\n code: 'UnsupportedSigner', retryable: false\n });\n }\n}\n\n/**\n * @api private\n */\nfunction signedUrlSigner(request) {\n var endpoint = request.httpRequest.endpoint;\n var parsedUrl = AWS.util.urlParse(request.httpRequest.path);\n var queryParams = {};\n\n if (parsedUrl.search) {\n queryParams = AWS.util.queryStringParse(parsedUrl.search.substr(1));\n }\n\n var auth = request.httpRequest.headers['Authorization'].split(' ');\n if (auth[0] === 'AWS') {\n auth = auth[1].split(':');\n queryParams['Signature'] = auth.pop();\n queryParams['AWSAccessKeyId'] = auth.join(':');\n\n AWS.util.each(request.httpRequest.headers, function (key, value) {\n if (key === expiresHeader) key = 'Expires';\n if (key.indexOf('x-amz-meta-') === 0) {\n // Delete existing, potentially not normalized key\n delete queryParams[key];\n key = key.toLowerCase();\n }\n queryParams[key] = value;\n });\n delete request.httpRequest.headers[expiresHeader];\n delete queryParams['Authorization'];\n delete queryParams['Host'];\n } else if (auth[0] === 'AWS4-HMAC-SHA256') { // SigV4 signing\n auth.shift();\n var rest = auth.join(' ');\n var signature = rest.match(/Signature=(.*?)(?:,|\\s|\\r?\\n|$)/)[1];\n queryParams['X-Amz-Signature'] = signature;\n delete queryParams['Expires'];\n }\n\n // build URL\n endpoint.pathname = parsedUrl.pathname;\n endpoint.search = AWS.util.queryParamsToString(queryParams);\n}\n\n/**\n * @api private\n */\nAWS.Signers.Presign = inherit({\n /**\n * @api private\n */\n sign: function sign(request, expireTime, callback) {\n request.httpRequest.headers[expiresHeader] = expireTime || 3600;\n request.on('build', signedUrlBuilder);\n request.on('sign', signedUrlSigner);\n request.removeListener('afterBuild',\n AWS.EventListeners.Core.SET_CONTENT_LENGTH);\n request.removeListener('afterBuild',\n AWS.EventListeners.Core.COMPUTE_SHA256);\n\n request.emit('beforePresign', [request]);\n\n if (callback) {\n request.build(function() {\n if (this.response.error) callback(this.response.error);\n else {\n callback(null, AWS.util.urlFormat(request.httpRequest.endpoint));\n }\n });\n } else {\n request.build();\n if (request.response.error) throw request.response.error;\n return AWS.util.urlFormat(request.httpRequest.endpoint);\n }\n }\n});\n\n/**\n * @api private\n */\nmodule.exports = AWS.Signers.Presign;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{attrs:{\"id\":\"print-report\"}},[_c('HeaderPrint'),_c('v-card',[_c('div',{staticClass:\"pa-2 d-print-none\"},[_c('v-row',{staticClass:\"align-center\",attrs:{\"no-gutters\":\"\"}},[_c('div',{staticClass:\"d-flex\",class:_vm.$vuetify.breakpoint.smAndDown ? 'flex-column' : ''},[_c('div',[_c('v-btn',{staticClass:\"white black--text d-print-none mr-4\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.$printReport()}}},[_c('v-icon',{attrs:{\"small\":\"\",\"left\":\"\"}},[_vm._v(\"mdi-printer\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"print\"))+\" \")],1)],1),_c('v-row',{class:_vm.$vuetify.breakpoint.smAndDown ? 'mt-2' : '',attrs:{\"no-gutters\":\"\"}},[_c('CreatePromotion',{on:{\"promotionAdded\":_vm.promotionAdded}}),(false)?_c('v-btn',{attrs:{\"small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){_vm.createCasinoBonusDialog = true}}},[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus-box\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"freeRounds\"))+\" \")],1):_vm._e()],1)],1),_c('v-spacer'),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"3\",\"sm\":\"4\"}},[_c('div',{staticClass:\"text-right align-end justify-end d-flex\"},[_c('v-text-field',{class:_vm.$vuetify.breakpoint.smAndDown ? 'mt-3' : '',staticStyle:{\"max-width\":\"600px\"},attrs:{\"append-icon\":\"mdi-magnify\",\"label\":_vm.$t('search'),\"single-line\":\"\",\"hide-details\":\"\",\"dense\":\"\",\"solo-inverted\":\"\",\"clearable\":\"\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1)])],1)],1),_c('v-divider'),_c('div',[_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"headers\":_vm.headers,\"items\":_vm.data,\"search\":_vm.search,\"items-per-page\":10,\"footer-props\":{\n 'items-per-page-text': this.$t('rowsPerPage'),\n },\"loading\":_vm.loadingPromotions,\"loading-text\":_vm.$t('loadingPromotions')},scopedSlots:_vm._u([{key:\"item.id_promo\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-btn',{attrs:{\"x-small\":\"\"},on:{\"click\":function($event){return _vm.$copy(item.id_promo)}}},[_vm._v(\" \"+_vm._s(item.id_promo)+\" \")])]}},{key:\"item.id_afiliado\",fn:function(ref){\n var item = ref.item;\nreturn [(item.id_afiliado != null)?_c('v-btn',{attrs:{\"x-small\":\"\"},on:{\"click\":function($event){return _vm.$copy(item.id_afiliado)}}},[_vm._v(\" \"+_vm._s(item.id_afiliado)+\" \")]):_c('div',{staticClass:\"text-center\"},[_vm._v(\" ─ \")])]}},{key:\"item.name_affiliate\",fn:function(ref){\n var item = ref.item;\nreturn [(item.name_affiliate != null)?_c('div',[_vm._v(\" \"+_vm._s(item.name_affiliate)+\" \")]):_c('div',{staticClass:\"text-center\"},[_vm._v(\" ─ \")])]}},{key:\"item.date_inicial\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(item.date_inicial))])]}},{key:\"item.date_final\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{staticClass:\"caption\"},[_vm._v(_vm._s(item.date_final))])]}},{key:\"item.status\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-chip',{staticClass:\"white--text\",attrs:{\"color\":_vm.statusUI(item.status),\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.statusValue(item.status))+\" \")])]}},{key:\"item.days_expiration\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"d-flex\"},[_c('span',{staticClass:\"pr-2\"},[_vm._v(\" \"+_vm._s(item.days_expiration)+\" \")])])]}},{key:\"item.code_promo\",fn:function(ref){\n var item = ref.item;\nreturn [[(item.type_promo != 'token')?_c('v-btn',{attrs:{\"x-small\":\"\"},on:{\"click\":function($event){return _vm.$copy(item.code_promo)}}},[_vm._v(\" \"+_vm._s(item.code_promo)+\" \")]):_c('div',{staticClass:\"text-center\"},[_vm._v(\" ─ \")])]]}},{key:\"item.hide\",fn:function(ref){\n var item = ref.item;\nreturn [(_vm.hasHideOption(item.type_promo))?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(item.hide == 0 ? \"displayed\" : \"hidden\"))+\" \")]):_c('span',[_vm._v(\" ─ \")])]}},{key:\"header.list_adhesions\",fn:function(ref){\n var header = ref.header;\nreturn [_c('div',{staticClass:\"d-flex align-center\"},[_c('div',[_c('span',[_vm._v(\" \"+_vm._s(header.text)+\" \")])]),_c('div',[_c('th',[_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"d-print-none\",attrs:{\"small\":\"\",\"icon\":\"\"}},'v-btn',attrs,false),on),[_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"info\"}},[_vm._v(\" mdi-information-outline \")])],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"adhesionTooltip\")))])])],1)])])]}},{key:\"item.list_adhesions\",fn:function(ref){\n var item = ref.item;\nreturn [_c('DialogListAdhesions',{attrs:{\"id_promo\":item.id_promo,\"title\":item.title,\"bonus_total_resgatado\":item.bonus_total_resgatado}})]}},{key:\"item.actions\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-btn-toggle',[_c('ViewPromotion',{attrs:{\"isReallyActive\":_vm.status == '1' || _vm.status == '0',\"affiliatePromotion\":item.type_promo == 'afiliado',\"affiliateName\":item.name_affiliate,\"promotionId\":item.id_promo}}),_c('UpdatePromotion',{attrs:{\"promotion\":Object.assign({}, item, {isReallyActive: _vm.status == '1'})},on:{\"refreshPromotions\":_vm.listPromotions}}),_c('ConfirmPromotionDelete',{attrs:{\"promotion\":Object.assign({}, item, {isReallyActive: _vm.status == '1'})},on:{\"refreshPromotions\":_vm.listPromotions}}),(item.type_promo !== 'token')?_c('AddPromotionUser',{attrs:{\"promotion\":Object.assign({}, item, {isReallyActive: _vm.status == '1'})}}):_c('ExportPromotionTokens',{attrs:{\"promotion\":Object.assign({}, item, {isReallyActive: _vm.status == '1'})}})],1)]}}])},[_c('template',{slot:\"no-data\"},[_c('div')])],2)],1)],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown,\"persistent\":\"\",\"max-width\":\"1000\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [(_vm.$permission('53'))?_c('v-btn',_vm._g(_vm._b({staticClass:\"mr-2\",class:_vm.$vuetify.breakpoint.smAndDown ? 'mb-2' : '',attrs:{\"small\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.openDialog()}}},'v-btn',attrs,false),on),[_c('v-icon',{attrs:{\"left\":\"\"}},[_vm._v(\"mdi-plus-box\")]),_vm._v(\" \"+_vm._s(_vm.$t(\"createNewPromotion\"))+\" \")],1):_vm._e()]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-form',{ref:\"form\",staticClass:\"top\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-toolbar',[_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t(\"registerNewPromotion\")))]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.closeDialog}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('div',{class:_vm.$vuetify.breakpoint.smAndDown ? '' : 'px-6'},[_c('v-card-text',[_c('v-subheader',{staticClass:\"overline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"typeAndCodeOfPromotion\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-select',{staticClass:\"mb-6\",attrs:{\"rules\":[_vm.rules.required],\"items\":_vm.items,\"item-text\":\"text\",\"item-value\":\"status\",\"label\":_vm.$t('typeOfPromotionSelect'),\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"return-object\":\"\"},model:{value:(_vm.typePromotion),callback:function ($$v) {_vm.typePromotion=$$v},expression:\"typePromotion\"}}),(_vm.isPromotionToken)?_c('v-text-field',{staticClass:\"mb-6\",attrs:{\"label\":_vm.$t('quantityOfTokensAsterisk'),\"rules\":[\n _vm.rules.noSpacesAreAllowed,\n _vm.rules.required,\n _vm.rules.negativeNo,\n _vm.rules.maxQuantityTokens ],\"hide-details\":\"auto\",\"dense\":\"\",\"type\":\"text\",\"counter\":4,\"maxlength\":\"4\",\"onkeypress\":\"return event.keyCode === 8 || event.charCode >= 48 && event.charCode <= 57\",\"outlined\":\"\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip d-flex justify-center\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\"mdi-information-outline\")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(_vm._s(_vm.$t(\"tokenTip\")))])],1)]},proxy:true}],null,false,2973218836),model:{value:(_vm.quantityTokens),callback:function ($$v) {_vm.quantityTokens=$$v},expression:\"quantityTokens\"}}):_vm._e(),(\n _vm.isPromotionTypeDeposit || _vm.isPromotionTypeRegisterOrAffiliate\n )?_c('v-text-field',{staticClass:\"mb-6\",attrs:{\"label\":_vm.$t('promotionCode'),\"rules\":[\n _vm.rules.noSpacesAreAllowed,\n _vm.rules.required,\n _vm.rules.max20,\n _vm.rules.noSpecialCharactersAllowed ],\"hide-details\":\"auto\",\"dense\":\"\",\"counter\":20,\"maxlength\":\"20\",\"outlined\":\"\",\"disabled\":_vm.imageConfirmed},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\"mdi-information-outline\")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(_vm._s(_vm.$t(\"promotionCodeTip\")))])],1)]},proxy:true}],null,false,877200167),model:{value:(_vm.promotionCode),callback:function ($$v) {_vm.promotionCode=$$v},expression:\"promotionCode\"}}):_vm._e()],1),(_vm.typePromotion.status == 'afiliado')?_c('div',{staticClass:\"pa-0 ma-0\"},[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"findAnAffiliate\"))+\" \")]),_c('div',{staticClass:\"mb-4 pa-4 px-6 \"},[_c('v-autocomplete',{attrs:{\"label\":_vm.$t('autoCompleteAffiliatePlaceHolder'),\"no-data-text\":_vm.$t('autoCompleteNoData'),\"items\":_vm.affiliates,\"loading\":_vm.isLoading,\"rules\":[_vm.rules.required],\"search-input\":_vm.search,\"item-text\":\"ui\",\"item-value\":\"id\",\"hint\":_vm.$t('searchAffiliateSpan'),\"persistent-hint\":\"\",\"prepend-icon\":\"mdi-magnify\",\"dense\":\"\",\"outlined\":\"\",\"clearable\":\"\",\"hide-details\":\"auto\",\"return-object\":\"\"},on:{\"update:searchInput\":function($event){_vm.search=$event},\"update:search-input\":function($event){_vm.search=$event}},model:{value:(_vm.selectAffiliate),callback:function ($$v) {_vm.selectAffiliate=$$v},expression:\"selectAffiliate\"}})],1)],1):_vm._e(),_c('div',{staticClass:\"pa-0 ma-0\"},[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(((_vm.$t(\"title\")) + \" \" + (_vm.$t(\"and\")) + \" \" + (_vm.$t(\"description\"))))+\" \")]),_c('div',{staticClass:\"mb-4 pa-4 px-6\"},[_c('v-text-field',{attrs:{\"rules\":[_vm.rules.required],\"label\":_vm.$t('promotionTitle'),\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"counter\":40,\"maxlength\":\"40\"},model:{value:(_vm.promotion_title),callback:function ($$v) {_vm.promotion_title=$$v},expression:\"promotion_title\"}}),_c('v-text-field',{staticClass:\"pt-2\",attrs:{\"rules\":[_vm.rules.required],\"label\":_vm.$t('promotionDescription'),\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"counter\":50,\"maxlength\":\"50\"},model:{value:(_vm.promotion_description),callback:function ($$v) {_vm.promotion_description=$$v},expression:\"promotion_description\"}})],1)],1),_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"validity\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-row',[_c('v-col',[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"transition\":\"scale-transition\",\"min-width\":\"200\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"label\":_vm.$t('dateStart'),\"prepend-icon\":\"mdi-calendar\",\"readonly\":\"\",\"hint\":\"DD/MM/YYYY\",\"hide-details\":\"auto\",\"dense\":\"\"},model:{value:(_vm.computedDateFormattedStart),callback:function ($$v) {_vm.computedDateFormattedStart=$$v},expression:\"computedDateFormattedStart\"}},on))]}}]),model:{value:(_vm.menuStart),callback:function ($$v) {_vm.menuStart=$$v},expression:\"menuStart\"}},[_c('v-date-picker',{attrs:{\"min\":_vm.dateGetTimezoneOffset,\"no-title\":\"\",\"scrollable\":\"\"},on:{\"input\":function($event){_vm.menuStart = false}},model:{value:(_vm.dateStart),callback:function ($$v) {_vm.dateStart=$$v},expression:\"dateStart\"}})],1)],1),_c('v-col',[_c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('##:##:##'),expression:\"'##:##:##'\"}],attrs:{\"rules\":[_vm.rules.required],\"label\":_vm.$t('timeStart'),\"prepend-icon\":\"mdi-clock-time-twelve\",\"placeholder\":\"hh:mm:ss\",\"dense\":\"\",\"outlined\":\"\",\"hide-details\":\"auto\",\"error\":!_vm.hideDetailsStart,\"error-messages\":_vm.errorTimeStart},model:{value:(_vm.timeStart),callback:function ($$v) {_vm.timeStart=$$v},expression:\"timeStart\"}})],1)],1),_c('v-row',[_c('v-col',[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"200\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"label\":_vm.$t('dateFinal'),\"prepend-icon\":\"mdi-calendar\",\"readonly\":\"\",\"hint\":\"DD/MM/YYYY\",\"hide-details\":\"auto\",\"dense\":\"\",\"rules\":[_vm.rules.required]},model:{value:(_vm.computedDateFormattedFinal),callback:function ($$v) {_vm.computedDateFormattedFinal=$$v},expression:\"computedDateFormattedFinal\"}},on))]}}]),model:{value:(_vm.menuFinal),callback:function ($$v) {_vm.menuFinal=$$v},expression:\"menuFinal\"}},[_c('v-date-picker',{attrs:{\"min\":_vm.dateGetTimezoneOffset,\"no-title\":\"\",\"scrollable\":\"\"},on:{\"input\":function($event){_vm.menuFinal = false}},model:{value:(_vm.dateFinal),callback:function ($$v) {_vm.dateFinal=$$v},expression:\"dateFinal\"}})],1)],1),_c('v-col',[_c('v-text-field',{directives:[{name:\"mask\",rawName:\"v-mask\",value:('##:##:##'),expression:\"'##:##:##'\"}],attrs:{\"rules\":[_vm.rules.required],\"label\":_vm.$t('endTime'),\"placeholder\":\"hh:mm:ss\",\"prepend-icon\":\"mdi-clock-time-eleven\",\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"error\":!_vm.hideDetailsFinal,\"error-messages\":_vm.errorTimeFinal},model:{value:(_vm.timeFinal),callback:function ($$v) {_vm.timeFinal=$$v},expression:\"timeFinal\"}})],1)],1)],1),_c('div',[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"rewardRules\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('v-text-field',{staticClass:\"custom-prepend-inner-icon\",attrs:{\"rules\":[_vm.rules.required, _vm.rules.negativeNo],\"label\":_vm.isPromotionTypeDeposit\n ? _vm.$t('percentageOfBonus')\n : _vm.$t('promotionLabelBonus'),\"prepend-icon\":\"mdi-seal-variant\",\"prefix\":_vm.isPromotionTypeDeposit ? '%' : _vm.$t('labelCurrency'),\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[(_vm.isPromotionTypeDeposit)?_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"promotionTypeDepositTip\"))+\" \")]):_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(\"prmotionTypeRegisterOrAfiliateTip\"))+\" \")])])],1)]},proxy:true}]),model:{value:(_vm.bonus_value),callback:function ($$v) {_vm.bonus_value=$$v},expression:\"bonus_value\"}})],1),(_vm.isPromotionTypeDeposit)?_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('v-text-field',{attrs:{\"rules\":[_vm.rules.negativeNo],\"label\":_vm.$t('LabelMaximumBonusAmount'),\"prefix\":_vm.$t('labelCurrency'),\"hide-details\":\"auto\",\"prepend-icon\":\"mdi-license\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"bonusMaxValueTip\"))+\" \")])],1)]},proxy:true}],null,false,608862627),model:{value:(_vm.bonus_max_value),callback:function ($$v) {_vm.bonus_max_value=$$v},expression:\"bonus_max_value\"}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('v-text-field',{attrs:{\"rules\":[_vm.rules.negativeNo],\"label\":_vm.$t('maxTransference'),\"prefix\":_vm.$t('labelCurrency'),\"prepend-icon\":\"mdi-bank-transfer\",\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"maxTransferTooltip\"))+\" \")])],1)]},proxy:true}]),model:{value:(_vm.transfer_max_value),callback:function ($$v) {_vm.transfer_max_value=$$v},expression:\"transfer_max_value\"}})],1)])])],1)],1)],1),_c('div',[(_vm.isPromotionTypeDeposit)?_c('div',[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"adhesionRules\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('v-text-field',{attrs:{\"rules\":[_vm.rules.negativeNo],\"label\":_vm.$t('minimumDeposit'),\"prepend-icon\":\"mdi-cash-fast\",\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\"mdi-information-outline\")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(_vm._s(_vm.$t(\"depositMinValueTip\")))])],1)]},proxy:true}],null,false,1880147976),model:{value:(_vm.deposito_min_value),callback:function ($$v) {_vm.deposito_min_value=$$v},expression:\"deposito_min_value\"}})],1)],1)],1)],1):_vm._e(),_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"rolloverRules\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-row',{staticClass:\"mb-3\"},[_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('v-text-field',{attrs:{\"rules\":[_vm.rules.required, _vm.rules.negativeNo],\"label\":_vm.$t('rolloverMultiplier'),\"hide-details\":\"auto\",\"prepend-icon\":\"mdi-dice-multiple\",\"prefix\":\"x\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"multiRolloverTooltip\"))+\" \")])],1)]},proxy:true}]),model:{value:(_vm.rollover_x_value),callback:function ($$v) {_vm.rollover_x_value=$$v},expression:\"rollover_x_value\"}})],1)])]),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('v-text-field',{attrs:{\"label\":_vm.$t('daysToExpire'),\"rules\":[_vm.rules.required, _vm.rules.negativeNo],\"prepend-icon\":\"mdi-calendar-clock\",\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"onkeypress\":\"return event.keyCode === 8 || event.charCode >= 48 && event.charCode <= 57\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\"mdi-information-outline\")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(_vm._s(_vm.$t(\"daysToRollover\")))])],1)]},proxy:true}]),model:{value:(_vm.daysToExpire),callback:function ($$v) {_vm.daysToExpire=$$v},expression:\"daysToExpire\"}})],1)])]),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('v-text-field',{attrs:{\"rules\":[_vm.rules.required, _vm.rules.negativeNo],\"label\":_vm.$t('minBet'),\"prepend-icon\":\"mdi-cash-lock\",\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\"mdi-information-outline\")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(_vm._s(_vm.$t(\"stakeMinValueTip1\"))+\" \"+_vm._s(_vm.$t(\"labelCurrency\"))+\" \"+_vm._s(_vm.$t(\"stakeMinValueTip2\")))])],1)]},proxy:true}]),model:{value:(_vm.stake_min_value),callback:function ($$v) {_vm.stake_min_value=$$v},expression:\"stake_min_value\"}})],1),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('v-text-field',{attrs:{\"rules\":[_vm.rules.negativeNo],\"label\":_vm.$t('minimumMultiplier'),\"hide-details\":\"auto\",\"prepend-icon\":\"mdi-menu-up\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"multMinValueTip\"))+\" \")])],1)]},proxy:true}]),model:{value:(_vm.multi_min_value),callback:function ($$v) {_vm.multi_min_value=$$v},expression:\"multi_min_value\"}})],1),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('v-text-field',{attrs:{\"rules\":[_vm.rules.negativeNo],\"label\":_vm.$t('maximumMutiplier'),\"hide-details\":\"auto\",\"prepend-icon\":\"mdi-menu-down\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\"},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\"mdi-information-outline\")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(_vm._s(_vm.$t(\"multMaxValueTip\")))])],1)]},proxy:true}]),model:{value:(_vm.multi_max_value),callback:function ($$v) {_vm.multi_max_value=$$v},expression:\"multi_max_value\"}})],1)],1)],1),(_vm.shouldHidePromotion)?_c('div',[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"promotionVisibility\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6 d-flex align-center\"},[_c('v-switch',{attrs:{\"label\":_vm.$t('hidePromotion')},model:{value:(_vm.hidePromotion),callback:function ($$v) {_vm.hidePromotion=$$v},expression:\"hidePromotion\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"hidePromotionTooltip\", { updateMessage: _vm.$t( \"hidePromotionTooltipUpdateMessage\" ), }))+\" \")])],1)],1)],1):_vm._e(),_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"promotionImage\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-card',{staticClass:\"mb-2\",staticStyle:{\"max-width\":\"400px\",\"max-height\":\"200px\"},attrs:{\"color\":\"rgba(0, 0, 0, 0.2)\"}},[_c('div',{staticClass:\"d-flex justify-center align-center\",staticStyle:{\"max-width\":\"400px\",\"height\":\"200px\"}},[((!_vm.image && !_vm.loadingPreview) || !_vm.passSizeTest)?_c('div',{staticClass:\"text-center\",staticStyle:{\"width\":\"100%\"}},[_c('div',[_c('v-icon',{attrs:{\"size\":\"100\",\"color\":\"rgba(255,255,255, 0.3)\"}},[_vm._v(\"mdi-image\")])],1),_c('div',[_c('span',{staticClass:\"body-2\"},[_vm._v(_vm._s(_vm.$t(\"noImageLoaded\")))])])]):_vm._e(),(_vm.loadingPreview)?_c('div',[_c('v-skeleton-loader',{staticClass:\"mx-auto\",attrs:{\"max-width\":\"400\",\"type\":\"image\"}})],1):(_vm.image != null && _vm.passSizeTest)?_c('div',{staticStyle:{\"width\":\"100%\"}},[(_vm.image)?_c('v-img',{key:_vm.image,attrs:{\"max-width\":\"400\",\"max-height\":\"200px\",\"contain\":\"\",\"src\":_vm.image}}):_vm._e()],1):_vm._e()])]),_c('div',[_c('p',{staticClass:\"caption grey--text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"recommendedImagiSizePromoImage\"))+\" \")])]),_c('div',{staticStyle:{\"max-width\":\"400px\"}},[_c('div',[_c('div',{staticClass:\"d-flex\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('v-file-input',{attrs:{\"dense\":\"\",\"outlined\":\"\",\"disabled\":!_vm.valid ||\n _vm.imageConfirmed ||\n (!_vm.image && !_vm.promotionCode && _vm.imageSelected),\"label\":_vm.$t('loadImage')},on:{\"click\":function($event){$event.preventDefault();return _vm.loadImage($event)}}})],1),_c('input',{ref:\"image\",staticClass:\"pb-6\",attrs:{\"id\":\"imgInput\",\"type\":\"file\",\"required\":\"\"},on:{\"change\":_vm.onFileChange}})])]),_c('div',{staticClass:\"d-flex justify-space-around\",staticStyle:{\"max-width\":\"400px\"}},[_c('div',{class:_vm.$vuetify.breakpoint.mobile ? '' : 'd-flex column',staticStyle:{\"width\":\"100%\"}},[_c('div',{style:(_vm.$vuetify.breakpoint.mobile\n ? 'width: 100%'\n : 'width: 60%')},[_c('v-btn',{staticClass:\"info mb-4\",attrs:{\"loading\":_vm.loading,\"disabled\":!_vm.image ||\n _vm.fileNotAllowed ||\n !_vm.passSizeTest ||\n !!_vm.cachedImageKey ||\n _vm.loading,\"block\":_vm.$vuetify.breakpoint.smAndDown},on:{\"click\":function($event){return _vm.addImage()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"toConfirm\"))+\" \")])],1),_c('div',{staticStyle:{\"width\":\"100%\"},attrs:{\"hidden\":!_vm.image || !_vm.passSizeTest || _vm.fileNotAllowed}},[_c('v-btn',{attrs:{\"color\":\"#D50000\",\"block\":_vm.$vuetify.breakpoint.smAndDown},on:{\"click\":function($event){return _vm.deleteImage(_vm.cachedImageKey, _vm.image)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"deleteImage\"))+\" \")])],1)])])])],1)],1)],1)],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{staticClass:\"mb-5\",attrs:{\"block\":_vm.$vuetify.breakpoint.smAndDown,\"large\":_vm.$vuetify.breakpoint.mobile,\"color\":\"info\",\"loading\":_vm.loading,\"disabled\":!_vm.valid || !_vm.imageConfirmed || _vm.loading},on:{\"click\":function($event){return _vm.addPromotion()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"toSave\"))+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function rules(data, operator_name) {\n if (data.tipo == \"1ºdeposito\") {\n return `\n
Regras da Promoção de Primeiro Depósito

\n 1. Ao aceitar participar da promoção você concorda com todos os termos e condições aqui descritos.
\n 2. Só os novos clientes que se cadastrarem no site e que efetuarem seu primeiro depósito até ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()} BRT são elegíveis para receber o bônus.
\n 3. Para poder participar desta promoção, o usuário deve inserir o seguinte código promocional: ${data.codigo} no ato do seu primeiro depósito.
\n 4. O primeiro depósito tem que ter um valor igual ou superior a R$ ${parseFloat(data.deposito_min).toFixed(2)} para poder ser aceito na promoção de bônus.
\n 5. O bônus será de ${data.bonus}% do valor do primeiro depósito até o máximo de R$ ${parseFloat(data.bonus_max).toFixed(2)}. Caso o primeiro depósito seja superior a R$ ${parseFloat(data.bonus_max).toFixed(2)}, o valor máximo do bônus não se altera.
\n 6. Somente depois que o seu depósito tiver sido compensado é que o seu bônus será adicionado automaticamente.
\n 7. Para transferir o saldo bônus para o saldo real é necessário ter apostado um mínimo de ${data.rollover_x} vezes o valor do bônus e ter cumprido todos os requisitos de apostas (rollover).
\n 8. Ao cumprir todos os requisitos de apostas, o valor máximo que pode ser sacado referente ao bônus é de R$ ${parseFloat(data.transfer_max).toFixed(2)}.
\n 9. Apostas esportivas de pelo menos R$ ${parseFloat(data.stake_min).toFixed(2)} feitas e finalizadas com odds cumulativos entre ${parseFloat(data.multi_min).toFixed(2)} e ${parseFloat(data.multi_max).toFixed(2)} contam para o requisito de apostas.
\n 10. A promoção de primeiro depósito não pode ser utilizada em conjunto com outras promoções nem é cumulativa (Somente o primeiro depósito por usuário é que será contabilizado).
\n 11. O bônus é válido por ${data.dias_expiracao} dias a partir de sua data de adesão. O requisito de aposta (rollover) deve ser cumprido e transferido dentro deste período, ou o bônus e quaisquer ganhos provenientes dele serão perdidos.
\n 12. Para as verificações de segurança, nós poderemos solicitar comprovantes de Identificação válidos, tais como documento de identidade com foto, passaporte ou carteira de habilitação para verificar sua identidade antes de autorizar qualquer retirada da conta referente aos ganhos provenientes do bônus.
\n 13. O saldo de bônus não poderá ser utilizado para fazer apostas no cassino, ficando reservado exclusivamente para o uso de apostas esportivas.
\n 14. As apostas anuladas e encerradas(cash out) não contam para o requisito de aposta do bônus.
\n 15. O progresso do requisito de apostas pode ser visualizado na seção “Minhas promoções” no painel de usuário.
\n 16. O bônus pode ser substituído por outro a qualquer momento na seção “promoções” no menu lateral. Qualquer valor de bônus remanescente da promoção atual será perdido ao ser feita essa mudança.
\n 17. Máximo de uma oferta por cliente.
\n 18. Apenas um bônus pode estar ativo ao mesmo momento por cliente.
\n 19. ${operator_name} reserva-se o direito de cancelar quaisquer bônus e ganhos que tenham sido atribuídos por engano ou que sejam considerados suspeitos de abusos, incluindo contas duplicadas.
\n 20. Apenas uma aposta por mercado no mesmo evento será contabilizada para o rollover.
\n 21. ${operator_name} reserva-se o direito de alterar ou cancelar esta promoção a qualquer momento.
\n 22. Quando o prazo de expiração de uso do bônus é atingido, o saldo bônus remanescente da promoção será zerado.
\n 23. Termos e condições gerais do ${operator_name} se aplicam.
\n 24. Apenas maiores de 18 anos.
\n `;\n } else if (data.tipo == \"cadastro\") {\n return `\n
Regras da Promoção de Cadastro

\n 1. Ao aceitar participar da promoção você concorda com todos os termos e condições aqui descritos.
\n 2. Só os clientes que se cadastrarem no site até ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()} BRT são elegíveis para receber o bônus.
\n 3. Para poder participar desta promoção, o usuário deve inserir o seguinte código promocional: ${data.codigo} no ato do seu cadastro.
\n 4. O bônus será de R$ ${parseFloat(data.bonus).toFixed(2)}.
\n 5. Somente após você completar o registro com sucesso usando informações válidas e completar o processo de verificação do email é que seu bônus será adicionado automaticamente.
\n 6. Para transferir o saldo bônus para o saldo real é necessário ter apostado um mínimo de ${data.rollover_x} vezes o valor do bônus e ter cumprido todos os requisitos de apostas (rollover).
\n 7. Apostas esportivas de pelo menos R$ ${parseFloat(data.stake_min).toFixed(2)} feitas e liquidadas com odds cumulativos entre ${parseFloat(data.multi_min).toFixed(2)} e ${parseFloat(data.multi_max).toFixed(2)} contam para o requisito de apostas.
\n 8. Ao cumprir todos os requisitos de apostas, o valor máximo que pode ser sacado referente ao bônus é de R$ ${parseFloat(data.transfer_max).toFixed(2)}.
\n 9. O bônus está disponível para ser utilizado durante o período de ${data.dias_expiracao} dias após o registro da conta.
\n 10. O bônus é válido por ${data.dias_expiracao} dias a partir de sua data de adesão. O requisito de aposta (rollover) deve ser cumprido e transferido dentro deste período, ou o bônus e quaisquer ganhos provenientes dele serão perdidos.
\n 11. A promoção de cadastro não pode ser utilizada em conjunto com outras promoções.
\n 12. Para as verificações de segurança, nós poderemos solicitar comprovantes de Identificação válidos, tais como documento de identidade com foto, passaporte ou carteira de habilitação para verificar sua identidade antes de autorizar qualquer retirada da conta referente aos ganhos provenientes do bônus.
\n 13. O saldo de bônus não poderá ser utilizado para fazer apostas no cassino, ficando reservado exclusivamente para o uso de apostas esportivas.
\n 14. As apostas anuladas e encerradas(cash out) não contam para o requisito de aposta do bônus.
\n 15. O progresso do requisito de apostas pode ser visualizado na seção “Minhas promoções” no painel de usuário.
\n 16. O bônus pode ser substituído por outro a qualquer momento na seção “promoções” no menu lateral. Qualquer valor de bônus remanescente da promoção atual será perdido ao ser feita essa mudança.
\n 17. Máximo de uma oferta por cliente.
\n 18. Apenas um bônus pode estar ativo ao mesmo momento por cliente.
\n 19. ${operator_name} reserva-se o direito de cancelar quaisquer bônus e ganhos que tenham sido atribuídos por engano ou que sejam considerados suspeitos de abusos, incluindo contas duplicadas.
\n 20. Apenas uma aposta por mercado no mesmo evento será contabilizada para o rollover.
\n 21. ${operator_name} reserva-se o direito de alterar ou cancelar esta promoção a qualquer momento.
\n 22. Quando o prazo de expiração de uso do bônus é atingido, o saldo bônus remanescente da promoção será zerado.
\n 23. Termos e condições gerais do ${operator_name} se aplicam.
\n 24. Apenas maiores de 18 anos.
\n `;\n } else if (data.tipo == \"deposito\") {\n return `\n
Regras da Promoção de Depósito

\n 1. Ao aceitar participar da promoção você concorda com todos os termos e condições aqui descritos.
\n 2. Só os clientes que se cadastrarem no site e que efetuarem o seu depósito até ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()} BRT são elegíveis para receber o bônus.
\n 3. Para poder participar desta promoção, o usuário deve inserir o seguinte código promocional: ${data.codigo} no ato do seu depósito.
\n 4. O depósito tem que ter um valor igual ou superior a R$ ${parseFloat(data.deposito_min).toFixed(2)} para poder ser aceito na promoção de bônus.
\n 5. O bônus será de ${data.bonus}% do valor do depósito até o máximo de R$ ${parseFloat(data.bonus_max).toFixed(2)}. Caso o depósito seja superior a R$ ${parseFloat(data.bonus_max).toFixed(2)}, o valor máximo do bônus não se altera.
\n 6. Somente depois que o seu depósito tiver sido compensado é que o seu bônus será adicionado automaticamente.
\n 7. Para transferir o saldo bônus para o saldo real é necessário ter apostado um mínimo de ${data.rollover_x} vezes o valor do bônus e ter cumprido todos os requisitos de apostas (rollover).
\n 8. Ao cumprir todos os requisitos de apostas, o valor máximo que pode ser sacado referente ao bônus é de R$ ${parseFloat(data.transfer_max).toFixed(2)}.
\n 9. Apostas esportivas de pelo menos R$ ${parseFloat(data.stake_min).toFixed(2)} feitas e finalizadas com odds cumulativos entre ${parseFloat(data.multi_min).toFixed(2)} e ${parseFloat(data.multi_max).toFixed(2)} contam para o requisito de apostas.
\n 10. A promoção de depósito não pode ser utilizada em conjunto com outras promoções nem é cumulativa (Somente um depósito por usuário é que será contabilizado na promoção)
\n 11. O bônus é válido por ${data.dias_expiracao} dias a partir de sua data de adesão. O requisito de aposta (rollover) deve ser cumprido e transferido dentro deste período, ou o bônus e quaisquer ganhos provenientes dele serão perdidos.
\n 12. Para as verificações de segurança, nós poderemos solicitar comprovantes de Identificação válidos, tais como documento de identidade com foto, passaporte ou carteira de habilitação para verificar sua identidade antes de autorizar qualquer retirada da conta referente aos ganhos provenientes do bônus.
\n 13. O saldo de bônus não poderá ser utilizado para fazer apostas no cassino, ficando reservado exclusivamente para o uso de apostas esportivas.
\n 14. As apostas anuladas e encerradas(cash out) não contam para o requisito de aposta do bônus.
\n 15. O progresso do requisito de apostas pode ser visualizado na seção “Minhas promoções” no painel de usuário.
\n 16. O bônus pode ser substituído por outro a qualquer momento na seção “promoções” no menu lateral. Qualquer valor de bônus remanescente da promoção atual será perdido ao ser feita essa mudança.
\n 17. Máximo de uma oferta por cliente.
\n 18. Apenas um bônus pode estar ativo ao mesmo momento por cliente.
\n 19. ${operator_name} reserva-se o direito de cancelar quaisquer bônus e ganhos que tenham sido atribuídos por engano ou que sejam considerados suspeitos de abusos, incluindo contas duplicadas.
\n 20. Apenas uma aposta por mercado no mesmo evento será contabilizada para o rollover.
\n 21. ${operator_name} reserva-se o direito de alterar ou cancelar esta promoção a qualquer momento.
\n 22. Quando o prazo de expiração de uso do bônus é atingido, o saldo bônus remanescente da promoção será zerado.
\n 23. Termos e condições gerais do ${operator_name} se aplicam.
\n 24. Apenas maiores de 18 anos.
\n `;\n } else if (data.tipo == \"afiliado\") {\n return `\n
Regras da Promoção de Afiliado

\n 1. Ao aceitar participar da promoção você concorda com todos os termos e condições aqui descritos.
\n 2. Só os clientes que se cadastrarem no site até ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()} BRT são elegíveis para receber o bônus.
\n 3. Para poder participar desta promoção, o usuário deve inserir o seguinte código promocional: ${data.codigo} no ato do seu cadastro.
\n 4. Ao aderir esta promoção você estará se afiliando ao afiliado ${data.affiliateName}.
\n 5. O bônus será de R$ ${parseFloat(data.bonus).toFixed(2)}.
\n 6. Somente após você completar com sucesso o seu cadastro usando informações válidas e completar o processo de verificação do email é que seu bônus será adicionado automaticamente.
\n 7. Para transferir o saldo bônus para o saldo real é necessário ter apostado um mínimo de ${data.rollover_x} vezes o valor do bônus e ter cumprido todos os requisitos de apostas (rollover).
\n 8. Apostas esportivas de pelo menos R$ ${parseFloat(data.stake_min).toFixed(2)} feitas e finalizadas com odds cumulativos entre ${parseFloat(data.multi_min).toFixed(2)} e ${parseFloat(data.multi_max).toFixed(2)} contam para o requisito de apostas.
\n 9. Ao cumprir todos os requisitos de apostas, o valor máximo que pode ser sacado referente ao bônus é de R$ ${parseFloat(data.transfer_max).toFixed(2)}.
\n 10. O bônus estará disponível para ser utilizado durante o período de ${data.dias_expiracao} dias após o registro da conta.
\n 11. O bônus é válido por ${data.dias_expiracao} dias a partir de sua data de adesão. O requisito de aposta (rollover) deve ser cumprido e transferido dentro deste período, ou o bônus e quaisquer ganhos provenientes dele serão perdidos.
\n 12. Para as verificações de segurança, nós poderemos solicitar comprovantes de Identificação válidos, tais como documento de identidade com foto, passaporte ou carteira de habilitação para verificar sua identidade antes de autorizar qualquer retirada da conta referente aos ganhos provenientes do bônus.
\n 13. O saldo de bônus não poderá ser utilizado para fazer apostas no cassino, ficando reservado exclusivamente para o uso de apostas esportivas.
\n 14. As apostas anuladas e encerradas(cash out) não contam para o requisito de aposta do bônus.
\n 15. O progresso do requisito de apostas pode ser visualizado na seção “Minhas promoções” no painel de usuário.
\n 16. O bônus pode ser substituído por outro a qualquer momento na seção \"promoções” no menu lateral. Qualquer valor de bônus remanescente da promoção atual será perdido ao ser feita essa mudança.
\n 17. Máximo de uma oferta por cliente.
\n 18. Apenas um bônus pode estar ativo ao mesmo momento por cliente.
\n 19. ${operator_name} reserva-se o direito de cancelar quaisquer bônus e ganhos que tenham sido atribuídos por engano ou que sejam considerados sujeitos a abusos, incluindo contas duplicadas.\n 20. Apenas uma aposta por mercado no mesmo evento será contabilizada para o rollover.
\n 21. ${operator_name} reserva-se o direito de alterar ou cancelar esta promoção a qualquer momento.
\n 22. Quando o prazo de expiração de uso do bônus é atingido, o saldo bônus remanescente da promoção será zerado.
\n 23. Termos e condições gerais do ${operator_name} se aplicam.
\n 24. Apenas maiores de 18 anos.
\n `;\n } else if (data.tipo == \"token\") {\n // usando a regra com base em cadastro para fins de testes - ainda será definido o texto//\n return `\n
Regras da Promoção de TOKEN

\n 1. Ao aceitar participar da promoção de TOKEN você concorda com todos os termos e condições aqui descritos.
\n 2. Só os clientes que se cadastrarem no site e que resgatarem o seu TOKEN até ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()} BRT são elegíveis para receber o bônus.
\n 3. Para poder participar desta promoção, o usuário deve resgatar o seu TOKEN no momento do cadastro, ou na página \"Minhas promoções\" ou na página \"Promoções\".
\n 4. O bônus será de ${data.bonus}.\n 5. Somente depois que o seu TOKEN for válidado é que o seu bônus será adicionado automaticamente.
\n 6. Para transferir o saldo bônus para o saldo real é necessário ter apostado um mínimo de ${data.rollover_x} vezes o valor do bônus e ter cumprido todos os requisitos de apostas (rollover).
\n 7. Ao cumprir todos os requisitos de apostas, o valor máximo que pode ser sacado referente ao bônus é de R$ ${parseFloat(data.transfer_max).toFixed(2)}.
\n 8. Apostas esportivas de pelo menos R$ ${parseFloat(data.stake_min).toFixed(2)} feitas e finalizadas com odds cumulativos entre ${parseFloat(data.multi_min).toFixed(2)} e ${parseFloat(data.multi_max).toFixed(2)} contam para o requisito de apostas.
\n 9. A promoção de TOKEN não pode ser utilizada em conjunto com outras promoções nem é cumulativa (Somente um depósito por usuário é que será contabilizado na promoção)
\n 10. O bônus é válido por ${data.dias_expiracao} dias a partir de sua data de adesão. O requisito de aposta (rollover) deve ser cumprido e transferido dentro deste período, ou o bônus e quaisquer ganhos provenientes dele serão perdidos.
\n 11. Para as verificações de segurança, nós poderemos solicitar comprovantes de Identificação válidos, tais como documento de identidade com foto, passaporte ou carteira de habilitação para verificar sua identidade antes de autorizar qualquer retirada da conta referente aos ganhos provenientes do bônus.
\n 12. O saldo de bônus não poderá ser utilizado para fazer apostas no cassino, ficando reservado exclusivamente para o uso de apostas esportivas.
\n 13. As apostas anuladas e encerradas(cash out) não contam para o requisito de aposta do bônus.
\n 14. O progresso do requisito de apostas pode ser visualizado na seção “Minhas promoções” no painel de usuário.
\n 15. O bônus pode ser substituído por outro a qualquer momento na seção “promoções” no menu lateral. Qualquer valor de bônus remanescente da promoção atual será perdido ao ser feita essa mudança.
\n 16. Máximo de uma oferta por cliente.
\n 17. Apenas um bônus pode estar ativo ao mesmo momento por cliente.
\n 18. ${operator_name} reserva-se o direito de cancelar quaisquer bônus e ganhos que tenham sido atribuídos por engano ou que sejam considerados suspeitos de abusos, incluindo contas duplicadas.
\n 19. Apenas uma aposta por mercado no mesmo evento será contabilizada para o rollover.
\n 20. ${operator_name} reserva-se o direito de alterar ou cancelar esta promoção a qualquer momento.
\n 21. Quando o prazo de expiração de uso do bônus é atingido, o saldo bônus remanescente da promoção será zerado.
\n 22. Termos e condições gerais do ${operator_name} se aplicam.
\n 23. Apenas maiores de 18 anos.\n `;\n }\n }\n ","export default function functioning(data) {\n if (data.tipo == \"1ºdeposito\") {\n return `\n 1. A participação na promoção implica a aceitação integral dos termos e condições da mesma.
\n 2. O bônus é válido apenas para clientes cadastrados no site que efetuarem seu primeiro depósito até o dia ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()}.
\n 3. Para usufruir desta promoção, insira no momento do seu primeiro depósito o código promocional ${data.codigo}.
\n 4. Qualifica-se para este bônus o primeiro depósito igual ou superior a R$ ${parseFloat(data.deposito_min).toFixed(2)}.
\n 5. Seu bônus será adicionado automaticamente somente após o depósito ter sido consolidado com sucesso.
\n 6. Para saber como transferir seu saldo bônus para saldo real, consulte as regras da promoção.
\n 7. Divirta-se com o saldo bônus!
\n `;\n } else if (data.tipo == \"cadastro\") {\n return `\n 1. A participação na promoção implica a aceitação integral dos termos e condições da mesma.
\n 2. O bônus é válido apenas para clientes que se cadastrarem no site até o dia ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()}.
\n 3. Para usufruir desta promoção, insira no momento do seu cadastro o código promocional ${data.codigo}.
\n 5. Seu bônus será adicionado automaticamente somente após o cadastro e a verificação de email terem sido feitos com sucesso.
\n 6. Para saber como transferir seu saldo bônus para saldo real, consulte as regras da promoção.
\n 7. Divirta-se com o saldo bônus!
\n `;\n } else if (data.tipo == \"deposito\") {\n return `\n 1. A participação na promoção implica a aceitação integral dos termos e condições da mesma.
\n 2. O bônus é válido apenas para clientes cadastrados no site que efetuarem um depósito até o dia ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()}.
\n 3. Para usufruir desta promoção, após ativar a promoção insira no momento do seu depósito o código promocional ${data.codigo}.
\n 4. Qualifica-se para este bônus um depósito igual ou superior a R$ ${parseFloat(data.deposito_min).toFixed(2)}.
\n 5. Seu bônus será creditado após o depósito ter sido consolidado com sucesso.
\n 6. Divirta-se com o saldo bônus!
\n `;\n } else if (data.tipo == \"afiliado\") {\n return `\n 1. A participação na promoção implica a aceitação integral dos termos e condições da mesma.
\n 2. O bônus é válido apenas para clientes que se cadastrarem no site até o dia ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()}.
\n 3. Ao aderir esta promoção você será um afiliado de ${data.affiliateName}.
\n 4. Para usufruir desta promoção, insira no momento do seu cadastro o código promocional ${data.codigo}.
\n 5. Seu bônus será adicionado automaticamente somente após o cadastro e a verificação de email terem sido feitos com sucesso.
\n 6. Para saber como transferir seu saldo bônus para saldo real, consulte as regras da promoção.
\n 7. Divirta-se com o saldo bônus! \n `;\n } else if (data.tipo == \"token\") {\n // usando o funcionamento com base em cadastro para fins de testes - ainda será definido o texto\n return `\n 1. A participação na promoção implica a aceitação integral dos termos e condições da mesma.
\n 2. O bônus é válido apenas para clientes que se cadastrarem no site até o dia ${new Date(data.data_final.replace(\" \", \"T\")).toLocaleString()}.
\n 3. Para poder participar desta promoção, o usuário deve resgatar o seu TOKEN no momento do cadastro, ou na página \"Minhas promoções\" ou na página \"Promoções\".
\n 4. Somente depois que o seu TOKEN for validado é que o seu bônus será adicionado automaticamente.
\n 5. Para saber como transferir seu saldo bônus para saldo real, consulte as regras da promoção.
\n 6. Divirta-se com o saldo bônus!
\n `;\n }\n }\n ","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createPromotion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createPromotion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./createPromotion.vue?vue&type=template&id=126e5374&scoped=true&\"\nimport script from \"./createPromotion.vue?vue&type=script&lang=js&\"\nexport * from \"./createPromotion.vue?vue&type=script&lang=js&\"\nimport style0 from \"./createPromotion.vue?vue&type=style&index=0&id=126e5374&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"126e5374\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAutocomplete,VBtn,VCard,VCardActions,VCardText,VCol,VDatePicker,VDialog,VFileInput,VForm,VIcon,VImg,VMenu,VRow,VSelect,VSkeletonLoader,VSpacer,VSubheader,VSwitch,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"500\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"small\":\"\",\"disabled\":!_vm.promotion.isReallyActive || !_vm.$permission('55')}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-toolbar',{staticClass:\"flex-grow-0\",attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-toolbar-title',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"deletePromotion\"))+\" \")]),_c('div',{staticClass:\"flex-grow-1\"}),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.closeDialog}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',[_c('div',{staticClass:\"px-8 py-4\"},[_c('span',{staticClass:\"overline font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"promotion\"))+\" \")]),_c('br'),_c('div',{staticClass:\"body-2 px-4 pt-2\"},[_c('ul',[_c('li',[_vm._v(\"ID: \"+_vm._s(_vm.promotion.id_promo))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"code\"))+\": \"+_vm._s(_vm.promotion.code_promo))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"type\"))+\": \"+_vm._s(_vm.transformTypePromo(_vm.promotion.type_promo))+\" \")])])])]),_c('div',{staticClass:\"px-8 py-4\"},[_c('span',{staticClass:\"overline font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"attention\"))+\" \")]),_c('br'),_c('div',{staticClass:\"body-2 mb-2 pt-2 px-4\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.$t(\"areYouSureYouWantToDeleteThePromotion\"))+\" \")]),_c('div',{staticClass:\"mt-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"deletingPromotionUserRollover\"))+\" \")])])])]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"text\":\"\"},on:{\"click\":_vm.closeDialog}},[_vm._v(\" \"+_vm._s(_vm.$t(\"toCancel\"))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\",\"loading\":_vm.loading,\"disabled\":_vm.loading},on:{\"click\":_vm.confirm}},[_vm._v(\" \"+_vm._s(_vm.$t(\"toConfirm\"))+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmPromotionDelete.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmPromotionDelete.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ConfirmPromotionDelete.vue?vue&type=template&id=2bec3984&\"\nimport script from \"./ConfirmPromotionDelete.vue?vue&type=script&lang=js&\"\nexport * from \"./ConfirmPromotionDelete.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VIcon,VSpacer,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"600\",\"persistent\":\"\",\"fullscreen\":_vm.$vuetify.breakpoint.mobile},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"small\":\"\",\"disabled\":!_vm.promotion.isReallyActive || !_vm.$permission('43')}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-form',{on:{\"submit\":_vm.updatePromotion},model:{value:(_vm.validForm),callback:function ($$v) {_vm.validForm=$$v},expression:\"validForm\"}},[_c('v-toolbar',{staticClass:\"flex-grow-0\",attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-toolbar-title',{staticClass:\"title\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"updatingPromotion\"))+\" \")]),_c('div',{staticClass:\"flex-grow-1\"}),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.dialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',[_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('title'),\"rules\":[_vm.rules.required],\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"autocapitalize\":\"off\",\"counter\":40,\"maxlength\":\"40\"},model:{value:(_vm.newPromotion.title),callback:function ($$v) {_vm.$set(_vm.newPromotion, \"title\", $$v)},expression:\"newPromotion.title\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('description'),\"rules\":[_vm.rules.required],\"clearable\":\"\",\"outlined\":\"\",\"dense\":\"\",\"autocapitalize\":\"off\",\"counter\":50,\"maxlength\":\"50\"},model:{value:(_vm.newPromotion.description),callback:function ($$v) {_vm.$set(_vm.newPromotion, \"description\", $$v)},expression:\"newPromotion.description\"}})],1),(_vm.shouldHidePromotion)?_c('div',[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"promotionVisibility\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6 d-flex align-center\"},[_c('v-switch',{staticClass:\"pr-2\",attrs:{\"label\":_vm.$t('hidePromotion')},model:{value:(_vm.newPromotion.hidePromotion),callback:function ($$v) {_vm.$set(_vm.newPromotion, \"hidePromotion\", $$v)},expression:\"newPromotion.hidePromotion\"}}),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-icon',_vm._g(_vm._b({attrs:{\"color\":\"primary\"}},'v-icon',attrs,false),on),[_vm._v(\" mdi-information-outline \")])]}}],null,false,2499696388)},[_c('div',{staticStyle:{\"max-width\":\"320px\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"hidePromotionTooltip\", { updateMessage: \"\" }))+\" \")])])],1)],1):_vm._e(),_c('v-subheader',{staticClass:\"overline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"promotionImageWithoutAsterisk\"))+\" \")]),_c('div',{staticClass:\"pb-4 pt-2\",class:_vm.$vuetify.breakpoint.mobile ? 'mx-6' : 'mx-8'},[(_vm.imageLoaded === false)?_c('div',[_c('v-skeleton-loader',{attrs:{\"type\":\"image\"}})],1):_vm._e(),_c('img',{staticClass:\"mx-auto\",staticStyle:{\"max-width\":\"400px\"},attrs:{\"width\":\"100%\",\"src\":_vm.currentImage},on:{\"load\":function($event){_vm.imageLoaded = true}}})]),_c('div',{staticClass:\"px-6 mt-0 pt-2\"},[_c('p',{staticClass:\"caption grey--text\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"recommendedImagiSizePromoImage\"))+\" \")]),_c('p',{staticClass:\"caption grey--text mt-0 pt-0\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"browserCachingImage\"))+\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":(_vm.operatorUrl + \"/promotions/\" + (this.promotion.id_promo))}},[_vm._v(\" \"+_vm._s(_vm.$t(\"promotionLink\"))+\" \")])]),_c('v-file-input',{attrs:{\"dense\":\"\",\"outlined\":\"\",\"label\":_vm.$t('loadImage')},on:{\"click\":function($event){$event.preventDefault();return _vm.loadImage($event)}}}),_c('v-spacer'),_c('input',{ref:\"image\",staticClass:\"pb-6\",attrs:{\"id\":\"imgInput\",\"type\":\"file\"},on:{\"change\":_vm.onFileChange}})],1)],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"type\":\"submit\",\"loading\":_vm.loading,\"disabled\":_vm.loading},on:{\"click\":function($event){$event.preventDefault();_vm.dialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"toCancel\"))+\" \")]),_c('v-btn',{attrs:{\"color\":\"primary\",\"type\":\"submit\",\"loading\":_vm.loading,\"disabled\":_vm.loading || !_vm.validForm},on:{\"click\":function($event){$event.preventDefault();return _vm.updatePromotion($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"toSave\"))+\" \")])],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePromotion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePromotion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./UpdatePromotion.vue?vue&type=template&id=22766f09&\"\nimport script from \"./UpdatePromotion.vue?vue&type=script&lang=js&\"\nexport * from \"./UpdatePromotion.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VFileInput,VForm,VIcon,VSkeletonLoader,VSpacer,VSubheader,VSwitch,VTextField,VToolbar,VToolbarTitle,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"fullscreen\":_vm.$vuetify.breakpoint.smAndDown,\"persistent\":\"\",\"max-width\":\"1000\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"small\":\"\",\"disabled\":!_vm.isReallyActive || !_vm.$permission('52')},on:{\"click\":function($event){_vm.dialog = true}}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-eye\")])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[(_vm.loading)?_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"primary\"}}):_vm._e(),_c('v-form',{ref:\"form\",staticClass:\"top\",model:{value:(_vm.valid),callback:function ($$v) {_vm.valid=$$v},expression:\"valid\"}},[_c('v-toolbar',[_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"seePromotion\"))+\" \")]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.dialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('div',{class:_vm.$vuetify.breakpoint.smAndDown ? '' : 'px-6'},[_c('v-card-text',[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"promotionImageWithoutAsterisk\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\",attrs:{\"max-width\":\"70%\"}},[_c('v-img',{staticClass:\"mx-auto\",attrs:{\"src\":_vm.promotionImage,\"max-width\":\"70%\"}}),(_vm.promotionImage === '')?_c('v-skeleton-loader',{attrs:{\"type\":\"image\"}}):_vm._e()],1),_c('v-subheader',{staticClass:\"overline\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"typeAndCodeOfPromotion\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-select',{staticClass:\"mb-6\",attrs:{\"items\":_vm.items,\"item-text\":\"text\",\"item-value\":\"status\",\"label\":_vm.$t('typeOfPromotionSelect'),\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"return-object\":\"\",\"disabled\":\"\"},model:{value:(_vm.promotion.type),callback:function ($$v) {_vm.$set(_vm.promotion, \"type\", $$v)},expression:\"promotion.type\"}}),_c('div',{staticClass:\"d-flex align-center\"},[(_vm.isPromotionTypeToken)?_c('v-text-field',{attrs:{\"label\":_vm.$t('quantityOfTokens'),\"hide-details\":\"\",\"dense\":\"\",\"type\":\"number\",\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.quantityTokens),callback:function ($$v) {_vm.quantityTokens=$$v},expression:\"quantityTokens\"}}):_vm._e(),(\n _vm.isPromotionTypeDeposit || _vm.isPromotionTypeRegisterOrAffiliate\n )?_c('v-text-field',{attrs:{\"label\":_vm.$t('promotionCode'),\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.promotion.code_promo),callback:function ($$v) {_vm.$set(_vm.promotion, \"code_promo\", $$v)},expression:\"promotion.code_promo\"}}):_vm._e(),(_vm.isPromotionTypeToken)?_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"tokenTip\"))+\" \")])],1):_vm._e(),(\n _vm.isPromotionTypeDeposit || _vm.isPromotionTypeRegisterOrAffiliate\n )?_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"promotionCodeTip\"))+\" \")])],1):_vm._e()],1),(_vm.isPromotionTypeToken)?_c('div',{class:_vm.$vuetify.breakpoint.smAndDown\n ? 'row d-flex flex-column no-gutters mt-2 grey--text'\n : 'row no-gutters mt-2 grey--text',style:(_vm.$vuetify.breakpoint.smAndDown ? '' : 'width: 50%')},[_c('div',{staticClass:\"sm6\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"redeemedTokens\"))+\": \"+_vm._s(_vm.promotion.ransomed)+\" \"+_vm._s(_vm.$t(\"of\"))+\" \"+_vm._s(_vm.promotion.ransomed + _vm.promotion.not_ransomed)+\" \")])]):_vm._e()],1),(_vm.promotion.type.status === 'afiliado')?_c('div',{staticClass:\"pa-0 ma-0\"},[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"findAnAffiliate\"))+\" \")]),_c('div',{staticClass:\"mb-4 pa-4 px-6 \"},[_c('v-autocomplete',{attrs:{\"items\":[_vm.promotion.affiliate],\"item-text\":\"ui\",\"item-value\":\"id\",\"label\":_vm.$t('autoCompleteAffiliatePlaceHolder'),\"no-data-text\":_vm.$t('autoCompleteNoData'),\"hint\":_vm.$t('searchAffiliateSpan'),\"persistent-hint\":\"\",\"prepend-icon\":\"mdi-magnify\",\"dense\":\"\",\"outlined\":\"\",\"clearable\":\"\",\"hide-details\":\"auto\",\"return-object\":\"\",\"disabled\":\"\"},model:{value:(_vm.promotion.affiliate),callback:function ($$v) {_vm.$set(_vm.promotion, \"affiliate\", $$v)},expression:\"promotion.affiliate\"}})],1)],1):_vm._e(),_c('div',{staticClass:\"pa-0 ma-0\"},[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(((_vm.$t(\"title\")) + \" \" + (_vm.$t(\"and\")) + \" \" + (_vm.$t(\"description\"))))+\" \")]),_c('div',{staticClass:\"mb-4 pa-4 px-6\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('promotionTitle'),\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"counter\":40,\"maxlength\":\"40\",\"disabled\":\"\"},model:{value:(_vm.promotion.title),callback:function ($$v) {_vm.$set(_vm.promotion, \"title\", $$v)},expression:\"promotion.title\"}}),_c('v-text-field',{staticClass:\"pt-2\",attrs:{\"label\":_vm.$t('promotionDescription'),\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"counter\":50,\"maxlength\":\"50\",\"disabled\":\"\"},model:{value:(_vm.promotion.description),callback:function ($$v) {_vm.$set(_vm.promotion, \"description\", $$v)},expression:\"promotion.description\"}})],1)],1),_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"validity\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-row',[_c('v-col',[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"transition\":\"scale-transition\",\"min-width\":\"200\",\"offset-y\":\"\",\"disabled\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"label\":_vm.$t('dateStart'),\"prepend-icon\":\"mdi-calendar\",\"hint\":\"DD/MM/YYYY\",\"hide-details\":\"auto\",\"dense\":\"\",\"disabled\":\"\"},model:{value:(_vm.promotion.date_inicial),callback:function ($$v) {_vm.$set(_vm.promotion, \"date_inicial\", $$v)},expression:\"promotion.date_inicial\"}},on))]}}]),model:{value:(_vm.menuStart),callback:function ($$v) {_vm.menuStart=$$v},expression:\"menuStart\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\",\"scrollable\":\"\",\"disabled\":\"\"},on:{\"input\":function($event){_vm.menuStart = false}},model:{value:(_vm.promotion.date_inicial),callback:function ($$v) {_vm.$set(_vm.promotion, \"date_inicial\", $$v)},expression:\"promotion.date_inicial\"}})],1)],1)],1),_c('v-row',[_c('v-col',[_c('v-menu',{attrs:{\"close-on-content-click\":false,\"nudge-right\":40,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"200\",\"disabled\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-text-field',_vm._g({attrs:{\"outlined\":\"\",\"label\":_vm.$t('dateFinal'),\"prepend-icon\":\"mdi-calendar\",\"hint\":\"DD/MM/YYYY\",\"hide-details\":\"auto\",\"dense\":\"\",\"disabled\":\"\"},model:{value:(_vm.promotion.date_final),callback:function ($$v) {_vm.$set(_vm.promotion, \"date_final\", $$v)},expression:\"promotion.date_final\"}},on))]}}]),model:{value:(_vm.menuFinal),callback:function ($$v) {_vm.menuFinal=$$v},expression:\"menuFinal\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\",\"scrollable\":\"\",\"disabled\":\"\"},on:{\"input\":function($event){_vm.menuFinal = false}},model:{value:(_vm.dateFinal),callback:function ($$v) {_vm.dateFinal=$$v},expression:\"dateFinal\"}})],1)],1)],1)],1),_c('div',[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"rewardRules\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-text-field',{staticClass:\"custom-prepend-inner-icon\",attrs:{\"label\":_vm.isPromotionTypeDeposit\n ? _vm.$t('percentageOfBonus')\n : _vm.$t('promotionLabelBonus'),\"prepend-icon\":\"mdi-seal-variant\",\"prefix\":_vm.isPromotionTypeDeposit ? '%' : _vm.$t('labelCurrency'),\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"disabled\":\"\"},model:{value:(_vm.promotion.bonus),callback:function ($$v) {_vm.$set(_vm.promotion, \"bonus\", $$v)},expression:\"promotion.bonus\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\"mdi-information-outline\")]),_c('span',{staticClass:\"tooltipText body-2\"},[(_vm.isPromotionTypeDeposit)?_c('span',[_vm._v(_vm._s(_vm.$t(\"promotionTypeDepositTip\")))]):_c('span',[_vm._v(_vm._s(_vm.$t(\"prmotionTypeRegisterOrAfiliateTip\")))])])],1)],1)]),(\n !_vm.isPromotionTypeRegisterOrAffiliate &&\n !_vm.isPromotionTypeToken\n )?_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('LabelMaximumBonusAmount'),\"prefix\":_vm.$t('labelCurrency'),\"hide-details\":\"auto\",\"prepend-icon\":\"mdi-license\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"disabled\":\"\"},model:{value:(_vm.promotion.bonus_max),callback:function ($$v) {_vm.$set(_vm.promotion, \"bonus_max\", $$v)},expression:\"promotion.bonus_max\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"bonusMaxValueTip\"))+\" \")])],1)],1)]):_vm._e(),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('maxTransference'),\"prefix\":_vm.$t('labelCurrency'),\"prepend-icon\":\"mdi-bank-transfer\",\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"disabled\":\"\"},model:{value:(_vm.promotion.transfer_max),callback:function ($$v) {_vm.$set(_vm.promotion, \"transfer_max\", $$v)},expression:\"promotion.transfer_max\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"maxTransferTooltip\"))+\" \")])],1)],1)])])])],1)],1)],1),_c('div',[(_vm.isPromotionTypeDeposit)?_c('div',[_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"adhesionRules\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('minimumDeposit'),\"prepend-icon\":\"mdi-cash-fast\",\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"disabled\":\"\"},model:{value:(_vm.promotion.deposito_min),callback:function ($$v) {_vm.$set(_vm.promotion, \"deposito_min\", $$v)},expression:\"promotion.deposito_min\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"depositMinValueTip\"))+\" \")])],1)],1)])],1)],1)],1):_vm._e(),_c('v-subheader',{staticClass:\"overline pt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"rolloverRules\"))+\" \")]),_c('div',{staticClass:\"pa-4 px-6\"},[_c('v-row',{staticClass:\"mb-3\"},[_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('div',{staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('rolloverMultiplier'),\"hide-details\":\"auto\",\"prepend-icon\":\"mdi-dice-multiple\",\"prefix\":\"x\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"disabled\":\"\"},model:{value:(_vm.promotion.rollover_x),callback:function ($$v) {_vm.$set(_vm.promotion, \"rollover_x\", $$v)},expression:\"promotion.rollover_x\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"multiRolloverTooltip\"))+\" \")])],1)],1)])])]),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('daysToExpire'),\"prepend-icon\":\"mdi-calendar-clock\",\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"disabled\":\"\"},model:{value:(_vm.promotion.days_expiration),callback:function ($$v) {_vm.$set(_vm.promotion, \"days_expiration\", $$v)},expression:\"promotion.days_expiration\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"daysToRollover\"))+\" \")])],1)],1)]),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('minBet'),\"prepend-icon\":\"mdi-cash-lock\",\"hide-details\":\"auto\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"disabled\":\"\"},model:{value:(_vm.promotion.stake_min),callback:function ($$v) {_vm.$set(_vm.promotion, \"stake_min\", $$v)},expression:\"promotion.stake_min\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"stakeMinValueTip1\"))+\" \"+_vm._s(_vm.$t(\"labelCurrency\"))+\" \"+_vm._s(_vm.$t(\"stakeMinValueTip2\"))+\" \")])],1)],1)]),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('minimumMultiplier'),\"hide-details\":\"auto\",\"prepend-icon\":\"mdi-menu-up\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"disabled\":\"\"},model:{value:(_vm.promotion.multi_min),callback:function ($$v) {_vm.$set(_vm.promotion, \"multi_min\", $$v)},expression:\"promotion.multi_min\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"multMinValueTip\"))+\" \")])],1)],1)]),_c('v-col',{attrs:{\"cols\":_vm.$vuetify.breakpoint.smAndDown ? '12' : '6'}},[_c('div',{staticClass:\"d-flex align-center\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('maximumMutiplier'),\"hide-details\":\"auto\",\"prepend-icon\":\"mdi-menu-down\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"disabled\":\"\"},model:{value:(_vm.promotion.multi_max),callback:function ($$v) {_vm.$set(_vm.promotion, \"multi_max\", $$v)},expression:\"promotion.multi_max\"}}),_c('div',{staticClass:\"tooltip\"},[_c('v-icon',{staticClass:\"tooltipIcon\"},[_vm._v(\" mdi-information-outline \")]),_c('span',{staticClass:\"tooltipText body-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"multMaxValueTip\"))+\" \")])],1)],1)])],1)],1)],1)],1)],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewPromotion.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewPromotion.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ViewPromotion.vue?vue&type=template&id=77ddd90c&\"\nimport script from \"./ViewPromotion.vue?vue&type=script&lang=js&\"\nexport * from \"./ViewPromotion.vue?vue&type=script&lang=js&\"\nimport style0 from \"./ViewPromotion.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressLinear } from 'vuetify/lib/components/VProgressLinear';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VSubheader } from 'vuetify/lib/components/VSubheader';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAutocomplete,VBtn,VCard,VCardText,VCol,VDatePicker,VDialog,VForm,VIcon,VImg,VMenu,VProgressLinear,VRow,VSelect,VSkeletonLoader,VSpacer,VSubheader,VTextField,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-dialog',{attrs:{\"max-width\":\"800\",\"persistent\":\"\",\"scrollable\":\"\",\"fullscreen\":_vm.$vuetify.breakpoint.mobile},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({attrs:{\"small\":\"\",\"disabled\":!_vm.promotion.isReallyActive || !_vm.$permission('56')}},'v-btn',attrs,false),on),[_c('v-icon',[_vm._v(\"mdi-account-plus\")])],1)]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-toolbar',{attrs:{\"flat\":\"\",\"tile\":\"\"}},[_c('v-card-title',[_vm._v(_vm._s(_vm.$t(\"addPromotionUser.title\")))]),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":_vm.closeDialog}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',{style:(_vm.$vuetify.breakpoint.mobile && 'height:800px')},[_c('div',{staticClass:\"px-8 py-4\"},[_c('span',{staticClass:\"overline font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"promotion\"))+\" \")]),_c('br'),_c('div',{staticClass:\"body-2 px-4 pt-2\"},[_c('ul',[_c('li',[_vm._v(\"ID: \"+_vm._s(_vm.promotion.id_promo))]),_c('li',[_vm._v(_vm._s(_vm.$t(\"code\"))+\": \"+_vm._s(_vm.promotion.code_promo))]),_c('li',[_vm._v(\" \"+_vm._s(_vm.$t(\"type\"))+\": \"+_vm._s(_vm.transformTypePromo(_vm.promotion.type_promo))+\" \")])])])]),(_vm.oldTitlePromo)?_c('div',{staticClass:\"px-8 pb-2\"},[_c('span',{staticClass:\"overline font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"attention\"))+\" \")]),_c('br'),_c('div',{staticClass:\"body-2 mb-2 pt-2 px-4\"},[_c('div',{staticClass:\"mt-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"addPromotionUser.infoUser\", {titlePromo: _vm.oldTitlePromo}))+\" \")])])]):_vm._e(),_c('div',{staticClass:\"pa-2\"},[_c('v-autocomplete',{attrs:{\"items\":_vm.searchUserItems,\"loading\":_vm.searchUserIsLoading,\"search-input\":_vm.searchSync,\"prepend-icon\":\"mdi-account\",\"label\":_vm.$t('searchPlayer'),\"item-text\":\"ui\",\"item-value\":\"id\",\"clearable\":\"\",\"dense\":\"\",\"filled\":\"\",\"hide-details\":\"\",\"solo-inverted\":\"\",\"return-object\":\"\",\"filter\":_vm.filter,\"no-data-text\":_vm.$t('autoCompleteNoData'),\"footer-props\":{\n 'items-per-page-text': this.$t('rowsPerPage'),\n }},on:{\"update:searchInput\":function($event){_vm.searchSync=$event},\"update:search-input\":function($event){_vm.searchSync=$event},\"change\":_vm.setUserId,\"click:clear\":function($event){return _vm.clearable()}},model:{value:(_vm.searchSelectedUser),callback:function ($$v) {_vm.searchSelectedUser=$$v},expression:\"searchSelectedUser\"}}),_c('span',{staticClass:\"caption ml-10\"},[_vm._v(_vm._s(_vm.$t(\"seachPlayersMsg\"))+\".\")])],1),(_vm.userId && _vm.isDeposit && !_vm.searchDepositIsLoading)?_c('v-data-table',{staticClass:\"addPromotionUser elevation-1 py-2\",attrs:{\"headers\":_vm.headers,\"items\":_vm.listDepositsUser,\"single-select\":\"\",\"item-key\":\"deposit_id\",\"show-select\":\"\",\"no-data-text\":_vm.noDepositsText,\"footer-props\":{\n 'items-per-page-text': this.$t('rowsPerPage'),\n }},scopedSlots:_vm._u([{key:\"item.data-table-select\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{staticClass:\"d-flex justify-start\"},[_c('v-radio-group',{model:{value:(_vm.selectedDeposit),callback:function ($$v) {_vm.selectedDeposit=$$v},expression:\"selectedDeposit\"}},[_c('v-radio',{attrs:{\"value\":item.deposit_id,\"label\":_vm.$vuetify.breakpoint.mobile ? _vm.$t('addPromotionUser.selectDeposit') : ''}})],1)],1)]}},{key:\"item.deposit_id\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-btn',{attrs:{\"x-small\":\"\"},on:{\"click\":function($event){return _vm.$copy(item.deposit_id)}}},[_vm._v(\" \"+_vm._s(item.deposit_id)+\" \")])]}},{key:\"item.value_consolidated\",fn:function(ref){\n var item = ref.item;\nreturn [_c('span',{class:_vm.getColor(item.value_consolidated)},[_vm._v(_vm._s(item.value_consolidated))])]}},{key:\"item.id_user\",fn:function(ref){\n var item = ref.item;\nreturn [_c('v-btn',{attrs:{\"x-small\":\"\"},on:{\"click\":function($event){return _vm.$copy(item.id_user)}}},[_vm._v(\" \"+_vm._s(item.id_user)+\" \")])]}},{key:\"item.status\",fn:function(ref){\n var item = ref.item;\nreturn [_c('div',{domProps:{\"innerHTML\":_vm._s(item.status)}})]}}],null,true)}):_vm._e(),(_vm.isDeposit && _vm.searchDepositIsLoading)?_c('v-skeleton-loader',{attrs:{\"type\":\"table-heading, divider, table-row, divider, table-row, divider, table-tfoot\"}}):_vm._e()],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"type\":\"submit\",\"loading\":_vm.searchUserIsLoading,\"disabled\":_vm.searchUserIsLoading},on:{\"click\":function($event){$event.preventDefault();return _vm.closeDialog($event)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"toCancel\"))+\" \")]),_c('v-btn',{attrs:{\"type\":\"submit\",\"color\":\"primary\",\"loading\":_vm.searchUserIsLoading,\"disabled\":_vm.searchUserIsLoading},on:{\"click\":function($event){return _vm.addPromotionUser()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"toSave\"))+\" \")])],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPromotionUser.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPromotionUser.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AddPromotionUser.vue?vue&type=template&id=5a34183e&\"\nimport script from \"./AddPromotionUser.vue?vue&type=script&lang=js&\"\nexport * from \"./AddPromotionUser.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AddPromotionUser.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAutocomplete,VBtn,VCard,VCardActions,VCardText,VCardTitle,VDataTable,VDialog,VIcon,VRadio,VRadioGroup,VSkeletonLoader,VSpacer,VToolbar})\n","\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./listPromotionOnline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./listPromotionOnline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./listPromotionOnline.vue?vue&type=template&id=d25ffaa2&\"\nimport script from \"./listPromotionOnline.vue?vue&type=script&lang=js&\"\nexport * from \"./listPromotionOnline.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VBtnToggle,VCard,VChip,VCol,VDataTable,VDivider,VIcon,VRow,VSpacer,VTextField,VTooltip})\n","/*! https://mths.be/punycode v1.4.1 by @mathias */\n;(function(root) {\n\n\t/** Detect free variables */\n\tvar freeExports = typeof exports == 'object' && exports &&\n\t\t!exports.nodeType && exports;\n\tvar freeModule = typeof module == 'object' && module &&\n\t\t!module.nodeType && module;\n\tvar freeGlobal = typeof global == 'object' && global;\n\tif (\n\t\tfreeGlobal.global === freeGlobal ||\n\t\tfreeGlobal.window === freeGlobal ||\n\t\tfreeGlobal.self === freeGlobal\n\t) {\n\t\troot = freeGlobal;\n\t}\n\n\t/**\n\t * The `punycode` object.\n\t * @name punycode\n\t * @type Object\n\t */\n\tvar punycode,\n\n\t/** Highest positive signed 32-bit float value */\n\tmaxInt = 2147483647, // aka. 0x7FFFFFFF or 2^31-1\n\n\t/** Bootstring parameters */\n\tbase = 36,\n\ttMin = 1,\n\ttMax = 26,\n\tskew = 38,\n\tdamp = 700,\n\tinitialBias = 72,\n\tinitialN = 128, // 0x80\n\tdelimiter = '-', // '\\x2D'\n\n\t/** Regular expressions */\n\tregexPunycode = /^xn--/,\n\tregexNonASCII = /[^\\x20-\\x7E]/, // unprintable ASCII chars + non-ASCII chars\n\tregexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g, // RFC 3490 separators\n\n\t/** Error messages */\n\terrors = {\n\t\t'overflow': 'Overflow: input needs wider integers to process',\n\t\t'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n\t\t'invalid-input': 'Invalid input'\n\t},\n\n\t/** Convenience shortcuts */\n\tbaseMinusTMin = base - tMin,\n\tfloor = Math.floor,\n\tstringFromCharCode = String.fromCharCode,\n\n\t/** Temporary variable */\n\tkey;\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/**\n\t * A generic error utility function.\n\t * @private\n\t * @param {String} type The error type.\n\t * @returns {Error} Throws a `RangeError` with the applicable error message.\n\t */\n\tfunction error(type) {\n\t\tthrow new RangeError(errors[type]);\n\t}\n\n\t/**\n\t * A generic `Array#map` utility function.\n\t * @private\n\t * @param {Array} array The array to iterate over.\n\t * @param {Function} callback The function that gets called for every array\n\t * item.\n\t * @returns {Array} A new array of values returned by the callback function.\n\t */\n\tfunction map(array, fn) {\n\t\tvar length = array.length;\n\t\tvar result = [];\n\t\twhile (length--) {\n\t\t\tresult[length] = fn(array[length]);\n\t\t}\n\t\treturn result;\n\t}\n\n\t/**\n\t * A simple `Array#map`-like wrapper to work with domain name strings or email\n\t * addresses.\n\t * @private\n\t * @param {String} domain The domain name or email address.\n\t * @param {Function} callback The function that gets called for every\n\t * character.\n\t * @returns {Array} A new string of characters returned by the callback\n\t * function.\n\t */\n\tfunction mapDomain(string, fn) {\n\t\tvar parts = string.split('@');\n\t\tvar result = '';\n\t\tif (parts.length > 1) {\n\t\t\t// In email addresses, only the domain name should be punycoded. Leave\n\t\t\t// the local part (i.e. everything up to `@`) intact.\n\t\t\tresult = parts[0] + '@';\n\t\t\tstring = parts[1];\n\t\t}\n\t\t// Avoid `split(regex)` for IE8 compatibility. See #17.\n\t\tstring = string.replace(regexSeparators, '\\x2E');\n\t\tvar labels = string.split('.');\n\t\tvar encoded = map(labels, fn).join('.');\n\t\treturn result + encoded;\n\t}\n\n\t/**\n\t * Creates an array containing the numeric code points of each Unicode\n\t * character in the string. While JavaScript uses UCS-2 internally,\n\t * this function will convert a pair of surrogate halves (each of which\n\t * UCS-2 exposes as separate characters) into a single code point,\n\t * matching UTF-16.\n\t * @see `punycode.ucs2.encode`\n\t * @see \n\t * @memberOf punycode.ucs2\n\t * @name decode\n\t * @param {String} string The Unicode input string (UCS-2).\n\t * @returns {Array} The new array of code points.\n\t */\n\tfunction ucs2decode(string) {\n\t\tvar output = [],\n\t\t counter = 0,\n\t\t length = string.length,\n\t\t value,\n\t\t extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t/**\n\t * Creates a string based on an array of numeric code points.\n\t * @see `punycode.ucs2.decode`\n\t * @memberOf punycode.ucs2\n\t * @name encode\n\t * @param {Array} codePoints The array of numeric code points.\n\t * @returns {String} The new Unicode string (UCS-2).\n\t */\n\tfunction ucs2encode(array) {\n\t\treturn map(array, function(value) {\n\t\t\tvar output = '';\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t\treturn output;\n\t\t}).join('');\n\t}\n\n\t/**\n\t * Converts a basic code point into a digit/integer.\n\t * @see `digitToBasic()`\n\t * @private\n\t * @param {Number} codePoint The basic numeric code point value.\n\t * @returns {Number} The numeric value of a basic code point (for use in\n\t * representing integers) in the range `0` to `base - 1`, or `base` if\n\t * the code point does not represent a value.\n\t */\n\tfunction basicToDigit(codePoint) {\n\t\tif (codePoint - 48 < 10) {\n\t\t\treturn codePoint - 22;\n\t\t}\n\t\tif (codePoint - 65 < 26) {\n\t\t\treturn codePoint - 65;\n\t\t}\n\t\tif (codePoint - 97 < 26) {\n\t\t\treturn codePoint - 97;\n\t\t}\n\t\treturn base;\n\t}\n\n\t/**\n\t * Converts a digit/integer into a basic code point.\n\t * @see `basicToDigit()`\n\t * @private\n\t * @param {Number} digit The numeric value of a basic code point.\n\t * @returns {Number} The basic code point whose value (when used for\n\t * representing integers) is `digit`, which needs to be in the range\n\t * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n\t * used; else, the lowercase form is used. The behavior is undefined\n\t * if `flag` is non-zero and `digit` has no uppercase form.\n\t */\n\tfunction digitToBasic(digit, flag) {\n\t\t// 0..25 map to ASCII a..z or A..Z\n\t\t// 26..35 map to ASCII 0..9\n\t\treturn digit + 22 + 75 * (digit < 26) - ((flag != 0) << 5);\n\t}\n\n\t/**\n\t * Bias adaptation function as per section 3.4 of RFC 3492.\n\t * https://tools.ietf.org/html/rfc3492#section-3.4\n\t * @private\n\t */\n\tfunction adapt(delta, numPoints, firstTime) {\n\t\tvar k = 0;\n\t\tdelta = firstTime ? floor(delta / damp) : delta >> 1;\n\t\tdelta += floor(delta / numPoints);\n\t\tfor (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n\t\t\tdelta = floor(delta / baseMinusTMin);\n\t\t}\n\t\treturn floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n\t}\n\n\t/**\n\t * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n\t * symbols.\n\t * @memberOf punycode\n\t * @param {String} input The Punycode string of ASCII-only symbols.\n\t * @returns {String} The resulting string of Unicode symbols.\n\t */\n\tfunction decode(input) {\n\t\t// Don't use UCS-2\n\t\tvar output = [],\n\t\t inputLength = input.length,\n\t\t out,\n\t\t i = 0,\n\t\t n = initialN,\n\t\t bias = initialBias,\n\t\t basic,\n\t\t j,\n\t\t index,\n\t\t oldi,\n\t\t w,\n\t\t k,\n\t\t digit,\n\t\t t,\n\t\t /** Cached calculation results */\n\t\t baseMinusT;\n\n\t\t// Handle the basic code points: let `basic` be the number of input code\n\t\t// points before the last delimiter, or `0` if there is none, then copy\n\t\t// the first basic code points to the output.\n\n\t\tbasic = input.lastIndexOf(delimiter);\n\t\tif (basic < 0) {\n\t\t\tbasic = 0;\n\t\t}\n\n\t\tfor (j = 0; j < basic; ++j) {\n\t\t\t// if it's not a basic code point\n\t\t\tif (input.charCodeAt(j) >= 0x80) {\n\t\t\t\terror('not-basic');\n\t\t\t}\n\t\t\toutput.push(input.charCodeAt(j));\n\t\t}\n\n\t\t// Main decoding loop: start just after the last delimiter if any basic code\n\t\t// points were copied; start at the beginning otherwise.\n\n\t\tfor (index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n\n\t\t\t// `index` is the index of the next character to be consumed.\n\t\t\t// Decode a generalized variable-length integer into `delta`,\n\t\t\t// which gets added to `i`. The overflow checking is easier\n\t\t\t// if we increase `i` as we go, then subtract off its starting\n\t\t\t// value at the end to obtain `delta`.\n\t\t\tfor (oldi = i, w = 1, k = base; /* no condition */; k += base) {\n\n\t\t\t\tif (index >= inputLength) {\n\t\t\t\t\terror('invalid-input');\n\t\t\t\t}\n\n\t\t\t\tdigit = basicToDigit(input.charCodeAt(index++));\n\n\t\t\t\tif (digit >= base || digit > floor((maxInt - i) / w)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\ti += digit * w;\n\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\n\t\t\t\tif (digit < t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tbaseMinusT = base - t;\n\t\t\t\tif (w > floor(maxInt / baseMinusT)) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tw *= baseMinusT;\n\n\t\t\t}\n\n\t\t\tout = output.length + 1;\n\t\t\tbias = adapt(i - oldi, out, oldi == 0);\n\n\t\t\t// `i` was supposed to wrap around from `out` to `0`,\n\t\t\t// incrementing `n` each time, so we'll fix that now:\n\t\t\tif (floor(i / out) > maxInt - n) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tn += floor(i / out);\n\t\t\ti %= out;\n\n\t\t\t// Insert `n` at position `i` of the output\n\t\t\toutput.splice(i++, 0, n);\n\n\t\t}\n\n\t\treturn ucs2encode(output);\n\t}\n\n\t/**\n\t * Converts a string of Unicode symbols (e.g. a domain name label) to a\n\t * Punycode string of ASCII-only symbols.\n\t * @memberOf punycode\n\t * @param {String} input The string of Unicode symbols.\n\t * @returns {String} The resulting Punycode string of ASCII-only symbols.\n\t */\n\tfunction encode(input) {\n\t\tvar n,\n\t\t delta,\n\t\t handledCPCount,\n\t\t basicLength,\n\t\t bias,\n\t\t j,\n\t\t m,\n\t\t q,\n\t\t k,\n\t\t t,\n\t\t currentValue,\n\t\t output = [],\n\t\t /** `inputLength` will hold the number of code points in `input`. */\n\t\t inputLength,\n\t\t /** Cached calculation results */\n\t\t handledCPCountPlusOne,\n\t\t baseMinusT,\n\t\t qMinusT;\n\n\t\t// Convert the input in UCS-2 to Unicode\n\t\tinput = ucs2decode(input);\n\n\t\t// Cache the length\n\t\tinputLength = input.length;\n\n\t\t// Initialize the state\n\t\tn = initialN;\n\t\tdelta = 0;\n\t\tbias = initialBias;\n\n\t\t// Handle the basic code points\n\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\tcurrentValue = input[j];\n\t\t\tif (currentValue < 0x80) {\n\t\t\t\toutput.push(stringFromCharCode(currentValue));\n\t\t\t}\n\t\t}\n\n\t\thandledCPCount = basicLength = output.length;\n\n\t\t// `handledCPCount` is the number of code points that have been handled;\n\t\t// `basicLength` is the number of basic code points.\n\n\t\t// Finish the basic string - if it is not empty - with a delimiter\n\t\tif (basicLength) {\n\t\t\toutput.push(delimiter);\n\t\t}\n\n\t\t// Main encoding loop:\n\t\twhile (handledCPCount < inputLength) {\n\n\t\t\t// All non-basic code points < n have been handled already. Find the next\n\t\t\t// larger one:\n\t\t\tfor (m = maxInt, j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\t\t\t\tif (currentValue >= n && currentValue < m) {\n\t\t\t\t\tm = currentValue;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Increase `delta` enough to advance the decoder's state to ,\n\t\t\t// but guard against overflow\n\t\t\thandledCPCountPlusOne = handledCPCount + 1;\n\t\t\tif (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n\t\t\t\terror('overflow');\n\t\t\t}\n\n\t\t\tdelta += (m - n) * handledCPCountPlusOne;\n\t\t\tn = m;\n\n\t\t\tfor (j = 0; j < inputLength; ++j) {\n\t\t\t\tcurrentValue = input[j];\n\n\t\t\t\tif (currentValue < n && ++delta > maxInt) {\n\t\t\t\t\terror('overflow');\n\t\t\t\t}\n\n\t\t\t\tif (currentValue == n) {\n\t\t\t\t\t// Represent delta as a generalized variable-length integer\n\t\t\t\t\tfor (q = delta, k = base; /* no condition */; k += base) {\n\t\t\t\t\t\tt = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n\t\t\t\t\t\tif (q < t) {\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tqMinusT = q - t;\n\t\t\t\t\t\tbaseMinusT = base - t;\n\t\t\t\t\t\toutput.push(\n\t\t\t\t\t\t\tstringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0))\n\t\t\t\t\t\t);\n\t\t\t\t\t\tq = floor(qMinusT / baseMinusT);\n\t\t\t\t\t}\n\n\t\t\t\t\toutput.push(stringFromCharCode(digitToBasic(q, 0)));\n\t\t\t\t\tbias = adapt(delta, handledCPCountPlusOne, handledCPCount == basicLength);\n\t\t\t\t\tdelta = 0;\n\t\t\t\t\t++handledCPCount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t++delta;\n\t\t\t++n;\n\n\t\t}\n\t\treturn output.join('');\n\t}\n\n\t/**\n\t * Converts a Punycode string representing a domain name or an email address\n\t * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n\t * it doesn't matter if you call it on a string that has already been\n\t * converted to Unicode.\n\t * @memberOf punycode\n\t * @param {String} input The Punycoded domain name or email address to\n\t * convert to Unicode.\n\t * @returns {String} The Unicode representation of the given Punycode\n\t * string.\n\t */\n\tfunction toUnicode(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexPunycode.test(string)\n\t\t\t\t? decode(string.slice(4).toLowerCase())\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/**\n\t * Converts a Unicode string representing a domain name or an email address to\n\t * Punycode. Only the non-ASCII parts of the domain name will be converted,\n\t * i.e. it doesn't matter if you call it with a domain that's already in\n\t * ASCII.\n\t * @memberOf punycode\n\t * @param {String} input The domain name or email address to convert, as a\n\t * Unicode string.\n\t * @returns {String} The Punycode representation of the given domain name or\n\t * email address.\n\t */\n\tfunction toASCII(input) {\n\t\treturn mapDomain(input, function(string) {\n\t\t\treturn regexNonASCII.test(string)\n\t\t\t\t? 'xn--' + encode(string)\n\t\t\t\t: string;\n\t\t});\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\t/** Define the public API */\n\tpunycode = {\n\t\t/**\n\t\t * A string representing the current Punycode.js version number.\n\t\t * @memberOf punycode\n\t\t * @type String\n\t\t */\n\t\t'version': '1.4.1',\n\t\t/**\n\t\t * An object of methods to convert from JavaScript's internal character\n\t\t * representation (UCS-2) to Unicode code points, and back.\n\t\t * @see \n\t\t * @memberOf punycode\n\t\t * @type Object\n\t\t */\n\t\t'ucs2': {\n\t\t\t'decode': ucs2decode,\n\t\t\t'encode': ucs2encode\n\t\t},\n\t\t'decode': decode,\n\t\t'encode': encode,\n\t\t'toASCII': toASCII,\n\t\t'toUnicode': toUnicode\n\t};\n\n\t/** Expose `punycode` */\n\t// Some AMD build optimizers, like r.js, check for specific condition patterns\n\t// like the following:\n\tif (\n\t\ttypeof define == 'function' &&\n\t\ttypeof define.amd == 'object' &&\n\t\tdefine.amd\n\t) {\n\t\tdefine('punycode', function() {\n\t\t\treturn punycode;\n\t\t});\n\t} else if (freeExports && freeModule) {\n\t\tif (module.exports == freeExports) {\n\t\t\t// in Node.js, io.js, or RingoJS v0.8.0+\n\t\t\tfreeModule.exports = punycode;\n\t\t} else {\n\t\t\t// in Narwhal or RingoJS v0.7.0-\n\t\t\tfor (key in punycode) {\n\t\t\t\tpunycode.hasOwnProperty(key) && (freeExports[key] = punycode[key]);\n\t\t\t}\n\t\t}\n\t} else {\n\t\t// in Rhino or a web browser\n\t\troot.punycode = punycode;\n\t}\n\n}(this));\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['elb'] = {};\nAWS.ELB = Service.defineService('elb', ['2012-06-01']);\nObject.defineProperty(apiLoader.services['elb'], '2012-06-01', {\n get: function get() {\n var model = require('../apis/elasticloadbalancing-2012-06-01.min.json');\n model.paginators = require('../apis/elasticloadbalancing-2012-06-01.paginators.json').pagination;\n model.waiters = require('../apis/elasticloadbalancing-2012-06-01.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ELB;\n","var AWS = require('../core');\n\nAWS.util.update(AWS.MachineLearning.prototype, {\n /**\n * @api private\n */\n setupRequestListeners: function setupRequestListeners(request) {\n if (request.operation === 'predict') {\n request.addListener('build', this.buildEndpoint);\n }\n },\n\n /**\n * Updates request endpoint from PredictEndpoint\n * @api private\n */\n buildEndpoint: function buildEndpoint(request) {\n var url = request.params.PredictEndpoint;\n if (url) {\n request.httpRequest.endpoint = new AWS.Endpoint(url);\n }\n }\n\n});\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(\n uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)\n ))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","var AWS = require('../core');\nvar util = AWS.util;\nvar typeOf = require('./types').typeOf;\nvar DynamoDBSet = require('./set');\nvar NumberValue = require('./numberValue');\n\nAWS.DynamoDB.Converter = {\n /**\n * Convert a JavaScript value to its equivalent DynamoDB AttributeValue type\n *\n * @param data [any] The data to convert to a DynamoDB AttributeValue\n * @param options [map]\n * @option options convertEmptyValues [Boolean] Whether to automatically\n * convert empty strings, blobs,\n * and sets to `null`\n * @option options wrapNumbers [Boolean] Whether to return numbers as a\n * NumberValue object instead of\n * converting them to native JavaScript\n * numbers. This allows for the safe\n * round-trip transport of numbers of\n * arbitrary size.\n * @return [map] An object in the Amazon DynamoDB AttributeValue format\n *\n * @see AWS.DynamoDB.Converter.marshall AWS.DynamoDB.Converter.marshall to\n * convert entire records (rather than individual attributes)\n */\n input: function convertInput(data, options) {\n options = options || {};\n var type = typeOf(data);\n if (type === 'Object') {\n return formatMap(data, options);\n } else if (type === 'Array') {\n return formatList(data, options);\n } else if (type === 'Set') {\n return formatSet(data, options);\n } else if (type === 'String') {\n if (data.length === 0 && options.convertEmptyValues) {\n return convertInput(null);\n }\n return { S: data };\n } else if (type === 'Number' || type === 'NumberValue') {\n return { N: data.toString() };\n } else if (type === 'Binary') {\n if (data.length === 0 && options.convertEmptyValues) {\n return convertInput(null);\n }\n return { B: data };\n } else if (type === 'Boolean') {\n return { BOOL: data };\n } else if (type === 'null') {\n return { NULL: true };\n } else if (type !== 'undefined' && type !== 'Function') {\n // this value has a custom constructor\n return formatMap(data, options);\n }\n },\n\n /**\n * Convert a JavaScript object into a DynamoDB record.\n *\n * @param data [any] The data to convert to a DynamoDB record\n * @param options [map]\n * @option options convertEmptyValues [Boolean] Whether to automatically\n * convert empty strings, blobs,\n * and sets to `null`\n * @option options wrapNumbers [Boolean] Whether to return numbers as a\n * NumberValue object instead of\n * converting them to native JavaScript\n * numbers. This allows for the safe\n * round-trip transport of numbers of\n * arbitrary size.\n *\n * @return [map] An object in the DynamoDB record format.\n *\n * @example Convert a JavaScript object into a DynamoDB record\n * var marshalled = AWS.DynamoDB.Converter.marshall({\n * string: 'foo',\n * list: ['fizz', 'buzz', 'pop'],\n * map: {\n * nestedMap: {\n * key: 'value',\n * }\n * },\n * number: 123,\n * nullValue: null,\n * boolValue: true,\n * stringSet: new DynamoDBSet(['foo', 'bar', 'baz'])\n * });\n */\n marshall: function marshallItem(data, options) {\n return AWS.DynamoDB.Converter.input(data, options).M;\n },\n\n /**\n * Convert a DynamoDB AttributeValue object to its equivalent JavaScript type.\n *\n * @param data [map] An object in the Amazon DynamoDB AttributeValue format\n * @param options [map]\n * @option options convertEmptyValues [Boolean] Whether to automatically\n * convert empty strings, blobs,\n * and sets to `null`\n * @option options wrapNumbers [Boolean] Whether to return numbers as a\n * NumberValue object instead of\n * converting them to native JavaScript\n * numbers. This allows for the safe\n * round-trip transport of numbers of\n * arbitrary size.\n *\n * @return [Object|Array|String|Number|Boolean|null]\n *\n * @see AWS.DynamoDB.Converter.unmarshall AWS.DynamoDB.Converter.unmarshall to\n * convert entire records (rather than individual attributes)\n */\n output: function convertOutput(data, options) {\n options = options || {};\n var list, map, i;\n for (var type in data) {\n var values = data[type];\n if (type === 'M') {\n map = {};\n for (var key in values) {\n map[key] = convertOutput(values[key], options);\n }\n return map;\n } else if (type === 'L') {\n list = [];\n for (i = 0; i < values.length; i++) {\n list.push(convertOutput(values[i], options));\n }\n return list;\n } else if (type === 'SS') {\n list = [];\n for (i = 0; i < values.length; i++) {\n list.push(values[i] + '');\n }\n return new DynamoDBSet(list);\n } else if (type === 'NS') {\n list = [];\n for (i = 0; i < values.length; i++) {\n list.push(convertNumber(values[i], options.wrapNumbers));\n }\n return new DynamoDBSet(list);\n } else if (type === 'BS') {\n list = [];\n for (i = 0; i < values.length; i++) {\n list.push(AWS.util.buffer.toBuffer(values[i]));\n }\n return new DynamoDBSet(list);\n } else if (type === 'S') {\n return values + '';\n } else if (type === 'N') {\n return convertNumber(values, options.wrapNumbers);\n } else if (type === 'B') {\n return util.buffer.toBuffer(values);\n } else if (type === 'BOOL') {\n return (values === 'true' || values === 'TRUE' || values === true);\n } else if (type === 'NULL') {\n return null;\n }\n }\n },\n\n /**\n * Convert a DynamoDB record into a JavaScript object.\n *\n * @param data [any] The DynamoDB record\n * @param options [map]\n * @option options convertEmptyValues [Boolean] Whether to automatically\n * convert empty strings, blobs,\n * and sets to `null`\n * @option options wrapNumbers [Boolean] Whether to return numbers as a\n * NumberValue object instead of\n * converting them to native JavaScript\n * numbers. This allows for the safe\n * round-trip transport of numbers of\n * arbitrary size.\n *\n * @return [map] An object whose properties have been converted from\n * DynamoDB's AttributeValue format into their corresponding native\n * JavaScript types.\n *\n * @example Convert a record received from a DynamoDB stream\n * var unmarshalled = AWS.DynamoDB.Converter.unmarshall({\n * string: {S: 'foo'},\n * list: {L: [{S: 'fizz'}, {S: 'buzz'}, {S: 'pop'}]},\n * map: {\n * M: {\n * nestedMap: {\n * M: {\n * key: {S: 'value'}\n * }\n * }\n * }\n * },\n * number: {N: '123'},\n * nullValue: {NULL: true},\n * boolValue: {BOOL: true}\n * });\n */\n unmarshall: function unmarshall(data, options) {\n return AWS.DynamoDB.Converter.output({M: data}, options);\n }\n};\n\n/**\n * @api private\n * @param data [Array]\n * @param options [map]\n */\nfunction formatList(data, options) {\n var list = {L: []};\n for (var i = 0; i < data.length; i++) {\n list['L'].push(AWS.DynamoDB.Converter.input(data[i], options));\n }\n return list;\n}\n\n/**\n * @api private\n * @param value [String]\n * @param wrapNumbers [Boolean]\n */\nfunction convertNumber(value, wrapNumbers) {\n return wrapNumbers ? new NumberValue(value) : Number(value);\n}\n\n/**\n * @api private\n * @param data [map]\n * @param options [map]\n */\nfunction formatMap(data, options) {\n var map = {M: {}};\n for (var key in data) {\n var formatted = AWS.DynamoDB.Converter.input(data[key], options);\n if (formatted !== void 0) {\n map['M'][key] = formatted;\n }\n }\n return map;\n}\n\n/**\n * @api private\n */\nfunction formatSet(data, options) {\n options = options || {};\n var values = data.values;\n if (options.convertEmptyValues) {\n values = filterEmptySetValues(data);\n if (values.length === 0) {\n return AWS.DynamoDB.Converter.input(null);\n }\n }\n\n var map = {};\n switch (data.type) {\n case 'String': map['SS'] = values; break;\n case 'Binary': map['BS'] = values; break;\n case 'Number': map['NS'] = values.map(function (value) {\n return value.toString();\n });\n }\n return map;\n}\n\n/**\n * @api private\n */\nfunction filterEmptySetValues(set) {\n var nonEmptyValues = [];\n var potentiallyEmptyTypes = {\n String: true,\n Binary: true,\n Number: false\n };\n if (potentiallyEmptyTypes[set.type]) {\n for (var i = 0; i < set.values.length; i++) {\n if (set.values[i].length === 0) {\n continue;\n }\n nonEmptyValues.push(set.values[i]);\n }\n\n return nonEmptyValues;\n }\n\n return set.values;\n}\n\n/**\n * @api private\n */\nmodule.exports = AWS.DynamoDB.Converter;\n","require('../lib/node_loader');\nmodule.exports = {\n ACM: require('./acm'),\n APIGateway: require('./apigateway'),\n ApplicationAutoScaling: require('./applicationautoscaling'),\n AutoScaling: require('./autoscaling'),\n CloudFormation: require('./cloudformation'),\n CloudFront: require('./cloudfront'),\n CloudHSM: require('./cloudhsm'),\n CloudTrail: require('./cloudtrail'),\n CloudWatch: require('./cloudwatch'),\n CloudWatchEvents: require('./cloudwatchevents'),\n CloudWatchLogs: require('./cloudwatchlogs'),\n CodeBuild: require('./codebuild'),\n CodeCommit: require('./codecommit'),\n CodeDeploy: require('./codedeploy'),\n CodePipeline: require('./codepipeline'),\n CognitoIdentity: require('./cognitoidentity'),\n CognitoIdentityServiceProvider: require('./cognitoidentityserviceprovider'),\n CognitoSync: require('./cognitosync'),\n ConfigService: require('./configservice'),\n CUR: require('./cur'),\n DeviceFarm: require('./devicefarm'),\n DirectConnect: require('./directconnect'),\n DynamoDB: require('./dynamodb'),\n DynamoDBStreams: require('./dynamodbstreams'),\n EC2: require('./ec2'),\n ECR: require('./ecr'),\n ECS: require('./ecs'),\n EFS: require('./efs'),\n ElastiCache: require('./elasticache'),\n ElasticBeanstalk: require('./elasticbeanstalk'),\n ELB: require('./elb'),\n ELBv2: require('./elbv2'),\n EMR: require('./emr'),\n ElasticTranscoder: require('./elastictranscoder'),\n Firehose: require('./firehose'),\n GameLift: require('./gamelift'),\n IAM: require('./iam'),\n Inspector: require('./inspector'),\n Iot: require('./iot'),\n IotData: require('./iotdata'),\n Kinesis: require('./kinesis'),\n KMS: require('./kms'),\n Lambda: require('./lambda'),\n LexRuntime: require('./lexruntime'),\n MachineLearning: require('./machinelearning'),\n MarketplaceCommerceAnalytics: require('./marketplacecommerceanalytics'),\n MTurk: require('./mturk'),\n MobileAnalytics: require('./mobileanalytics'),\n OpsWorks: require('./opsworks'),\n Polly: require('./polly'),\n RDS: require('./rds'),\n Redshift: require('./redshift'),\n Rekognition: require('./rekognition'),\n Route53: require('./route53'),\n Route53Domains: require('./route53domains'),\n S3: require('./s3'),\n ServiceCatalog: require('./servicecatalog'),\n SES: require('./ses'),\n SNS: require('./sns'),\n SQS: require('./sqs'),\n SSM: require('./ssm'),\n StorageGateway: require('./storagegateway'),\n STS: require('./sts'),\n XRay: require('./xray'),\n WAF: require('./waf'),\n WorkDocs: require('./workdocs'),\n LexModelBuildingService: require('./lexmodelbuildingservice'),\n Pricing: require('./pricing'),\n CostExplorer: require('./costexplorer'),\n MediaStoreData: require('./mediastoredata'),\n Comprehend: require('./comprehend'),\n KinesisVideoArchivedMedia: require('./kinesisvideoarchivedmedia'),\n KinesisVideoMedia: require('./kinesisvideomedia'),\n KinesisVideo: require('./kinesisvideo'),\n Translate: require('./translate'),\n ResourceGroups: require('./resourcegroups'),\n Connect: require('./connect'),\n SecretsManager: require('./secretsmanager'),\n IoTAnalytics: require('./iotanalytics'),\n ComprehendMedical: require('./comprehendmedical'),\n Personalize: require('./personalize'),\n PersonalizeEvents: require('./personalizeevents'),\n PersonalizeRuntime: require('./personalizeruntime'),\n ForecastService: require('./forecastservice'),\n ForecastQueryService: require('./forecastqueryservice'),\n KinesisVideoSignalingChannels: require('./kinesisvideosignalingchannels'),\n LexRuntimeV2: require('./lexruntimev2')\n};","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['codepipeline'] = {};\nAWS.CodePipeline = Service.defineService('codepipeline', ['2015-07-09']);\nObject.defineProperty(apiLoader.services['codepipeline'], '2015-07-09', {\n get: function get() {\n var model = require('../apis/codepipeline-2015-07-09.min.json');\n model.paginators = require('../apis/codepipeline-2015-07-09.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CodePipeline;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([bth[buf[i++]], bth[buf[i++]], \n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]], '-',\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]],\n\tbth[buf[i++]], bth[buf[i++]]]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['kinesis'] = {};\nAWS.Kinesis = Service.defineService('kinesis', ['2013-12-02']);\nObject.defineProperty(apiLoader.services['kinesis'], '2013-12-02', {\n get: function get() {\n var model = require('../apis/kinesis-2013-12-02.min.json');\n model.paginators = require('../apis/kinesis-2013-12-02.paginators.json').pagination;\n model.waiters = require('../apis/kinesis-2013-12-02.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.Kinesis;\n","// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.isMultiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n isMultiple (): boolean {\n return this.$attrs.hasOwnProperty('multiple')\n },\n text (): string[] {\n if (!this.isDirty) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on ', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.isMultiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.isMultiple ? [] : undefined\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = VTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // do to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = VTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: () => this.$refs.input.click(),\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.isMultiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n","var util = require('../util');\n\nfunction JsonBuilder() { }\n\nJsonBuilder.prototype.build = function(value, shape) {\n return JSON.stringify(translate(value, shape));\n};\n\nfunction translate(value, shape) {\n if (!shape || value === undefined || value === null) return undefined;\n\n switch (shape.type) {\n case 'structure': return translateStructure(value, shape);\n case 'map': return translateMap(value, shape);\n case 'list': return translateList(value, shape);\n default: return translateScalar(value, shape);\n }\n}\n\nfunction translateStructure(structure, shape) {\n var struct = {};\n util.each(structure, function(name, value) {\n var memberShape = shape.members[name];\n if (memberShape) {\n if (memberShape.location !== 'body') return;\n var locationName = memberShape.isLocationName ? memberShape.name : name;\n var result = translate(value, memberShape);\n if (result !== undefined) struct[locationName] = result;\n }\n });\n return struct;\n}\n\nfunction translateList(list, shape) {\n var out = [];\n util.arrayEach(list, function(value) {\n var result = translate(value, shape.member);\n if (result !== undefined) out.push(result);\n });\n return out;\n}\n\nfunction translateMap(map, shape) {\n var out = {};\n util.each(map, function(key, value) {\n var result = translate(value, shape.value);\n if (result !== undefined) out[key] = result;\n });\n return out;\n}\n\nfunction translateScalar(value, shape) {\n return shape.toWireFormat(value);\n}\n\n/**\n * @api private\n */\nmodule.exports = JsonBuilder;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['emr'] = {};\nAWS.EMR = Service.defineService('emr', ['2009-03-31']);\nObject.defineProperty(apiLoader.services['emr'], '2009-03-31', {\n get: function get() {\n var model = require('../apis/elasticmapreduce-2009-03-31.min.json');\n model.paginators = require('../apis/elasticmapreduce-2009-03-31.paginators.json').pagination;\n model.waiters = require('../apis/elasticmapreduce-2009-03-31.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.EMR;\n","import VTextField from './VTextField'\n\nexport { VTextField }\nexport default VTextField\n","var util = require('../util');\nvar populateHostPrefix = require('./helpers').populateHostPrefix;\n\nfunction populateMethod(req) {\n req.httpRequest.method = req.service.api.operations[req.operation].httpMethod;\n}\n\nfunction generateURI(endpointPath, operationPath, input, params) {\n var uri = [endpointPath, operationPath].join('/');\n uri = uri.replace(/\\/+/g, '/');\n\n var queryString = {}, queryStringSet = false;\n util.each(input.members, function (name, member) {\n var paramValue = params[name];\n if (paramValue === null || paramValue === undefined) return;\n if (member.location === 'uri') {\n var regex = new RegExp('\\\\{' + member.name + '(\\\\+)?\\\\}');\n uri = uri.replace(regex, function(_, plus) {\n var fn = plus ? util.uriEscapePath : util.uriEscape;\n return fn(String(paramValue));\n });\n } else if (member.location === 'querystring') {\n queryStringSet = true;\n\n if (member.type === 'list') {\n queryString[member.name] = paramValue.map(function(val) {\n return util.uriEscape(member.member.toWireFormat(val).toString());\n });\n } else if (member.type === 'map') {\n util.each(paramValue, function(key, value) {\n if (Array.isArray(value)) {\n queryString[key] = value.map(function(val) {\n return util.uriEscape(String(val));\n });\n } else {\n queryString[key] = util.uriEscape(String(value));\n }\n });\n } else {\n queryString[member.name] = util.uriEscape(member.toWireFormat(paramValue).toString());\n }\n }\n });\n\n if (queryStringSet) {\n uri += (uri.indexOf('?') >= 0 ? '&' : '?');\n var parts = [];\n util.arrayEach(Object.keys(queryString).sort(), function(key) {\n if (!Array.isArray(queryString[key])) {\n queryString[key] = [queryString[key]];\n }\n for (var i = 0; i < queryString[key].length; i++) {\n parts.push(util.uriEscape(String(key)) + '=' + queryString[key][i]);\n }\n });\n uri += parts.join('&');\n }\n\n return uri;\n}\n\nfunction populateURI(req) {\n var operation = req.service.api.operations[req.operation];\n var input = operation.input;\n\n var uri = generateURI(req.httpRequest.endpoint.path, operation.httpPath, input, req.params);\n req.httpRequest.path = uri;\n}\n\nfunction populateHeaders(req) {\n var operation = req.service.api.operations[req.operation];\n util.each(operation.input.members, function (name, member) {\n var value = req.params[name];\n if (value === null || value === undefined) return;\n\n if (member.location === 'headers' && member.type === 'map') {\n util.each(value, function(key, memberValue) {\n req.httpRequest.headers[member.name + key] = memberValue;\n });\n } else if (member.location === 'header') {\n value = member.toWireFormat(value).toString();\n if (member.isJsonValue) {\n value = util.base64.encode(value);\n }\n req.httpRequest.headers[member.name] = value;\n }\n });\n}\n\nfunction buildRequest(req) {\n populateMethod(req);\n populateURI(req);\n populateHeaders(req);\n populateHostPrefix(req);\n}\n\nfunction extractError() {\n}\n\nfunction extractData(resp) {\n var req = resp.request;\n var data = {};\n var r = resp.httpResponse;\n var operation = req.service.api.operations[req.operation];\n var output = operation.output;\n\n // normalize headers names to lower-cased keys for matching\n var headers = {};\n util.each(r.headers, function (k, v) {\n headers[k.toLowerCase()] = v;\n });\n\n util.each(output.members, function(name, member) {\n var header = (member.name || name).toLowerCase();\n if (member.location === 'headers' && member.type === 'map') {\n data[name] = {};\n var location = member.isLocationName ? member.name : '';\n var pattern = new RegExp('^' + location + '(.+)', 'i');\n util.each(r.headers, function (k, v) {\n var result = k.match(pattern);\n if (result !== null) {\n data[name][result[1]] = v;\n }\n });\n } else if (member.location === 'header') {\n if (headers[header] !== undefined) {\n var value = member.isJsonValue ?\n util.base64.decode(headers[header]) :\n headers[header];\n data[name] = member.toType(value);\n }\n } else if (member.location === 'statusCode') {\n data[name] = parseInt(r.statusCode, 10);\n }\n });\n\n resp.data = data;\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n buildRequest: buildRequest,\n extractError: extractError,\n extractData: extractData,\n generateURI: generateURI\n};\n","var AWS = require('../core');\nvar v4Credentials = require('./v4_credentials');\nvar inherit = AWS.util.inherit;\n\n/**\n * @api private\n */\nvar expiresHeader = 'presigned-expires';\n\n/**\n * @api private\n */\nAWS.Signers.V4 = inherit(AWS.Signers.RequestSigner, {\n constructor: function V4(request, serviceName, options) {\n AWS.Signers.RequestSigner.call(this, request);\n this.serviceName = serviceName;\n options = options || {};\n this.signatureCache = typeof options.signatureCache === 'boolean' ? options.signatureCache : true;\n this.operation = options.operation;\n this.signatureVersion = options.signatureVersion;\n },\n\n algorithm: 'AWS4-HMAC-SHA256',\n\n addAuthorization: function addAuthorization(credentials, date) {\n var datetime = AWS.util.date.iso8601(date).replace(/[:\\-]|\\.\\d{3}/g, '');\n\n if (this.isPresigned()) {\n this.updateForPresigned(credentials, datetime);\n } else {\n this.addHeaders(credentials, datetime);\n }\n\n this.request.headers['Authorization'] =\n this.authorization(credentials, datetime);\n },\n\n addHeaders: function addHeaders(credentials, datetime) {\n this.request.headers['X-Amz-Date'] = datetime;\n if (credentials.sessionToken) {\n this.request.headers['x-amz-security-token'] = credentials.sessionToken;\n }\n },\n\n updateForPresigned: function updateForPresigned(credentials, datetime) {\n var credString = this.credentialString(datetime);\n var qs = {\n 'X-Amz-Date': datetime,\n 'X-Amz-Algorithm': this.algorithm,\n 'X-Amz-Credential': credentials.accessKeyId + '/' + credString,\n 'X-Amz-Expires': this.request.headers[expiresHeader],\n 'X-Amz-SignedHeaders': this.signedHeaders()\n };\n\n if (credentials.sessionToken) {\n qs['X-Amz-Security-Token'] = credentials.sessionToken;\n }\n\n if (this.request.headers['Content-Type']) {\n qs['Content-Type'] = this.request.headers['Content-Type'];\n }\n if (this.request.headers['Content-MD5']) {\n qs['Content-MD5'] = this.request.headers['Content-MD5'];\n }\n if (this.request.headers['Cache-Control']) {\n qs['Cache-Control'] = this.request.headers['Cache-Control'];\n }\n\n // need to pull in any other X-Amz-* headers\n AWS.util.each.call(this, this.request.headers, function(key, value) {\n if (key === expiresHeader) return;\n if (this.isSignableHeader(key)) {\n var lowerKey = key.toLowerCase();\n // Metadata should be normalized\n if (lowerKey.indexOf('x-amz-meta-') === 0) {\n qs[lowerKey] = value;\n } else if (lowerKey.indexOf('x-amz-') === 0) {\n qs[key] = value;\n }\n }\n });\n\n var sep = this.request.path.indexOf('?') >= 0 ? '&' : '?';\n this.request.path += sep + AWS.util.queryParamsToString(qs);\n },\n\n authorization: function authorization(credentials, datetime) {\n var parts = [];\n var credString = this.credentialString(datetime);\n parts.push(this.algorithm + ' Credential=' +\n credentials.accessKeyId + '/' + credString);\n parts.push('SignedHeaders=' + this.signedHeaders());\n parts.push('Signature=' + this.signature(credentials, datetime));\n return parts.join(', ');\n },\n\n signature: function signature(credentials, datetime) {\n var signingKey = v4Credentials.getSigningKey(\n credentials,\n datetime.substr(0, 8),\n this.request.region,\n this.serviceName,\n this.signatureCache\n );\n return AWS.util.crypto.hmac(signingKey, this.stringToSign(datetime), 'hex');\n },\n\n stringToSign: function stringToSign(datetime) {\n var parts = [];\n parts.push('AWS4-HMAC-SHA256');\n parts.push(datetime);\n parts.push(this.credentialString(datetime));\n parts.push(this.hexEncodedHash(this.canonicalString()));\n return parts.join('\\n');\n },\n\n canonicalString: function canonicalString() {\n var parts = [], pathname = this.request.pathname();\n if (this.serviceName !== 's3' && this.signatureVersion !== 's3v4') pathname = AWS.util.uriEscapePath(pathname);\n\n parts.push(this.request.method);\n parts.push(pathname);\n parts.push(this.request.search());\n parts.push(this.canonicalHeaders() + '\\n');\n parts.push(this.signedHeaders());\n parts.push(this.hexEncodedBodyHash());\n return parts.join('\\n');\n },\n\n canonicalHeaders: function canonicalHeaders() {\n var headers = [];\n AWS.util.each.call(this, this.request.headers, function (key, item) {\n headers.push([key, item]);\n });\n headers.sort(function (a, b) {\n return a[0].toLowerCase() < b[0].toLowerCase() ? -1 : 1;\n });\n var parts = [];\n AWS.util.arrayEach.call(this, headers, function (item) {\n var key = item[0].toLowerCase();\n if (this.isSignableHeader(key)) {\n var value = item[1];\n if (typeof value === 'undefined' || value === null || typeof value.toString !== 'function') {\n throw AWS.util.error(new Error('Header ' + key + ' contains invalid value'), {\n code: 'InvalidHeader'\n });\n }\n parts.push(key + ':' +\n this.canonicalHeaderValues(value.toString()));\n }\n });\n return parts.join('\\n');\n },\n\n canonicalHeaderValues: function canonicalHeaderValues(values) {\n return values.replace(/\\s+/g, ' ').replace(/^\\s+|\\s+$/g, '');\n },\n\n signedHeaders: function signedHeaders() {\n var keys = [];\n AWS.util.each.call(this, this.request.headers, function (key) {\n key = key.toLowerCase();\n if (this.isSignableHeader(key)) keys.push(key);\n });\n return keys.sort().join(';');\n },\n\n credentialString: function credentialString(datetime) {\n return v4Credentials.createScope(\n datetime.substr(0, 8),\n this.request.region,\n this.serviceName\n );\n },\n\n hexEncodedHash: function hash(string) {\n return AWS.util.crypto.sha256(string, 'hex');\n },\n\n hexEncodedBodyHash: function hexEncodedBodyHash() {\n var request = this.request;\n if (this.isPresigned() && this.serviceName === 's3' && !request.body) {\n return 'UNSIGNED-PAYLOAD';\n } else if (request.headers['X-Amz-Content-Sha256']) {\n return request.headers['X-Amz-Content-Sha256'];\n } else {\n return this.hexEncodedHash(this.request.body || '');\n }\n },\n\n unsignableHeaders: [\n 'authorization',\n 'content-type',\n 'content-length',\n 'user-agent',\n expiresHeader,\n 'expect',\n 'x-amzn-trace-id'\n ],\n\n isSignableHeader: function isSignableHeader(key) {\n if (key.toLowerCase().indexOf('x-amz-') === 0) return true;\n return this.unsignableHeaders.indexOf(key) < 0;\n },\n\n isPresigned: function isPresigned() {\n return this.request.headers[expiresHeader] ? true : false;\n }\n\n});\n\n/**\n * @api private\n */\nmodule.exports = AWS.Signers.V4;\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n}\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['comprehend'] = {};\nAWS.Comprehend = Service.defineService('comprehend', ['2017-11-27']);\nObject.defineProperty(apiLoader.services['comprehend'], '2017-11-27', {\n get: function get() {\n var model = require('../apis/comprehend-2017-11-27.min.json');\n model.paginators = require('../apis/comprehend-2017-11-27.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.Comprehend;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['forecastservice'] = {};\nAWS.ForecastService = Service.defineService('forecastservice', ['2018-06-26']);\nObject.defineProperty(apiLoader.services['forecastservice'], '2018-06-26', {\n get: function get() {\n var model = require('../apis/forecast-2018-06-26.min.json');\n model.paginators = require('../apis/forecast-2018-06-26.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ForecastService;\n","var util = require('../core').util;\n\n/**\n * An object recognizable as a numeric value that stores the underlying number\n * as a string.\n *\n * Intended to be a deserialization target for the DynamoDB Document Client when\n * the `wrapNumbers` flag is set. This allows for numeric values that lose\n * precision when converted to JavaScript's `number` type.\n */\nvar DynamoDBNumberValue = util.inherit({\n constructor: function NumberValue(value) {\n this.wrapperName = 'NumberValue';\n this.value = value.toString();\n },\n\n /**\n * Render the underlying value as a number when converting to JSON.\n */\n toJSON: function () {\n return this.toNumber();\n },\n\n /**\n * Convert the underlying value to a JavaScript number.\n */\n toNumber: function () {\n return Number(this.value);\n },\n\n /**\n * Return a string representing the unaltered value provided to the\n * constructor.\n */\n toString: function () {\n return this.value;\n }\n});\n\n/**\n * @api private\n */\nmodule.exports = DynamoDBNumberValue;\n","var AWS = require('../core');\n\nAWS.util.update(AWS.EC2.prototype, {\n /**\n * @api private\n */\n setupRequestListeners: function setupRequestListeners(request) {\n request.removeListener('extractError', AWS.EventListeners.Query.EXTRACT_ERROR);\n request.addListener('extractError', this.extractError);\n\n if (request.operation === 'copySnapshot') {\n request.onAsync('validate', this.buildCopySnapshotPresignedUrl);\n }\n },\n\n /**\n * @api private\n */\n buildCopySnapshotPresignedUrl: function buildCopySnapshotPresignedUrl(req, done) {\n if (req.params.PresignedUrl || req._subRequest) {\n return done();\n }\n\n req.params = AWS.util.copy(req.params);\n req.params.DestinationRegion = req.service.config.region;\n\n var config = AWS.util.copy(req.service.config);\n delete config.endpoint;\n config.region = req.params.SourceRegion;\n var svc = new req.service.constructor(config);\n var newReq = svc[req.operation](req.params);\n newReq._subRequest = true;\n newReq.presign(function(err, url) {\n if (err) done(err);\n else {\n req.params.PresignedUrl = url;\n done();\n }\n });\n },\n\n /**\n * @api private\n */\n extractError: function extractError(resp) {\n // EC2 nests the error code and message deeper than other AWS Query services.\n var httpResponse = resp.httpResponse;\n var data = new AWS.XML.Parser().parse(httpResponse.body.toString() || '');\n if (data.Errors) {\n resp.error = AWS.util.error(new Error(), {\n code: data.Errors.Error.Code,\n message: data.Errors.Error.Message\n });\n } else {\n resp.error = AWS.util.error(new Error(), {\n code: httpResponse.statusCode,\n message: null\n });\n }\n resp.error.requestId = data.RequestID || null;\n }\n});\n","var AWS = require('../core');\nvar EventEmitter = require('events').EventEmitter;\nrequire('../http');\n\n/**\n * @api private\n */\nAWS.XHRClient = AWS.util.inherit({\n handleRequest: function handleRequest(httpRequest, httpOptions, callback, errCallback) {\n var self = this;\n var endpoint = httpRequest.endpoint;\n var emitter = new EventEmitter();\n var href = endpoint.protocol + '//' + endpoint.hostname;\n if (endpoint.port !== 80 && endpoint.port !== 443) {\n href += ':' + endpoint.port;\n }\n href += httpRequest.path;\n\n var xhr = new XMLHttpRequest(), headersEmitted = false;\n httpRequest.stream = xhr;\n\n xhr.addEventListener('readystatechange', function() {\n try {\n if (xhr.status === 0) return; // 0 code is invalid\n } catch (e) { return; }\n\n if (this.readyState >= this.HEADERS_RECEIVED && !headersEmitted) {\n emitter.statusCode = xhr.status;\n emitter.headers = self.parseHeaders(xhr.getAllResponseHeaders());\n emitter.emit(\n 'headers',\n emitter.statusCode,\n emitter.headers,\n xhr.statusText\n );\n headersEmitted = true;\n }\n if (this.readyState === this.DONE) {\n self.finishRequest(xhr, emitter);\n }\n }, false);\n xhr.upload.addEventListener('progress', function (evt) {\n emitter.emit('sendProgress', evt);\n });\n xhr.addEventListener('progress', function (evt) {\n emitter.emit('receiveProgress', evt);\n }, false);\n xhr.addEventListener('timeout', function () {\n errCallback(AWS.util.error(new Error('Timeout'), {code: 'TimeoutError'}));\n }, false);\n xhr.addEventListener('error', function () {\n errCallback(AWS.util.error(new Error('Network Failure'), {\n code: 'NetworkingError'\n }));\n }, false);\n xhr.addEventListener('abort', function () {\n errCallback(AWS.util.error(new Error('Request aborted'), {\n code: 'RequestAbortedError'\n }));\n }, false);\n\n callback(emitter);\n xhr.open(httpRequest.method, href, httpOptions.xhrAsync !== false);\n AWS.util.each(httpRequest.headers, function (key, value) {\n if (key !== 'Content-Length' && key !== 'User-Agent' && key !== 'Host') {\n xhr.setRequestHeader(key, value);\n }\n });\n\n if (httpOptions.timeout && httpOptions.xhrAsync !== false) {\n xhr.timeout = httpOptions.timeout;\n }\n\n if (httpOptions.xhrWithCredentials) {\n xhr.withCredentials = true;\n }\n try { xhr.responseType = 'arraybuffer'; } catch (e) {}\n\n try {\n if (httpRequest.body) {\n xhr.send(httpRequest.body);\n } else {\n xhr.send();\n }\n } catch (err) {\n if (httpRequest.body && typeof httpRequest.body.buffer === 'object') {\n xhr.send(httpRequest.body.buffer); // send ArrayBuffer directly\n } else {\n throw err;\n }\n }\n\n return emitter;\n },\n\n parseHeaders: function parseHeaders(rawHeaders) {\n var headers = {};\n AWS.util.arrayEach(rawHeaders.split(/\\r?\\n/), function (line) {\n var key = line.split(':', 1)[0];\n var value = line.substring(key.length + 2);\n if (key.length > 0) headers[key.toLowerCase()] = value;\n });\n return headers;\n },\n\n finishRequest: function finishRequest(xhr, emitter) {\n var buffer;\n if (xhr.responseType === 'arraybuffer' && xhr.response) {\n var ab = xhr.response;\n buffer = new AWS.util.Buffer(ab.byteLength);\n var view = new Uint8Array(ab);\n for (var i = 0; i < buffer.length; ++i) {\n buffer[i] = view[i];\n }\n }\n\n try {\n if (!buffer && typeof xhr.responseText === 'string') {\n buffer = new AWS.util.Buffer(xhr.responseText);\n }\n } catch (e) {}\n\n if (buffer) emitter.emit('data', buffer);\n emitter.emit('end');\n }\n});\n\n/**\n * @api private\n */\nAWS.HttpClient.prototype = AWS.XHRClient.prototype;\n\n/**\n * @api private\n */\nAWS.HttpClient.streamsApiVersion = 1;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['codebuild'] = {};\nAWS.CodeBuild = Service.defineService('codebuild', ['2016-10-06']);\nObject.defineProperty(apiLoader.services['codebuild'], '2016-10-06', {\n get: function get() {\n var model = require('../apis/codebuild-2016-10-06.min.json');\n model.paginators = require('../apis/codebuild-2016-10-06.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CodeBuild;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnviron;\nexports.debuglog = function(set) {\n if (isUndefined(debugEnviron))\n debugEnviron = process.env.NODE_DEBUG || '';\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (new RegExp('\\\\b' + set + '\\\\b', 'i').test(debugEnviron)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').substr(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.substr(1, name.length - 2);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb, null, ret) },\n function(rej) { process.nextTick(callbackifyOnRejected, rej, cb) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['lexruntime'] = {};\nAWS.LexRuntime = Service.defineService('lexruntime', ['2016-11-28']);\nObject.defineProperty(apiLoader.services['lexruntime'], '2016-11-28', {\n get: function get() {\n var model = require('../apis/runtime.lex-2016-11-28.min.json');\n model.paginators = require('../apis/runtime.lex-2016-11-28.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.LexRuntime;\n","// Styles\nimport './VSkeletonLoader.sass'\n\n// Mixins\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Themeable from '../../mixins/themeable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\nimport { getSlot } from '../../util/helpers'\nimport { PropValidator } from 'vue/types/options'\n\nexport interface HTMLSkeletonLoaderElement extends HTMLElement {\n _initialStyle?: {\n display: string | null\n transition: string\n }\n}\n\n/* @vue/component */\nexport default mixins(\n Elevatable,\n Measurable,\n Themeable,\n).extend({\n name: 'VSkeletonLoader',\n\n props: {\n boilerplate: Boolean,\n loading: Boolean,\n tile: Boolean,\n transition: String,\n type: String,\n types: {\n type: Object,\n default: () => ({}),\n } as PropValidator>,\n },\n\n computed: {\n attrs (): object {\n if (!this.isLoading) return this.$attrs\n\n return !this.boilerplate ? {\n 'aria-busy': true,\n 'aria-live': 'polite',\n role: 'alert',\n ...this.$attrs,\n } : {}\n },\n classes (): object {\n return {\n 'v-skeleton-loader--boilerplate': this.boilerplate,\n 'v-skeleton-loader--is-loading': this.isLoading,\n 'v-skeleton-loader--tile': this.tile,\n ...this.themeClasses,\n ...this.elevationClasses,\n }\n },\n isLoading (): boolean {\n return !('default' in this.$scopedSlots) || this.loading\n },\n rootTypes (): Record {\n return {\n actions: 'button@2',\n article: 'heading, paragraph',\n avatar: 'avatar',\n button: 'button',\n card: 'image, card-heading',\n 'card-avatar': 'image, list-item-avatar',\n 'card-heading': 'heading',\n chip: 'chip',\n 'date-picker': 'list-item, card-heading, divider, date-picker-options, date-picker-days, actions',\n 'date-picker-options': 'text, avatar@2',\n 'date-picker-days': 'avatar@28',\n heading: 'heading',\n image: 'image',\n 'list-item': 'text',\n 'list-item-avatar': 'avatar, text',\n 'list-item-two-line': 'sentences',\n 'list-item-avatar-two-line': 'avatar, sentences',\n 'list-item-three-line': 'paragraph',\n 'list-item-avatar-three-line': 'avatar, paragraph',\n paragraph: 'text@3',\n sentences: 'text@2',\n table: 'table-heading, table-thead, table-tbody, table-tfoot',\n 'table-heading': 'heading, text',\n 'table-thead': 'heading@6',\n 'table-tbody': 'table-row-divider@6',\n 'table-row-divider': 'table-row, divider',\n 'table-row': 'table-cell@6',\n 'table-cell': 'text',\n 'table-tfoot': 'text@2, avatar@2',\n text: 'text',\n ...this.types,\n }\n },\n },\n\n methods: {\n genBone (text: string, children: VNode[]) {\n return this.$createElement('div', {\n staticClass: `v-skeleton-loader__${text} v-skeleton-loader__bone`,\n }, children)\n },\n genBones (bone: string): VNode[] {\n // e.g. 'text@3'\n const [type, length] = bone.split('@') as [string, number]\n const generator = () => this.genStructure(type)\n\n // Generate a length array based upon\n // value after @ in the bone string\n return Array.from({ length }).map(generator)\n },\n // Fix type when this is merged\n // https://github.com/microsoft/TypeScript/pull/33050\n genStructure (type?: string): any {\n let children = []\n type = type || this.type || ''\n const bone = this.rootTypes[type] || ''\n\n // End of recursion, do nothing\n /* eslint-disable-next-line no-empty, brace-style */\n if (type === bone) {}\n // Array of values - e.g. 'heading, paragraph, text@2'\n else if (type.indexOf(',') > -1) return this.mapBones(type)\n // Array of values - e.g. 'paragraph@4'\n else if (type.indexOf('@') > -1) return this.genBones(type)\n // Array of values - e.g. 'card@2'\n else if (bone.indexOf(',') > -1) children = this.mapBones(bone)\n // Array of values - e.g. 'list-item@2'\n else if (bone.indexOf('@') > -1) children = this.genBones(bone)\n // Single value - e.g. 'card-heading'\n else if (bone) children.push(this.genStructure(bone))\n\n return [this.genBone(type, children)]\n },\n genSkeleton () {\n const children = []\n\n if (!this.isLoading) children.push(getSlot(this))\n else children.push(this.genStructure())\n\n /* istanbul ignore else */\n if (!this.transition) return children\n\n /* istanbul ignore next */\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n },\n // Only show transition when\n // content has been loaded\n on: {\n afterEnter: this.resetStyles,\n beforeEnter: this.onBeforeEnter,\n beforeLeave: this.onBeforeLeave,\n leaveCancelled: this.resetStyles,\n },\n }, children)\n },\n mapBones (bones: string) {\n // Remove spaces and return array of structures\n return bones.replace(/\\s/g, '').split(',').map(this.genStructure)\n },\n onBeforeEnter (el: HTMLSkeletonLoaderElement) {\n this.resetStyles(el)\n\n if (!this.isLoading) return\n\n el._initialStyle = {\n display: el.style.display,\n transition: el.style.transition,\n }\n\n el.style.setProperty('transition', 'none', 'important')\n },\n onBeforeLeave (el: HTMLSkeletonLoaderElement) {\n el.style.setProperty('display', 'none', 'important')\n },\n resetStyles (el: HTMLSkeletonLoaderElement) {\n if (!el._initialStyle) return\n\n el.style.display = el._initialStyle.display || ''\n el.style.transition = el._initialStyle.transition\n\n delete el._initialStyle\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-skeleton-loader',\n attrs: this.attrs,\n on: this.$listeners,\n class: this.classes,\n style: this.isLoading ? this.measurableStyles : undefined,\n }, [this.genSkeleton()])\n },\n})\n","var AWS = require('../core');\n\nAWS.util.update(AWS.Lambda.prototype, {\n /**\n * @api private\n */\n setupRequestListeners: function setupRequestListeners(request) {\n if (request.operation === 'invoke') {\n request.addListener('extractData', AWS.util.convertPayloadToString);\n }\n }\n});\n\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['firehose'] = {};\nAWS.Firehose = Service.defineService('firehose', ['2015-08-04']);\nObject.defineProperty(apiLoader.services['firehose'], '2015-08-04', {\n get: function get() {\n var model = require('../apis/firehose-2015-08-04.min.json');\n model.paginators = require('../apis/firehose-2015-08-04.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.Firehose;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['kinesisvideomedia'] = {};\nAWS.KinesisVideoMedia = Service.defineService('kinesisvideomedia', ['2017-09-30']);\nObject.defineProperty(apiLoader.services['kinesisvideomedia'], '2017-09-30', {\n get: function get() {\n var model = require('../apis/kinesis-video-media-2017-09-30.min.json');\n model.paginators = require('../apis/kinesis-video-media-2017-09-30.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.KinesisVideoMedia;\n","var eventMessageChunker = require('../event-stream/event-message-chunker').eventMessageChunker;\nvar parseEvent = require('./parse-event').parseEvent;\n\nfunction createEventStream(body, parser, model) {\n var eventMessages = eventMessageChunker(body);\n\n var events = [];\n\n for (var i = 0; i < eventMessages.length; i++) {\n events.push(parseEvent(parser, eventMessages[i], model));\n }\n\n return events;\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n createEventStream: createEventStream\n};\n","'use strict';\n\nmodule.exports = {\n isString: function(arg) {\n return typeof(arg) === 'string';\n },\n isObject: function(arg) {\n return typeof(arg) === 'object' && arg !== null;\n },\n isNull: function(arg) {\n return arg === null;\n },\n isNullOrUndefined: function(arg) {\n return arg == null;\n }\n};\n","var AWS = require('../core');\nvar inherit = AWS.util.inherit;\n\n/**\n * @api private\n */\nAWS.Signers.V3 = inherit(AWS.Signers.RequestSigner, {\n addAuthorization: function addAuthorization(credentials, date) {\n\n var datetime = AWS.util.date.rfc822(date);\n\n this.request.headers['X-Amz-Date'] = datetime;\n\n if (credentials.sessionToken) {\n this.request.headers['x-amz-security-token'] = credentials.sessionToken;\n }\n\n this.request.headers['X-Amzn-Authorization'] =\n this.authorization(credentials, datetime);\n\n },\n\n authorization: function authorization(credentials) {\n return 'AWS3 ' +\n 'AWSAccessKeyId=' + credentials.accessKeyId + ',' +\n 'Algorithm=HmacSHA256,' +\n 'SignedHeaders=' + this.signedHeaders() + ',' +\n 'Signature=' + this.signature(credentials);\n },\n\n signedHeaders: function signedHeaders() {\n var headers = [];\n AWS.util.arrayEach(this.headersToSign(), function iterator(h) {\n headers.push(h.toLowerCase());\n });\n return headers.sort().join(';');\n },\n\n canonicalHeaders: function canonicalHeaders() {\n var headers = this.request.headers;\n var parts = [];\n AWS.util.arrayEach(this.headersToSign(), function iterator(h) {\n parts.push(h.toLowerCase().trim() + ':' + String(headers[h]).trim());\n });\n return parts.sort().join('\\n') + '\\n';\n },\n\n headersToSign: function headersToSign() {\n var headers = [];\n AWS.util.each(this.request.headers, function iterator(k) {\n if (k === 'Host' || k === 'Content-Encoding' || k.match(/^X-Amz/i)) {\n headers.push(k);\n }\n });\n return headers;\n },\n\n signature: function signature(credentials) {\n return AWS.util.crypto.hmac(credentials.secretAccessKey, this.stringToSign(), 'base64');\n },\n\n stringToSign: function stringToSign() {\n var parts = [];\n parts.push(this.request.method);\n parts.push('/');\n parts.push('');\n parts.push(this.canonicalHeaders());\n parts.push(this.request.body);\n return AWS.util.crypto.sha256(parts.join('\\n'));\n }\n\n});\n\n/**\n * @api private\n */\nmodule.exports = AWS.Signers.V3;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['resourcegroups'] = {};\nAWS.ResourceGroups = Service.defineService('resourcegroups', ['2017-11-27']);\nObject.defineProperty(apiLoader.services['resourcegroups'], '2017-11-27', {\n get: function get() {\n var model = require('../apis/resource-groups-2017-11-27.min.json');\n model.paginators = require('../apis/resource-groups-2017-11-27.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ResourceGroups;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['cloudhsm'] = {};\nAWS.CloudHSM = Service.defineService('cloudhsm', ['2014-05-30']);\nObject.defineProperty(apiLoader.services['cloudhsm'], '2014-05-30', {\n get: function get() {\n var model = require('../apis/cloudhsm-2014-05-30.min.json');\n model.paginators = require('../apis/cloudhsm-2014-05-30.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CloudHSM;\n","import './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Detachable from '../../mixins/detachable'\nimport Menuable from '../../mixins/menuable'\nimport Toggleable from '../../mixins/toggleable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport { VNode } from 'vue'\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Detachable, Menuable, Toggleable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n fixed: {\n type: Boolean,\n default: true,\n },\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n\n return `${this.calcYOverflow(top + this.pageYOffset)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n opacity: this.isActive ? 0.9 : 0,\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.value && this.callActivate()\n })\n },\n\n mounted () {\n if (getSlotType(this, 'activator', true) === 'v-slot') {\n consoleError(`v-tooltip's activator slot must be bound, try '\n\n\n\n","import mod from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dialogListAdhesions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../../node_modules/babel-loader/lib/index.js!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./dialogListAdhesions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dialogListAdhesions.vue?vue&type=template&id=9191f842&\"\nimport script from \"./dialogListAdhesions.vue?vue&type=script&lang=js&\"\nexport * from \"./dialogListAdhesions.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dialogListAdhesions.vue?vue&type=style&index=0&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VAppBar } from 'vuetify/lib/components/VAppBar';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAlert,VAppBar,VBtn,VCard,VChip,VCol,VContainer,VDataTable,VDialog,VDivider,VIcon,VProgressCircular,VRow,VSpacer,VTextField,VTooltip})\n","exports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['cognitoidentityserviceprovider'] = {};\nAWS.CognitoIdentityServiceProvider = Service.defineService('cognitoidentityserviceprovider', ['2016-04-18']);\nObject.defineProperty(apiLoader.services['cognitoidentityserviceprovider'], '2016-04-18', {\n get: function get() {\n var model = require('../apis/cognito-idp-2016-04-18.min.json');\n model.paginators = require('../apis/cognito-idp-2016-04-18.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CognitoIdentityServiceProvider;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['rds'] = {};\nAWS.RDS = Service.defineService('rds', ['2013-01-10', '2013-02-12', '2013-09-09', '2014-09-01', '2014-09-01*', '2014-10-31']);\nrequire('../lib/services/rds');\nObject.defineProperty(apiLoader.services['rds'], '2013-01-10', {\n get: function get() {\n var model = require('../apis/rds-2013-01-10.min.json');\n model.paginators = require('../apis/rds-2013-01-10.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\nObject.defineProperty(apiLoader.services['rds'], '2013-02-12', {\n get: function get() {\n var model = require('../apis/rds-2013-02-12.min.json');\n model.paginators = require('../apis/rds-2013-02-12.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\nObject.defineProperty(apiLoader.services['rds'], '2013-09-09', {\n get: function get() {\n var model = require('../apis/rds-2013-09-09.min.json');\n model.paginators = require('../apis/rds-2013-09-09.paginators.json').pagination;\n model.waiters = require('../apis/rds-2013-09-09.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\nObject.defineProperty(apiLoader.services['rds'], '2014-09-01', {\n get: function get() {\n var model = require('../apis/rds-2014-09-01.min.json');\n model.paginators = require('../apis/rds-2014-09-01.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\nObject.defineProperty(apiLoader.services['rds'], '2014-10-31', {\n get: function get() {\n var model = require('../apis/rds-2014-10-31.min.json');\n model.paginators = require('../apis/rds-2014-10-31.paginators.json').pagination;\n model.waiters = require('../apis/rds-2014-10-31.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.RDS;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['cognitoidentity'] = {};\nAWS.CognitoIdentity = Service.defineService('cognitoidentity', ['2014-06-30']);\nObject.defineProperty(apiLoader.services['cognitoidentity'], '2014-06-30', {\n get: function get() {\n var model = require('../apis/cognito-identity-2014-06-30.min.json');\n model.paginators = require('../apis/cognito-identity-2014-06-30.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CognitoIdentity;\n","var util = require('../util');\nvar AWS = require('../core');\n\n/**\n * Prepend prefix defined by API model to endpoint that's already\n * constructed. This feature does not apply to operations using\n * endpoint discovery and can be disabled.\n * @api private\n */\nfunction populateHostPrefix(request) {\n var enabled = request.service.config.hostPrefixEnabled;\n if (!enabled) return request;\n var operationModel = request.service.api.operations[request.operation];\n //don't marshal host prefix when operation has endpoint discovery traits\n if (hasEndpointDiscover(request)) return request;\n if (operationModel.endpoint && operationModel.endpoint.hostPrefix) {\n var hostPrefixNotation = operationModel.endpoint.hostPrefix;\n var hostPrefix = expandHostPrefix(hostPrefixNotation, request.params, operationModel.input);\n prependEndpointPrefix(request.httpRequest.endpoint, hostPrefix);\n validateHostname(request.httpRequest.endpoint.hostname);\n }\n return request;\n}\n\n/**\n * @api private\n */\nfunction hasEndpointDiscover(request) {\n var api = request.service.api;\n var operationModel = api.operations[request.operation];\n var isEndpointOperation = api.endpointOperation && (api.endpointOperation === util.string.lowerFirst(operationModel.name));\n return (operationModel.endpointDiscoveryRequired !== 'NULL' || isEndpointOperation === true);\n}\n\n/**\n * @api private\n */\nfunction expandHostPrefix(hostPrefixNotation, params, shape) {\n util.each(shape.members, function(name, member) {\n if (member.hostLabel === true) {\n if (typeof params[name] !== 'string' || params[name] === '') {\n throw util.error(new Error(), {\n message: 'Parameter ' + name + ' should be a non-empty string.',\n code: 'InvalidParameter'\n });\n }\n var regex = new RegExp('\\\\{' + name + '\\\\}', 'g');\n hostPrefixNotation = hostPrefixNotation.replace(regex, params[name]);\n }\n });\n return hostPrefixNotation;\n}\n\n/**\n * @api private\n */\nfunction prependEndpointPrefix(endpoint, prefix) {\n if (endpoint.host) {\n endpoint.host = prefix + endpoint.host;\n }\n if (endpoint.hostname) {\n endpoint.hostname = prefix + endpoint.hostname;\n }\n}\n\n/**\n * @api private\n */\nfunction validateHostname(hostname) {\n var labels = hostname.split('.');\n //Reference: https://tools.ietf.org/html/rfc1123#section-2\n var hostPattern = /^[a-zA-Z0-9]{1}$|^[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9]$/;\n util.arrayEach(labels, function(label) {\n if (!label.length || label.length < 1 || label.length > 63) {\n throw util.error(new Error(), {\n code: 'ValidationError',\n message: 'Hostname label length should be between 1 to 63 characters, inclusive.'\n });\n }\n if (!hostPattern.test(label)) {\n throw AWS.util.error(new Error(),\n {code: 'ValidationError', message: label + ' is not hostname compatible.'});\n }\n });\n}\n\nmodule.exports = {\n populateHostPrefix: populateHostPrefix\n};\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['redshift'] = {};\nAWS.Redshift = Service.defineService('redshift', ['2012-12-01']);\nObject.defineProperty(apiLoader.services['redshift'], '2012-12-01', {\n get: function get() {\n var model = require('../apis/redshift-2012-12-01.min.json');\n model.paginators = require('../apis/redshift-2012-12-01.paginators.json').pagination;\n model.waiters = require('../apis/redshift-2012-12-01.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.Redshift;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['lambda'] = {};\nAWS.Lambda = Service.defineService('lambda', ['2014-11-11', '2015-03-31']);\nrequire('../lib/services/lambda');\nObject.defineProperty(apiLoader.services['lambda'], '2014-11-11', {\n get: function get() {\n var model = require('../apis/lambda-2014-11-11.min.json');\n model.paginators = require('../apis/lambda-2014-11-11.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\nObject.defineProperty(apiLoader.services['lambda'], '2015-03-31', {\n get: function get() {\n var model = require('../apis/lambda-2015-03-31.min.json');\n model.paginators = require('../apis/lambda-2015-03-31.paginators.json').pagination;\n model.waiters = require('../apis/lambda-2015-03-31.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.Lambda;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['secretsmanager'] = {};\nAWS.SecretsManager = Service.defineService('secretsmanager', ['2017-10-17']);\nObject.defineProperty(apiLoader.services['secretsmanager'], '2017-10-17', {\n get: function get() {\n var model = require('../apis/secretsmanager-2017-10-17.min.json');\n model.paginators = require('../apis/secretsmanager-2017-10-17.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.SecretsManager;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['ssm'] = {};\nAWS.SSM = Service.defineService('ssm', ['2014-11-06']);\nObject.defineProperty(apiLoader.services['ssm'], '2014-11-06', {\n get: function get() {\n var model = require('../apis/ssm-2014-11-06.min.json');\n model.paginators = require('../apis/ssm-2014-11-06.paginators.json').pagination;\n model.waiters = require('../apis/ssm-2014-11-06.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.SSM;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['polly'] = {};\nAWS.Polly = Service.defineService('polly', ['2016-06-10']);\nrequire('../lib/services/polly');\nObject.defineProperty(apiLoader.services['polly'], '2016-06-10', {\n get: function get() {\n var model = require('../apis/polly-2016-06-10.min.json');\n model.paginators = require('../apis/polly-2016-06-10.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.Polly;\n","var AWS = require('../core');\n\nAWS.util.update(AWS.SQS.prototype, {\n /**\n * @api private\n */\n setupRequestListeners: function setupRequestListeners(request) {\n request.addListener('build', this.buildEndpoint);\n\n if (request.service.config.computeChecksums) {\n if (request.operation === 'sendMessage') {\n request.addListener('extractData', this.verifySendMessageChecksum);\n } else if (request.operation === 'sendMessageBatch') {\n request.addListener('extractData', this.verifySendMessageBatchChecksum);\n } else if (request.operation === 'receiveMessage') {\n request.addListener('extractData', this.verifyReceiveMessageChecksum);\n }\n }\n },\n\n /**\n * @api private\n */\n verifySendMessageChecksum: function verifySendMessageChecksum(response) {\n if (!response.data) return;\n\n var md5 = response.data.MD5OfMessageBody;\n var body = this.params.MessageBody;\n var calculatedMd5 = this.service.calculateChecksum(body);\n if (calculatedMd5 !== md5) {\n var msg = 'Got \"' + response.data.MD5OfMessageBody +\n '\", expecting \"' + calculatedMd5 + '\".';\n this.service.throwInvalidChecksumError(response,\n [response.data.MessageId], msg);\n }\n },\n\n /**\n * @api private\n */\n verifySendMessageBatchChecksum: function verifySendMessageBatchChecksum(response) {\n if (!response.data) return;\n\n var service = this.service;\n var entries = {};\n var errors = [];\n var messageIds = [];\n AWS.util.arrayEach(response.data.Successful, function (entry) {\n entries[entry.Id] = entry;\n });\n AWS.util.arrayEach(this.params.Entries, function (entry) {\n if (entries[entry.Id]) {\n var md5 = entries[entry.Id].MD5OfMessageBody;\n var body = entry.MessageBody;\n if (!service.isChecksumValid(md5, body)) {\n errors.push(entry.Id);\n messageIds.push(entries[entry.Id].MessageId);\n }\n }\n });\n\n if (errors.length > 0) {\n service.throwInvalidChecksumError(response, messageIds,\n 'Invalid messages: ' + errors.join(', '));\n }\n },\n\n /**\n * @api private\n */\n verifyReceiveMessageChecksum: function verifyReceiveMessageChecksum(response) {\n if (!response.data) return;\n\n var service = this.service;\n var messageIds = [];\n AWS.util.arrayEach(response.data.Messages, function(message) {\n var md5 = message.MD5OfBody;\n var body = message.Body;\n if (!service.isChecksumValid(md5, body)) {\n messageIds.push(message.MessageId);\n }\n });\n\n if (messageIds.length > 0) {\n service.throwInvalidChecksumError(response, messageIds,\n 'Invalid messages: ' + messageIds.join(', '));\n }\n },\n\n /**\n * @api private\n */\n throwInvalidChecksumError: function throwInvalidChecksumError(response, ids, message) {\n response.error = AWS.util.error(new Error(), {\n retryable: true,\n code: 'InvalidChecksum',\n messageIds: ids,\n message: response.request.operation +\n ' returned an invalid MD5 response. ' + message\n });\n },\n\n /**\n * @api private\n */\n isChecksumValid: function isChecksumValid(checksum, data) {\n return this.calculateChecksum(data) === checksum;\n },\n\n /**\n * @api private\n */\n calculateChecksum: function calculateChecksum(data) {\n return AWS.util.crypto.md5(data, 'hex');\n },\n\n /**\n * @api private\n */\n buildEndpoint: function buildEndpoint(request) {\n var url = request.httpRequest.params.QueueUrl;\n if (url) {\n request.httpRequest.endpoint = new AWS.Endpoint(url);\n\n // signature version 4 requires the region name to be set,\n // sqs queue urls contain the region name\n var matches = request.httpRequest.endpoint.host.match(/^sqs\\.(.+?)\\./);\n if (matches) request.httpRequest.region = matches[1];\n }\n }\n});\n","var util = require('./util');\n\n// browser specific modules\nutil.crypto.lib = require('./browserCryptoLib');\nutil.Buffer = require('buffer/').Buffer;\nutil.url = require('url/');\nutil.querystring = require('querystring/');\nutil.realClock = require('./realclock/browserClock');\nutil.environment = 'js';\nutil.createEventStream = require('./event-stream/buffered-create-event-stream').createEventStream;\nutil.isBrowser = function() { return true; };\nutil.isNode = function() { return false; };\n\nvar AWS = require('./core');\n\n/**\n * @api private\n */\nmodule.exports = AWS;\n\nrequire('./credentials');\nrequire('./credentials/credential_provider_chain');\nrequire('./credentials/temporary_credentials');\nrequire('./credentials/chainable_temporary_credentials');\nrequire('./credentials/web_identity_credentials');\nrequire('./credentials/cognito_identity_credentials');\nrequire('./credentials/saml_credentials');\n\n// Load the DOMParser XML parser\nAWS.XML.Parser = require('./xml/browser_parser');\n\n// Load the XHR HttpClient\nrequire('./http/xhr');\n\nif (typeof process === 'undefined') {\n var process = {\n browser: true\n };\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-none d-print-block caption mb-3\"},[_c('div',{staticClass:\"overline font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$route.meta.nameDrawer)+\" \")]),_vm._v(\" \"+_vm._s(_vm.$t(\"consultedBy\"))+\" : \"+_vm._s(_vm.$localStorage.getItem(\"user_data\").nome_usuario)+\" | \"+_vm._s(_vm.$t(\"login\"))+\" : \"+_vm._s(_vm.$localStorage.getItem(\"user_data\").login)+\" | \"+_vm._s(_vm.$t(\"dayAndTimeOfPrinting\"))+\": \"+_vm._s(new Date().toLocaleString())+\" \"+_vm._s(_vm.$gmt())+\" \")])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=2d680496&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var util = require('../core').util;\nvar toBuffer = util.buffer.toBuffer;\n\n// All prelude components are unsigned, 32-bit integers\nvar PRELUDE_MEMBER_LENGTH = 4;\n// The prelude consists of two components\nvar PRELUDE_LENGTH = PRELUDE_MEMBER_LENGTH * 2;\n// Checksums are always CRC32 hashes.\nvar CHECKSUM_LENGTH = 4;\n// Messages must include a full prelude, a prelude checksum, and a message checksum\nvar MINIMUM_MESSAGE_LENGTH = PRELUDE_LENGTH + CHECKSUM_LENGTH * 2;\n\n/**\n * @api private\n *\n * @param {Buffer} message\n */\nfunction splitMessage(message) {\n if (!util.Buffer.isBuffer(message)) message = toBuffer(message);\n\n if (message.length < MINIMUM_MESSAGE_LENGTH) {\n throw new Error('Provided message too short to accommodate event stream message overhead');\n }\n\n if (message.length !== message.readUInt32BE(0)) {\n throw new Error('Reported message length does not match received message length');\n }\n\n var expectedPreludeChecksum = message.readUInt32BE(PRELUDE_LENGTH);\n\n if (\n expectedPreludeChecksum !== util.crypto.crc32(\n message.slice(0, PRELUDE_LENGTH)\n )\n ) {\n throw new Error(\n 'The prelude checksum specified in the message (' +\n expectedPreludeChecksum +\n ') does not match the calculated CRC32 checksum.'\n );\n }\n\n var expectedMessageChecksum = message.readUInt32BE(message.length - CHECKSUM_LENGTH);\n\n if (\n expectedMessageChecksum !== util.crypto.crc32(\n message.slice(0, message.length - CHECKSUM_LENGTH)\n )\n ) {\n throw new Error(\n 'The message checksum did not match the expected value of ' +\n expectedMessageChecksum\n );\n }\n\n var headersStart = PRELUDE_LENGTH + CHECKSUM_LENGTH;\n var headersEnd = headersStart + message.readUInt32BE(PRELUDE_MEMBER_LENGTH);\n\n return {\n headers: message.slice(headersStart, headersEnd),\n body: message.slice(headersEnd, message.length - CHECKSUM_LENGTH),\n };\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n splitMessage: splitMessage\n};\n","/**\n * Escapes characters that can not be in an XML attribute.\n */\nfunction escapeAttribute(value) {\n return value.replace(/&/g, '&').replace(/'/g, ''').replace(//g, '>').replace(/\"/g, '"');\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n escapeAttribute: escapeAttribute\n};\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['servicecatalog'] = {};\nAWS.ServiceCatalog = Service.defineService('servicecatalog', ['2015-12-10']);\nObject.defineProperty(apiLoader.services['servicecatalog'], '2015-12-10', {\n get: function get() {\n var model = require('../apis/servicecatalog-2015-12-10.min.json');\n model.paginators = require('../apis/servicecatalog-2015-12-10.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ServiceCatalog;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['personalizeevents'] = {};\nAWS.PersonalizeEvents = Service.defineService('personalizeevents', ['2018-03-22']);\nObject.defineProperty(apiLoader.services['personalizeevents'], '2018-03-22', {\n get: function get() {\n var model = require('../apis/personalize-events-2018-03-22.min.json');\n model.paginators = require('../apis/personalize-events-2018-03-22.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.PersonalizeEvents;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['dynamodb'] = {};\nAWS.DynamoDB = Service.defineService('dynamodb', ['2011-12-05', '2012-08-10']);\nrequire('../lib/services/dynamodb');\nObject.defineProperty(apiLoader.services['dynamodb'], '2011-12-05', {\n get: function get() {\n var model = require('../apis/dynamodb-2011-12-05.min.json');\n model.paginators = require('../apis/dynamodb-2011-12-05.paginators.json').pagination;\n model.waiters = require('../apis/dynamodb-2011-12-05.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\nObject.defineProperty(apiLoader.services['dynamodb'], '2012-08-10', {\n get: function get() {\n var model = require('../apis/dynamodb-2012-08-10.min.json');\n model.paginators = require('../apis/dynamodb-2012-08-10.paginators.json').pagination;\n model.waiters = require('../apis/dynamodb-2012-08-10.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.DynamoDB;\n","var Collection = require('./collection');\n\nvar util = require('../util');\n\nfunction property(obj, name, value) {\n if (value !== null && value !== undefined) {\n util.property.apply(this, arguments);\n }\n}\n\nfunction memoizedProperty(obj, name) {\n if (!obj.constructor.prototype[name]) {\n util.memoizedProperty.apply(this, arguments);\n }\n}\n\nfunction Shape(shape, options, memberName) {\n options = options || {};\n\n property(this, 'shape', shape.shape);\n property(this, 'api', options.api, false);\n property(this, 'type', shape.type);\n property(this, 'enum', shape.enum);\n property(this, 'min', shape.min);\n property(this, 'max', shape.max);\n property(this, 'pattern', shape.pattern);\n property(this, 'location', shape.location || this.location || 'body');\n property(this, 'name', this.name || shape.xmlName || shape.queryName ||\n shape.locationName || memberName);\n property(this, 'isStreaming', shape.streaming || this.isStreaming || false);\n property(this, 'requiresLength', shape.requiresLength, false);\n property(this, 'isComposite', shape.isComposite || false);\n property(this, 'isShape', true, false);\n property(this, 'isQueryName', Boolean(shape.queryName), false);\n property(this, 'isLocationName', Boolean(shape.locationName), false);\n property(this, 'isIdempotent', shape.idempotencyToken === true);\n property(this, 'isJsonValue', shape.jsonvalue === true);\n property(this, 'isSensitive', shape.sensitive === true || shape.prototype && shape.prototype.sensitive === true);\n property(this, 'isEventStream', Boolean(shape.eventstream), false);\n property(this, 'isEvent', Boolean(shape.event), false);\n property(this, 'isEventPayload', Boolean(shape.eventpayload), false);\n property(this, 'isEventHeader', Boolean(shape.eventheader), false);\n property(this, 'isTimestampFormatSet', Boolean(shape.timestampFormat) || shape.prototype && shape.prototype.isTimestampFormatSet === true, false);\n property(this, 'endpointDiscoveryId', Boolean(shape.endpointdiscoveryid), false);\n property(this, 'hostLabel', Boolean(shape.hostLabel), false);\n\n if (options.documentation) {\n property(this, 'documentation', shape.documentation);\n property(this, 'documentationUrl', shape.documentationUrl);\n }\n\n if (shape.xmlAttribute) {\n property(this, 'isXmlAttribute', shape.xmlAttribute || false);\n }\n\n // type conversion and parsing\n property(this, 'defaultValue', null);\n this.toWireFormat = function(value) {\n if (value === null || value === undefined) return '';\n return value;\n };\n this.toType = function(value) { return value; };\n}\n\n/**\n * @api private\n */\nShape.normalizedTypes = {\n character: 'string',\n double: 'float',\n long: 'integer',\n short: 'integer',\n biginteger: 'integer',\n bigdecimal: 'float',\n blob: 'binary'\n};\n\n/**\n * @api private\n */\nShape.types = {\n 'structure': StructureShape,\n 'list': ListShape,\n 'map': MapShape,\n 'boolean': BooleanShape,\n 'timestamp': TimestampShape,\n 'float': FloatShape,\n 'integer': IntegerShape,\n 'string': StringShape,\n 'base64': Base64Shape,\n 'binary': BinaryShape\n};\n\nShape.resolve = function resolve(shape, options) {\n if (shape.shape) {\n var refShape = options.api.shapes[shape.shape];\n if (!refShape) {\n throw new Error('Cannot find shape reference: ' + shape.shape);\n }\n\n return refShape;\n } else {\n return null;\n }\n};\n\nShape.create = function create(shape, options, memberName) {\n if (shape.isShape) return shape;\n\n var refShape = Shape.resolve(shape, options);\n if (refShape) {\n var filteredKeys = Object.keys(shape);\n if (!options.documentation) {\n filteredKeys = filteredKeys.filter(function(name) {\n return !name.match(/documentation/);\n });\n }\n\n // create an inline shape with extra members\n var InlineShape = function() {\n refShape.constructor.call(this, shape, options, memberName);\n };\n InlineShape.prototype = refShape;\n return new InlineShape();\n } else {\n // set type if not set\n if (!shape.type) {\n if (shape.members) shape.type = 'structure';\n else if (shape.member) shape.type = 'list';\n else if (shape.key) shape.type = 'map';\n else shape.type = 'string';\n }\n\n // normalize types\n var origType = shape.type;\n if (Shape.normalizedTypes[shape.type]) {\n shape.type = Shape.normalizedTypes[shape.type];\n }\n\n if (Shape.types[shape.type]) {\n return new Shape.types[shape.type](shape, options, memberName);\n } else {\n throw new Error('Unrecognized shape type: ' + origType);\n }\n }\n};\n\nfunction CompositeShape(shape) {\n Shape.apply(this, arguments);\n property(this, 'isComposite', true);\n\n if (shape.flattened) {\n property(this, 'flattened', shape.flattened || false);\n }\n}\n\nfunction StructureShape(shape, options) {\n var self = this;\n var requiredMap = null, firstInit = !this.isShape;\n\n CompositeShape.apply(this, arguments);\n\n if (firstInit) {\n property(this, 'defaultValue', function() { return {}; });\n property(this, 'members', {});\n property(this, 'memberNames', []);\n property(this, 'required', []);\n property(this, 'isRequired', function() { return false; });\n }\n\n if (shape.members) {\n property(this, 'members', new Collection(shape.members, options, function(name, member) {\n return Shape.create(member, options, name);\n }));\n memoizedProperty(this, 'memberNames', function() {\n return shape.xmlOrder || Object.keys(shape.members);\n });\n\n if (shape.event) {\n memoizedProperty(this, 'eventPayloadMemberName', function() {\n var members = self.members;\n var memberNames = self.memberNames;\n // iterate over members to find ones that are event payloads\n for (var i = 0, iLen = memberNames.length; i < iLen; i++) {\n if (members[memberNames[i]].isEventPayload) {\n return memberNames[i];\n }\n }\n });\n\n memoizedProperty(this, 'eventHeaderMemberNames', function() {\n var members = self.members;\n var memberNames = self.memberNames;\n var eventHeaderMemberNames = [];\n // iterate over members to find ones that are event headers\n for (var i = 0, iLen = memberNames.length; i < iLen; i++) {\n if (members[memberNames[i]].isEventHeader) {\n eventHeaderMemberNames.push(memberNames[i]);\n }\n }\n return eventHeaderMemberNames;\n });\n }\n }\n\n if (shape.required) {\n property(this, 'required', shape.required);\n property(this, 'isRequired', function(name) {\n if (!requiredMap) {\n requiredMap = {};\n for (var i = 0; i < shape.required.length; i++) {\n requiredMap[shape.required[i]] = true;\n }\n }\n\n return requiredMap[name];\n }, false, true);\n }\n\n property(this, 'resultWrapper', shape.resultWrapper || null);\n\n if (shape.payload) {\n property(this, 'payload', shape.payload);\n }\n\n if (typeof shape.xmlNamespace === 'string') {\n property(this, 'xmlNamespaceUri', shape.xmlNamespace);\n } else if (typeof shape.xmlNamespace === 'object') {\n property(this, 'xmlNamespacePrefix', shape.xmlNamespace.prefix);\n property(this, 'xmlNamespaceUri', shape.xmlNamespace.uri);\n }\n}\n\nfunction ListShape(shape, options) {\n var self = this, firstInit = !this.isShape;\n CompositeShape.apply(this, arguments);\n\n if (firstInit) {\n property(this, 'defaultValue', function() { return []; });\n }\n\n if (shape.member) {\n memoizedProperty(this, 'member', function() {\n return Shape.create(shape.member, options);\n });\n }\n\n if (this.flattened) {\n var oldName = this.name;\n memoizedProperty(this, 'name', function() {\n return self.member.name || oldName;\n });\n }\n}\n\nfunction MapShape(shape, options) {\n var firstInit = !this.isShape;\n CompositeShape.apply(this, arguments);\n\n if (firstInit) {\n property(this, 'defaultValue', function() { return {}; });\n property(this, 'key', Shape.create({type: 'string'}, options));\n property(this, 'value', Shape.create({type: 'string'}, options));\n }\n\n if (shape.key) {\n memoizedProperty(this, 'key', function() {\n return Shape.create(shape.key, options);\n });\n }\n if (shape.value) {\n memoizedProperty(this, 'value', function() {\n return Shape.create(shape.value, options);\n });\n }\n}\n\nfunction TimestampShape(shape) {\n var self = this;\n Shape.apply(this, arguments);\n\n if (shape.timestampFormat) {\n property(this, 'timestampFormat', shape.timestampFormat);\n } else if (self.isTimestampFormatSet && this.timestampFormat) {\n property(this, 'timestampFormat', this.timestampFormat);\n } else if (this.location === 'header') {\n property(this, 'timestampFormat', 'rfc822');\n } else if (this.location === 'querystring') {\n property(this, 'timestampFormat', 'iso8601');\n } else if (this.api) {\n switch (this.api.protocol) {\n case 'json':\n case 'rest-json':\n property(this, 'timestampFormat', 'unixTimestamp');\n break;\n case 'rest-xml':\n case 'query':\n case 'ec2':\n property(this, 'timestampFormat', 'iso8601');\n break;\n }\n }\n\n this.toType = function(value) {\n if (value === null || value === undefined) return null;\n if (typeof value.toUTCString === 'function') return value;\n return typeof value === 'string' || typeof value === 'number' ?\n util.date.parseTimestamp(value) : null;\n };\n\n this.toWireFormat = function(value) {\n return util.date.format(value, self.timestampFormat);\n };\n}\n\nfunction StringShape() {\n Shape.apply(this, arguments);\n\n var nullLessProtocols = ['rest-xml', 'query', 'ec2'];\n this.toType = function(value) {\n value = this.api && nullLessProtocols.indexOf(this.api.protocol) > -1 ?\n value || '' : value;\n if (this.isJsonValue) {\n return JSON.parse(value);\n }\n\n return value && typeof value.toString === 'function' ?\n value.toString() : value;\n };\n\n this.toWireFormat = function(value) {\n return this.isJsonValue ? JSON.stringify(value) : value;\n };\n}\n\nfunction FloatShape() {\n Shape.apply(this, arguments);\n\n this.toType = function(value) {\n if (value === null || value === undefined) return null;\n return parseFloat(value);\n };\n this.toWireFormat = this.toType;\n}\n\nfunction IntegerShape() {\n Shape.apply(this, arguments);\n\n this.toType = function(value) {\n if (value === null || value === undefined) return null;\n return parseInt(value, 10);\n };\n this.toWireFormat = this.toType;\n}\n\nfunction BinaryShape() {\n Shape.apply(this, arguments);\n this.toType = function(value) {\n var buf = util.base64.decode(value);\n if (this.isSensitive && util.isNode() && typeof util.Buffer.alloc === 'function') {\n /* Node.js can create a Buffer that is not isolated.\n * i.e. buf.byteLength !== buf.buffer.byteLength\n * This means that the sensitive data is accessible to anyone with access to buf.buffer.\n * If this is the node shared Buffer, then other code within this process _could_ find this secret.\n * Copy sensitive data to an isolated Buffer and zero the sensitive data.\n * While this is safe to do here, copying this code somewhere else may produce unexpected results.\n */\n var secureBuf = util.Buffer.alloc(buf.length, buf);\n buf.fill(0);\n buf = secureBuf;\n }\n return buf;\n };\n this.toWireFormat = util.base64.encode;\n}\n\nfunction Base64Shape() {\n BinaryShape.apply(this, arguments);\n}\n\nfunction BooleanShape() {\n Shape.apply(this, arguments);\n\n this.toType = function(value) {\n if (typeof value === 'boolean') return value;\n if (value === null || value === undefined) return null;\n return value === 'true';\n };\n}\n\n/**\n * @api private\n */\nShape.shapes = {\n StructureShape: StructureShape,\n ListShape: ListShape,\n MapShape: MapShape,\n StringShape: StringShape,\n BooleanShape: BooleanShape,\n Base64Shape: Base64Shape\n};\n\n/**\n * @api private\n */\nmodule.exports = Shape;\n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createPromotion.vue?vue&type=style&index=0&id=126e5374&scoped=true&lang=css&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./createPromotion.vue?vue&type=style&index=0&id=126e5374&scoped=true&lang=css&\"","var util = require('../core').util;\nvar toBuffer = util.buffer.toBuffer;\n\n/**\n * A lossless representation of a signed, 64-bit integer. Instances of this\n * class may be used in arithmetic expressions as if they were numeric\n * primitives, but the binary representation will be preserved unchanged as the\n * `bytes` property of the object. The bytes should be encoded as big-endian,\n * two's complement integers.\n * @param {Buffer} bytes\n *\n * @api private\n */\nfunction Int64(bytes) {\n if (bytes.length !== 8) {\n throw new Error('Int64 buffers must be exactly 8 bytes');\n }\n if (!util.Buffer.isBuffer(bytes)) bytes = toBuffer(bytes);\n\n this.bytes = bytes;\n}\n\n/**\n * @param {number} number\n * @returns {Int64}\n *\n * @api private\n */\nInt64.fromNumber = function(number) {\n if (number > 9223372036854775807 || number < -9223372036854775808) {\n throw new Error(\n number + ' is too large (or, if negative, too small) to represent as an Int64'\n );\n }\n\n var bytes = new Uint8Array(8);\n for (\n var i = 7, remaining = Math.abs(Math.round(number));\n i > -1 && remaining > 0;\n i--, remaining /= 256\n ) {\n bytes[i] = remaining;\n }\n\n if (number < 0) {\n negate(bytes);\n }\n\n return new Int64(bytes);\n};\n\n/**\n * @returns {number}\n *\n * @api private\n */\nInt64.prototype.valueOf = function() {\n var bytes = this.bytes.slice(0);\n var negative = bytes[0] & 128;\n if (negative) {\n negate(bytes);\n }\n\n return parseInt(bytes.toString('hex'), 16) * (negative ? -1 : 1);\n};\n\nInt64.prototype.toString = function() {\n return String(this.valueOf());\n};\n\n/**\n * @param {Buffer} bytes\n *\n * @api private\n */\nfunction negate(bytes) {\n for (var i = 0; i < 8; i++) {\n bytes[i] ^= 0xFF;\n }\n for (var i = 7; i > -1; i--) {\n bytes[i]++;\n if (bytes[i] !== 0) {\n break;\n }\n }\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n Int64: Int64\n};\n","var Buffer = require('buffer/').Buffer;\n\n/**\n * This is a polyfill for the static method `isView` of `ArrayBuffer`, which is\n * e.g. missing in IE 10.\n *\n * @api private\n */\nif (\n typeof ArrayBuffer !== 'undefined' &&\n typeof ArrayBuffer.isView === 'undefined'\n) {\n ArrayBuffer.isView = function(arg) {\n return viewStrings.indexOf(Object.prototype.toString.call(arg)) > -1;\n };\n}\n\n/**\n * @api private\n */\nvar viewStrings = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]',\n '[object DataView]',\n];\n\n/**\n * @api private\n */\nfunction isEmptyData(data) {\n if (typeof data === 'string') {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\n\n/**\n * @api private\n */\nfunction convertToBuffer(data) {\n if (typeof data === 'string') {\n data = new Buffer(data, 'utf8');\n }\n\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n\n return new Uint8Array(data);\n}\n\n/**\n * @api private\n */\nmodule.exports = exports = {\n isEmptyData: isEmptyData,\n convertToBuffer: convertToBuffer,\n};\n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPromotionUser.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddPromotionUser.vue?vue&type=style&index=0&lang=css&\"","require('../polly/presigner');\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['machinelearning'] = {};\nAWS.MachineLearning = Service.defineService('machinelearning', ['2014-12-12']);\nrequire('../lib/services/machinelearning');\nObject.defineProperty(apiLoader.services['machinelearning'], '2014-12-12', {\n get: function get() {\n var model = require('../apis/machinelearning-2014-12-12.min.json');\n model.paginators = require('../apis/machinelearning-2014-12-12.paginators.json').pagination;\n model.waiters = require('../apis/machinelearning-2014-12-12.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.MachineLearning;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['codecommit'] = {};\nAWS.CodeCommit = Service.defineService('codecommit', ['2015-04-13']);\nObject.defineProperty(apiLoader.services['codecommit'], '2015-04-13', {\n get: function get() {\n var model = require('../apis/codecommit-2015-04-13.min.json');\n model.paginators = require('../apis/codecommit-2015-04-13.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CodeCommit;\n","// Types\nimport Vue, { VNode } from 'vue'\n\nexport default function VGrid (name: string) {\n /* @vue/component */\n return Vue.extend({\n name: `v-${name}`,\n\n functional: true,\n\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n render (h, { props, data, children }): VNode {\n data.staticClass = (`${name} ${data.staticClass || ''}`).trim()\n\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n const classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n\n if (classes.length) data.staticClass += ` ${classes.join(' ')}`\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(props.tag, data, children)\n },\n })\n}\n","import './_grid.sass'\nimport './VGrid.sass'\n\nimport Grid from './grid'\n\nimport mergeData from '../../util/mergeData'\n\n/* @vue/component */\nexport default Grid('container').extend({\n name: 'v-container',\n functional: true,\n props: {\n id: String,\n tag: {\n type: String,\n default: 'div',\n },\n fluid: {\n type: Boolean,\n default: false,\n },\n },\n render (h, { props, data, children }) {\n let classes\n const { attrs } = data\n if (attrs) {\n // reset attrs to extract utility clases like pa-3\n data.attrs = {}\n classes = Object.keys(attrs).filter(key => {\n // TODO: Remove once resolved\n // https://github.com/vuejs/vue/issues/7841\n if (key === 'slot') return false\n\n const value = attrs[key]\n\n // add back data attributes like data-test=\"foo\" but do not\n // add them as classes\n if (key.startsWith('data-')) {\n data.attrs![key] = value\n return false\n }\n\n return value || typeof value === 'string'\n })\n }\n\n if (props.id) {\n data.domProps = data.domProps || {}\n data.domProps.id = props.id\n }\n\n return h(\n props.tag,\n mergeData(data, {\n staticClass: 'container',\n class: Array({\n 'container--fluid': props.fluid,\n }).concat(classes || []),\n }),\n children\n )\n },\n})\n","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide (): object {\n return {\n btnToggle: this,\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n },\n },\n\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData,\n },\n})\n","// Styles\nimport './VBtnToggle.sass'\n\n// Mixins\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n ButtonGroup,\n Colorable\n).extend({\n name: 'v-btn-toggle',\n\n props: {\n backgroundColor: String,\n borderless: Boolean,\n dense: Boolean,\n group: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...ButtonGroup.options.computed.classes.call(this),\n 'v-btn-toggle': true,\n 'v-btn-toggle--borderless': this.borderless,\n 'v-btn-toggle--dense': this.dense,\n 'v-btn-toggle--group': this.group,\n 'v-btn-toggle--rounded': this.rounded,\n 'v-btn-toggle--shaped': this.shaped,\n 'v-btn-toggle--tile': this.tile,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genData () {\n const data = this.setTextColor(this.color, {\n ...ButtonGroup.options.methods.genData.call(this),\n })\n\n if (this.group) return data\n\n return this.setBackgroundColor(this.backgroundColor, data)\n },\n },\n})\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['cloudtrail'] = {};\nAWS.CloudTrail = Service.defineService('cloudtrail', ['2013-11-01']);\nObject.defineProperty(apiLoader.services['cloudtrail'], '2013-11-01', {\n get: function get() {\n var model = require('../apis/cloudtrail-2013-11-01.min.json');\n model.paginators = require('../apis/cloudtrail-2013-11-01.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CloudTrail;\n","/**\n * Copyright 2012-2013 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You\n * may not use this file except in compliance with the License. A copy of\n * the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is\n * distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF\n * ANY KIND, either express or implied. See the License for the specific\n * language governing permissions and limitations under the License.\n */\n\nvar AWS = require('./core');\nvar inherit = AWS.util.inherit;\nvar jmespath = require('jmespath');\n\n/**\n * @api private\n */\nfunction CHECK_ACCEPTORS(resp) {\n var waiter = resp.request._waiter;\n var acceptors = waiter.config.acceptors;\n var acceptorMatched = false;\n var state = 'retry';\n\n acceptors.forEach(function(acceptor) {\n if (!acceptorMatched) {\n var matcher = waiter.matchers[acceptor.matcher];\n if (matcher && matcher(resp, acceptor.expected, acceptor.argument)) {\n acceptorMatched = true;\n state = acceptor.state;\n }\n }\n });\n\n if (!acceptorMatched && resp.error) state = 'failure';\n\n if (state === 'success') {\n waiter.setSuccess(resp);\n } else {\n waiter.setError(resp, state === 'retry');\n }\n}\n\n/**\n * @api private\n */\nAWS.ResourceWaiter = inherit({\n /**\n * Waits for a given state on a service object\n * @param service [Service] the service object to wait on\n * @param state [String] the state (defined in waiter configuration) to wait\n * for.\n * @example Create a waiter for running EC2 instances\n * var ec2 = new AWS.EC2;\n * var waiter = new AWS.ResourceWaiter(ec2, 'instanceRunning');\n */\n constructor: function constructor(service, state) {\n this.service = service;\n this.state = state;\n this.loadWaiterConfig(this.state);\n },\n\n service: null,\n\n state: null,\n\n config: null,\n\n matchers: {\n path: function(resp, expected, argument) {\n try {\n var result = jmespath.search(resp.data, argument);\n } catch (err) {\n return false;\n }\n\n return jmespath.strictDeepEqual(result,expected);\n },\n\n pathAll: function(resp, expected, argument) {\n try {\n var results = jmespath.search(resp.data, argument);\n } catch (err) {\n return false;\n }\n\n if (!Array.isArray(results)) results = [results];\n var numResults = results.length;\n if (!numResults) return false;\n for (var ind = 0 ; ind < numResults; ind++) {\n if (!jmespath.strictDeepEqual(results[ind], expected)) {\n return false;\n }\n }\n return true;\n },\n\n pathAny: function(resp, expected, argument) {\n try {\n var results = jmespath.search(resp.data, argument);\n } catch (err) {\n return false;\n }\n\n if (!Array.isArray(results)) results = [results];\n var numResults = results.length;\n for (var ind = 0 ; ind < numResults; ind++) {\n if (jmespath.strictDeepEqual(results[ind], expected)) {\n return true;\n }\n }\n return false;\n },\n\n status: function(resp, expected) {\n var statusCode = resp.httpResponse.statusCode;\n return (typeof statusCode === 'number') && (statusCode === expected);\n },\n\n error: function(resp, expected) {\n if (typeof expected === 'string' && resp.error) {\n return expected === resp.error.code;\n }\n // if expected is not string, can be boolean indicating presence of error\n return expected === !!resp.error;\n }\n },\n\n listeners: new AWS.SequentialExecutor().addNamedListeners(function(add) {\n add('RETRY_CHECK', 'retry', function(resp) {\n var waiter = resp.request._waiter;\n if (resp.error && resp.error.code === 'ResourceNotReady') {\n resp.error.retryDelay = (waiter.config.delay || 0) * 1000;\n }\n });\n\n add('CHECK_OUTPUT', 'extractData', CHECK_ACCEPTORS);\n\n add('CHECK_ERROR', 'extractError', CHECK_ACCEPTORS);\n }),\n\n /**\n * @return [AWS.Request]\n */\n wait: function wait(params, callback) {\n if (typeof params === 'function') {\n callback = params; params = undefined;\n }\n\n if (params && params.$waiter) {\n params = AWS.util.copy(params);\n if (typeof params.$waiter.delay === 'number') {\n this.config.delay = params.$waiter.delay;\n }\n if (typeof params.$waiter.maxAttempts === 'number') {\n this.config.maxAttempts = params.$waiter.maxAttempts;\n }\n delete params.$waiter;\n }\n\n var request = this.service.makeRequest(this.config.operation, params);\n request._waiter = this;\n request.response.maxRetries = this.config.maxAttempts;\n request.addListeners(this.listeners);\n\n if (callback) request.send(callback);\n return request;\n },\n\n setSuccess: function setSuccess(resp) {\n resp.error = null;\n resp.data = resp.data || {};\n resp.request.removeAllListeners('extractData');\n },\n\n setError: function setError(resp, retryable) {\n resp.data = null;\n resp.error = AWS.util.error(resp.error || new Error(), {\n code: 'ResourceNotReady',\n message: 'Resource is not in the state ' + this.state,\n retryable: retryable\n });\n },\n\n /**\n * Loads waiter configuration from API configuration\n *\n * @api private\n */\n loadWaiterConfig: function loadWaiterConfig(state) {\n if (!this.service.api.waiters[state]) {\n throw new AWS.util.error(new Error(), {\n code: 'StateNotFoundError',\n message: 'State ' + state + ' not found.'\n });\n }\n\n this.config = AWS.util.copy(this.service.api.waiters[state]);\n }\n});\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['cognitosync'] = {};\nAWS.CognitoSync = Service.defineService('cognitosync', ['2014-06-30']);\nObject.defineProperty(apiLoader.services['cognitosync'], '2014-06-30', {\n get: function get() {\n var model = require('../apis/cognito-sync-2014-06-30.min.json');\n model.paginators = require('../apis/cognito-sync-2014-06-30.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CognitoSync;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['autoscaling'] = {};\nAWS.AutoScaling = Service.defineService('autoscaling', ['2011-01-01']);\nObject.defineProperty(apiLoader.services['autoscaling'], '2011-01-01', {\n get: function get() {\n var model = require('../apis/autoscaling-2011-01-01.min.json');\n model.paginators = require('../apis/autoscaling-2011-01-01.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.AutoScaling;\n","var AWS = require('../core');\nvar byteLength = AWS.util.string.byteLength;\nvar Buffer = AWS.util.Buffer;\n\n/**\n * The managed uploader allows for easy and efficient uploading of buffers,\n * blobs, or streams, using a configurable amount of concurrency to perform\n * multipart uploads where possible. This abstraction also enables uploading\n * streams of unknown size due to the use of multipart uploads.\n *\n * To construct a managed upload object, see the {constructor} function.\n *\n * ## Tracking upload progress\n *\n * The managed upload object can also track progress by attaching an\n * 'httpUploadProgress' listener to the upload manager. This event is similar\n * to {AWS.Request~httpUploadProgress} but groups all concurrent upload progress\n * into a single event. See {AWS.S3.ManagedUpload~httpUploadProgress} for more\n * information.\n *\n * ## Handling Multipart Cleanup\n *\n * By default, this class will automatically clean up any multipart uploads\n * when an individual part upload fails. This behavior can be disabled in order\n * to manually handle failures by setting the `leavePartsOnError` configuration\n * option to `true` when initializing the upload object.\n *\n * @!event httpUploadProgress(progress)\n * Triggered when the uploader has uploaded more data.\n * @note The `total` property may not be set if the stream being uploaded has\n * not yet finished chunking. In this case the `total` will be undefined\n * until the total stream size is known.\n * @note This event will not be emitted in Node.js 0.8.x.\n * @param progress [map] An object containing the `loaded` and `total` bytes\n * of the request and the `key` of the S3 object. Note that `total` may be undefined until the payload\n * size is known.\n * @context (see AWS.Request~send)\n */\nAWS.S3.ManagedUpload = AWS.util.inherit({\n /**\n * Creates a managed upload object with a set of configuration options.\n *\n * @note A \"Body\" parameter is required to be set prior to calling {send}.\n * @note In Node.js, sending \"Body\" as {https://nodejs.org/dist/latest/docs/api/stream.html#stream_object_mode object-mode stream}\n * may result in upload hangs. Using buffer stream is preferable.\n * @option options params [map] a map of parameters to pass to the upload\n * requests. The \"Body\" parameter is required to be specified either on\n * the service or in the params option.\n * @note ContentMD5 should not be provided when using the managed upload object.\n * Instead, setting \"computeChecksums\" to true will enable automatic ContentMD5 generation\n * by the managed upload object.\n * @option options queueSize [Number] (4) the size of the concurrent queue\n * manager to upload parts in parallel. Set to 1 for synchronous uploading\n * of parts. Note that the uploader will buffer at most queueSize * partSize\n * bytes into memory at any given time.\n * @option options partSize [Number] (5mb) the size in bytes for each\n * individual part to be uploaded. Adjust the part size to ensure the number\n * of parts does not exceed {maxTotalParts}. See {minPartSize} for the\n * minimum allowed part size.\n * @option options leavePartsOnError [Boolean] (false) whether to abort the\n * multipart upload if an error occurs. Set to true if you want to handle\n * failures manually.\n * @option options service [AWS.S3] an optional S3 service object to use for\n * requests. This object might have bound parameters used by the uploader.\n * @option options tags [Array] The tags to apply to the uploaded object.\n * Each tag should have a `Key` and `Value` keys.\n * @example Creating a default uploader for a stream object\n * var upload = new AWS.S3.ManagedUpload({\n * params: {Bucket: 'bucket', Key: 'key', Body: stream}\n * });\n * @example Creating an uploader with concurrency of 1 and partSize of 10mb\n * var upload = new AWS.S3.ManagedUpload({\n * partSize: 10 * 1024 * 1024, queueSize: 1,\n * params: {Bucket: 'bucket', Key: 'key', Body: stream}\n * });\n * @example Creating an uploader with tags\n * var upload = new AWS.S3.ManagedUpload({\n * params: {Bucket: 'bucket', Key: 'key', Body: stream},\n * tags: [{Key: 'tag1', Value: 'value1'}, {Key: 'tag2', Value: 'value2'}]\n * });\n * @see send\n */\n constructor: function ManagedUpload(options) {\n var self = this;\n AWS.SequentialExecutor.call(self);\n self.body = null;\n self.sliceFn = null;\n self.callback = null;\n self.parts = {};\n self.completeInfo = [];\n self.fillQueue = function() {\n self.callback(new Error('Unsupported body payload ' + typeof self.body));\n };\n\n self.configure(options);\n },\n\n /**\n * @api private\n */\n configure: function configure(options) {\n options = options || {};\n this.partSize = this.minPartSize;\n\n if (options.queueSize) this.queueSize = options.queueSize;\n if (options.partSize) this.partSize = options.partSize;\n if (options.leavePartsOnError) this.leavePartsOnError = true;\n if (options.tags) {\n if (!Array.isArray(options.tags)) {\n throw new Error('Tags must be specified as an array; ' +\n typeof options.tags + ' provided.');\n }\n this.tags = options.tags;\n }\n\n if (this.partSize < this.minPartSize) {\n throw new Error('partSize must be greater than ' +\n this.minPartSize);\n }\n\n this.service = options.service;\n this.bindServiceObject(options.params);\n this.validateBody();\n this.adjustTotalBytes();\n },\n\n /**\n * @api private\n */\n leavePartsOnError: false,\n\n /**\n * @api private\n */\n queueSize: 4,\n\n /**\n * @api private\n */\n partSize: null,\n\n /**\n * @readonly\n * @return [Number] the minimum number of bytes for an individual part\n * upload.\n */\n minPartSize: 1024 * 1024 * 5,\n\n /**\n * @readonly\n * @return [Number] the maximum allowed number of parts in a multipart upload.\n */\n maxTotalParts: 10000,\n\n /**\n * Initiates the managed upload for the payload.\n *\n * @callback callback function(err, data)\n * @param err [Error] an error or null if no error occurred.\n * @param data [map] The response data from the successful upload:\n * * `Location` (String) the URL of the uploaded object\n * * `ETag` (String) the ETag of the uploaded object\n * * `Bucket` (String) the bucket to which the object was uploaded\n * * `Key` (String) the key to which the object was uploaded\n * @example Sending a managed upload object\n * var params = {Bucket: 'bucket', Key: 'key', Body: stream};\n * var upload = new AWS.S3.ManagedUpload({params: params});\n * upload.send(function(err, data) {\n * console.log(err, data);\n * });\n */\n send: function(callback) {\n var self = this;\n self.failed = false;\n self.callback = callback || function(err) { if (err) throw err; };\n\n var runFill = true;\n if (self.sliceFn) {\n self.fillQueue = self.fillBuffer;\n } else if (AWS.util.isNode()) {\n var Stream = AWS.util.stream.Stream;\n if (self.body instanceof Stream) {\n runFill = false;\n self.fillQueue = self.fillStream;\n self.partBuffers = [];\n self.body.\n on('error', function(err) { self.cleanup(err); }).\n on('readable', function() { self.fillQueue(); }).\n on('end', function() {\n self.isDoneChunking = true;\n self.numParts = self.totalPartNumbers;\n self.fillQueue.call(self);\n\n if (self.isDoneChunking && self.totalPartNumbers >= 1 && self.doneParts === self.numParts) {\n self.finishMultiPart();\n }\n });\n }\n }\n\n if (runFill) self.fillQueue.call(self);\n },\n\n /**\n * @!method promise()\n * Returns a 'thenable' promise.\n *\n * Two callbacks can be provided to the `then` method on the returned promise.\n * The first callback will be called if the promise is fulfilled, and the second\n * callback will be called if the promise is rejected.\n * @callback fulfilledCallback function(data)\n * Called if the promise is fulfilled.\n * @param data [map] The response data from the successful upload:\n * `Location` (String) the URL of the uploaded object\n * `ETag` (String) the ETag of the uploaded object\n * `Bucket` (String) the bucket to which the object was uploaded\n * `Key` (String) the key to which the object was uploaded\n * @callback rejectedCallback function(err)\n * Called if the promise is rejected.\n * @param err [Error] an error or null if no error occurred.\n * @return [Promise] A promise that represents the state of the upload request.\n * @example Sending an upload request using promises.\n * var upload = s3.upload({Bucket: 'bucket', Key: 'key', Body: stream});\n * var promise = upload.promise();\n * promise.then(function(data) { ... }, function(err) { ... });\n */\n\n /**\n * Aborts a managed upload, including all concurrent upload requests.\n * @note By default, calling this function will cleanup a multipart upload\n * if one was created. To leave the multipart upload around after aborting\n * a request, configure `leavePartsOnError` to `true` in the {constructor}.\n * @note Calling {abort} in the browser environment will not abort any requests\n * that are already in flight. If a multipart upload was created, any parts\n * not yet uploaded will not be sent, and the multipart upload will be cleaned up.\n * @example Aborting an upload\n * var params = {\n * Bucket: 'bucket', Key: 'key',\n * Body: Buffer.alloc(1024 * 1024 * 25) // 25MB payload\n * };\n * var upload = s3.upload(params);\n * upload.send(function (err, data) {\n * if (err) console.log(\"Error:\", err.code, err.message);\n * else console.log(data);\n * });\n *\n * // abort request in 1 second\n * setTimeout(upload.abort.bind(upload), 1000);\n */\n abort: function() {\n var self = this;\n //abort putObject request\n if (self.isDoneChunking === true && self.totalPartNumbers === 1 && self.singlePart) {\n self.singlePart.abort();\n } else {\n self.cleanup(AWS.util.error(new Error('Request aborted by user'), {\n code: 'RequestAbortedError', retryable: false\n }));\n }\n },\n\n /**\n * @api private\n */\n validateBody: function validateBody() {\n var self = this;\n self.body = self.service.config.params.Body;\n if (typeof self.body === 'string') {\n self.body = AWS.util.buffer.toBuffer(self.body);\n } else if (!self.body) {\n throw new Error('params.Body is required');\n }\n self.sliceFn = AWS.util.arraySliceFn(self.body);\n },\n\n /**\n * @api private\n */\n bindServiceObject: function bindServiceObject(params) {\n params = params || {};\n var self = this;\n // bind parameters to new service object\n if (!self.service) {\n self.service = new AWS.S3({params: params});\n } else {\n // Create a new S3 client from the supplied client's constructor.\n var service = self.service;\n var config = AWS.util.copy(service.config);\n config.signatureVersion = service.getSignatureVersion();\n self.service = new service.constructor.__super__(config);\n self.service.config.params =\n AWS.util.merge(self.service.config.params || {}, params);\n Object.defineProperty(self.service, '_originalConfig', {\n get: function() { return service._originalConfig; },\n enumerable: false,\n configurable: true\n });\n }\n },\n\n /**\n * @api private\n */\n adjustTotalBytes: function adjustTotalBytes() {\n var self = this;\n try { // try to get totalBytes\n self.totalBytes = byteLength(self.body);\n } catch (e) { }\n\n // try to adjust partSize if we know payload length\n if (self.totalBytes) {\n var newPartSize = Math.ceil(self.totalBytes / self.maxTotalParts);\n if (newPartSize > self.partSize) self.partSize = newPartSize;\n } else {\n self.totalBytes = undefined;\n }\n },\n\n /**\n * @api private\n */\n isDoneChunking: false,\n\n /**\n * @api private\n */\n partPos: 0,\n\n /**\n * @api private\n */\n totalChunkedBytes: 0,\n\n /**\n * @api private\n */\n totalUploadedBytes: 0,\n\n /**\n * @api private\n */\n totalBytes: undefined,\n\n /**\n * @api private\n */\n numParts: 0,\n\n /**\n * @api private\n */\n totalPartNumbers: 0,\n\n /**\n * @api private\n */\n activeParts: 0,\n\n /**\n * @api private\n */\n doneParts: 0,\n\n /**\n * @api private\n */\n parts: null,\n\n /**\n * @api private\n */\n completeInfo: null,\n\n /**\n * @api private\n */\n failed: false,\n\n /**\n * @api private\n */\n multipartReq: null,\n\n /**\n * @api private\n */\n partBuffers: null,\n\n /**\n * @api private\n */\n partBufferLength: 0,\n\n /**\n * @api private\n */\n fillBuffer: function fillBuffer() {\n var self = this;\n var bodyLen = byteLength(self.body);\n\n if (bodyLen === 0) {\n self.isDoneChunking = true;\n self.numParts = 1;\n self.nextChunk(self.body);\n return;\n }\n\n while (self.activeParts < self.queueSize && self.partPos < bodyLen) {\n var endPos = Math.min(self.partPos + self.partSize, bodyLen);\n var buf = self.sliceFn.call(self.body, self.partPos, endPos);\n self.partPos += self.partSize;\n\n if (byteLength(buf) < self.partSize || self.partPos === bodyLen) {\n self.isDoneChunking = true;\n self.numParts = self.totalPartNumbers + 1;\n }\n self.nextChunk(buf);\n }\n },\n\n /**\n * @api private\n */\n fillStream: function fillStream() {\n var self = this;\n if (self.activeParts >= self.queueSize) return;\n\n var buf = self.body.read(self.partSize - self.partBufferLength) ||\n self.body.read();\n if (buf) {\n self.partBuffers.push(buf);\n self.partBufferLength += buf.length;\n self.totalChunkedBytes += buf.length;\n }\n\n if (self.partBufferLength >= self.partSize) {\n // if we have single buffer we avoid copyfull concat\n var pbuf = self.partBuffers.length === 1 ?\n self.partBuffers[0] : Buffer.concat(self.partBuffers);\n self.partBuffers = [];\n self.partBufferLength = 0;\n\n // if we have more than partSize, push the rest back on the queue\n if (pbuf.length > self.partSize) {\n var rest = pbuf.slice(self.partSize);\n self.partBuffers.push(rest);\n self.partBufferLength += rest.length;\n pbuf = pbuf.slice(0, self.partSize);\n }\n\n self.nextChunk(pbuf);\n }\n\n if (self.isDoneChunking && !self.isDoneSending) {\n // if we have single buffer we avoid copyfull concat\n pbuf = self.partBuffers.length === 1 ?\n self.partBuffers[0] : Buffer.concat(self.partBuffers);\n self.partBuffers = [];\n self.partBufferLength = 0;\n self.totalBytes = self.totalChunkedBytes;\n self.isDoneSending = true;\n\n if (self.numParts === 0 || pbuf.length > 0) {\n self.numParts++;\n self.nextChunk(pbuf);\n }\n }\n\n self.body.read(0);\n },\n\n /**\n * @api private\n */\n nextChunk: function nextChunk(chunk) {\n var self = this;\n if (self.failed) return null;\n\n var partNumber = ++self.totalPartNumbers;\n if (self.isDoneChunking && partNumber === 1) {\n var params = {Body: chunk};\n if (this.tags) {\n params.Tagging = this.getTaggingHeader();\n }\n var req = self.service.putObject(params);\n req._managedUpload = self;\n req.on('httpUploadProgress', self.progress).send(self.finishSinglePart);\n self.singlePart = req; //save the single part request\n return null;\n } else if (self.service.config.params.ContentMD5) {\n var err = AWS.util.error(new Error('The Content-MD5 you specified is invalid for multi-part uploads.'), {\n code: 'InvalidDigest', retryable: false\n });\n\n self.cleanup(err);\n return null;\n }\n\n if (self.completeInfo[partNumber] && self.completeInfo[partNumber].ETag !== null) {\n return null; // Already uploaded this part.\n }\n\n self.activeParts++;\n if (!self.service.config.params.UploadId) {\n\n if (!self.multipartReq) { // create multipart\n self.multipartReq = self.service.createMultipartUpload();\n self.multipartReq.on('success', function(resp) {\n self.service.config.params.UploadId = resp.data.UploadId;\n self.multipartReq = null;\n });\n self.queueChunks(chunk, partNumber);\n self.multipartReq.on('error', function(err) {\n self.cleanup(err);\n });\n self.multipartReq.send();\n } else {\n self.queueChunks(chunk, partNumber);\n }\n } else { // multipart is created, just send\n self.uploadPart(chunk, partNumber);\n }\n },\n\n /**\n * @api private\n */\n getTaggingHeader: function getTaggingHeader() {\n var kvPairStrings = [];\n for (var i = 0; i < this.tags.length; i++) {\n kvPairStrings.push(AWS.util.uriEscape(this.tags[i].Key) + '=' +\n AWS.util.uriEscape(this.tags[i].Value));\n }\n\n return kvPairStrings.join('&');\n },\n\n /**\n * @api private\n */\n uploadPart: function uploadPart(chunk, partNumber) {\n var self = this;\n\n var partParams = {\n Body: chunk,\n ContentLength: AWS.util.string.byteLength(chunk),\n PartNumber: partNumber\n };\n\n var partInfo = {ETag: null, PartNumber: partNumber};\n self.completeInfo[partNumber] = partInfo;\n\n var req = self.service.uploadPart(partParams);\n self.parts[partNumber] = req;\n req._lastUploadedBytes = 0;\n req._managedUpload = self;\n req.on('httpUploadProgress', self.progress);\n req.send(function(err, data) {\n delete self.parts[partParams.PartNumber];\n self.activeParts--;\n\n if (!err && (!data || !data.ETag)) {\n var message = 'No access to ETag property on response.';\n if (AWS.util.isBrowser()) {\n message += ' Check CORS configuration to expose ETag header.';\n }\n\n err = AWS.util.error(new Error(message), {\n code: 'ETagMissing', retryable: false\n });\n }\n if (err) return self.cleanup(err);\n //prevent sending part being returned twice (https://github.com/aws/aws-sdk-js/issues/2304)\n if (self.completeInfo[partNumber] && self.completeInfo[partNumber].ETag !== null) return null;\n partInfo.ETag = data.ETag;\n self.doneParts++;\n if (self.isDoneChunking && self.doneParts === self.numParts) {\n self.finishMultiPart();\n } else {\n self.fillQueue.call(self);\n }\n });\n },\n\n /**\n * @api private\n */\n queueChunks: function queueChunks(chunk, partNumber) {\n var self = this;\n self.multipartReq.on('success', function() {\n self.uploadPart(chunk, partNumber);\n });\n },\n\n /**\n * @api private\n */\n cleanup: function cleanup(err) {\n var self = this;\n if (self.failed) return;\n\n // clean up stream\n if (typeof self.body.removeAllListeners === 'function' &&\n typeof self.body.resume === 'function') {\n self.body.removeAllListeners('readable');\n self.body.removeAllListeners('end');\n self.body.resume();\n }\n\n // cleanup multipartReq listeners\n if (self.multipartReq) {\n self.multipartReq.removeAllListeners('success');\n self.multipartReq.removeAllListeners('error');\n self.multipartReq.removeAllListeners('complete');\n delete self.multipartReq;\n }\n\n if (self.service.config.params.UploadId && !self.leavePartsOnError) {\n self.service.abortMultipartUpload().send();\n } else if (self.leavePartsOnError) {\n self.isDoneChunking = false;\n }\n\n AWS.util.each(self.parts, function(partNumber, part) {\n part.removeAllListeners('complete');\n part.abort();\n });\n\n self.activeParts = 0;\n self.partPos = 0;\n self.numParts = 0;\n self.totalPartNumbers = 0;\n self.parts = {};\n self.failed = true;\n self.callback(err);\n },\n\n /**\n * @api private\n */\n finishMultiPart: function finishMultiPart() {\n var self = this;\n var completeParams = { MultipartUpload: { Parts: self.completeInfo.slice(1) } };\n self.service.completeMultipartUpload(completeParams, function(err, data) {\n if (err) {\n return self.cleanup(err);\n }\n\n if (data && typeof data.Location === 'string') {\n data.Location = data.Location.replace(/%2F/g, '/');\n }\n\n if (Array.isArray(self.tags)) {\n for (var i = 0; i < self.tags.length; i++) {\n self.tags[i].Value = String(self.tags[i].Value);\n }\n self.service.putObjectTagging(\n {Tagging: {TagSet: self.tags}},\n function(e, d) {\n if (e) {\n self.callback(e);\n } else {\n self.callback(e, data);\n }\n }\n );\n } else {\n self.callback(err, data);\n }\n });\n },\n\n /**\n * @api private\n */\n finishSinglePart: function finishSinglePart(err, data) {\n var upload = this.request._managedUpload;\n var httpReq = this.request.httpRequest;\n var endpoint = httpReq.endpoint;\n if (err) return upload.callback(err);\n data.Location =\n [endpoint.protocol, '//', endpoint.host, httpReq.path].join('');\n data.key = this.request.params.Key; // will stay undocumented\n data.Key = this.request.params.Key;\n data.Bucket = this.request.params.Bucket;\n upload.callback(err, data);\n },\n\n /**\n * @api private\n */\n progress: function progress(info) {\n var upload = this._managedUpload;\n if (this.operation === 'putObject') {\n info.part = 1;\n info.key = this.params.Key;\n } else {\n upload.totalUploadedBytes += info.loaded - this._lastUploadedBytes;\n this._lastUploadedBytes = info.loaded;\n info = {\n loaded: upload.totalUploadedBytes,\n total: upload.totalBytes,\n part: this.params.PartNumber,\n key: this.params.Key\n };\n }\n upload.emit('httpUploadProgress', [info]);\n }\n});\n\nAWS.util.mixin(AWS.S3.ManagedUpload, AWS.SequentialExecutor);\n\n/**\n * @api private\n */\nAWS.S3.ManagedUpload.addPromisesToClass = function addPromisesToClass(PromiseDependency) {\n this.prototype.promise = AWS.util.promisifyMethod('send', PromiseDependency);\n};\n\n/**\n * @api private\n */\nAWS.S3.ManagedUpload.deletePromisesFromClass = function deletePromisesFromClass() {\n delete this.prototype.promise;\n};\n\nAWS.util.addPromises(AWS.S3.ManagedUpload);\n\n/**\n * @api private\n */\nmodule.exports = AWS.S3.ManagedUpload;\n","var AWS = require('../core');\nrequire('../dynamodb/document_client');\n\nAWS.util.update(AWS.DynamoDB.prototype, {\n /**\n * @api private\n */\n setupRequestListeners: function setupRequestListeners(request) {\n if (request.service.config.dynamoDbCrc32) {\n request.removeListener('extractData', AWS.EventListeners.Json.EXTRACT_DATA);\n request.addListener('extractData', this.checkCrc32);\n request.addListener('extractData', AWS.EventListeners.Json.EXTRACT_DATA);\n }\n },\n\n /**\n * @api private\n */\n checkCrc32: function checkCrc32(resp) {\n if (!resp.httpResponse.streaming && !resp.request.service.crc32IsValid(resp)) {\n resp.data = null;\n resp.error = AWS.util.error(new Error(), {\n code: 'CRC32CheckFailed',\n message: 'CRC32 integrity check failed',\n retryable: true\n });\n resp.request.haltHandlersOnError();\n throw (resp.error);\n }\n },\n\n /**\n * @api private\n */\n crc32IsValid: function crc32IsValid(resp) {\n var crc = resp.httpResponse.headers['x-amz-crc32'];\n if (!crc) return true; // no (valid) CRC32 header\n return parseInt(crc, 10) === AWS.util.crypto.crc32(resp.httpResponse.body);\n },\n\n /**\n * @api private\n */\n defaultRetryCount: 10,\n\n /**\n * @api private\n */\n retryDelays: function retryDelays(retryCount, err) {\n var retryDelayOptions = AWS.util.copy(this.config.retryDelayOptions);\n\n if (typeof retryDelayOptions.base !== 'number') {\n retryDelayOptions.base = 50; // default for dynamodb\n }\n var delay = AWS.util.calculateRetryDelay(retryCount, retryDelayOptions, err);\n return delay;\n }\n});\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['storagegateway'] = {};\nAWS.StorageGateway = Service.defineService('storagegateway', ['2013-06-30']);\nObject.defineProperty(apiLoader.services['storagegateway'], '2013-06-30', {\n get: function get() {\n var model = require('../apis/storagegateway-2013-06-30.min.json');\n model.paginators = require('../apis/storagegateway-2013-06-30.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.StorageGateway;\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","var AWS = require('../core');\nvar STS = require('../../clients/sts');\n\n/**\n * Represents temporary credentials retrieved from {AWS.STS}. Without any\n * extra parameters, credentials will be fetched from the\n * {AWS.STS.getSessionToken} operation. If an IAM role is provided, the\n * {AWS.STS.assumeRole} operation will be used to fetch credentials for the\n * role instead.\n *\n * AWS.ChainableTemporaryCredentials differs from AWS.TemporaryCredentials in\n * the way masterCredentials and refreshes are handled.\n * AWS.ChainableTemporaryCredentials refreshes expired credentials using the\n * masterCredentials passed by the user to support chaining of STS credentials.\n * However, AWS.TemporaryCredentials recursively collapses the masterCredentials\n * during instantiation, precluding the ability to refresh credentials which\n * require intermediate, temporary credentials.\n *\n * For example, if the application should use RoleA, which must be assumed from\n * RoleB, and the environment provides credentials which can assume RoleB, then\n * AWS.ChainableTemporaryCredentials must be used to support refreshing the\n * temporary credentials for RoleA:\n *\n * ```javascript\n * var roleACreds = new AWS.ChainableTemporaryCredentials({\n * params: {RoleArn: 'RoleA'},\n * masterCredentials: new AWS.ChainableTemporaryCredentials({\n * params: {RoleArn: 'RoleB'},\n * masterCredentials: new AWS.EnvironmentCredentials('AWS')\n * })\n * });\n * ```\n *\n * If AWS.TemporaryCredentials had been used in the previous example,\n * `roleACreds` would fail to refresh because `roleACreds` would\n * use the environment credentials for the AssumeRole request.\n *\n * Another difference is that AWS.ChainableTemporaryCredentials creates the STS\n * service instance during instantiation while AWS.TemporaryCredentials creates\n * the STS service instance during the first refresh. Creating the service\n * instance during instantiation effectively captures the master credentials\n * from the global config, so that subsequent changes to the global config do\n * not affect the master credentials used to refresh the temporary credentials.\n *\n * This allows an instance of AWS.ChainableTemporaryCredentials to be assigned\n * to AWS.config.credentials:\n *\n * ```javascript\n * var envCreds = new AWS.EnvironmentCredentials('AWS');\n * AWS.config.credentials = envCreds;\n * // masterCredentials will be envCreds\n * AWS.config.credentials = new AWS.ChainableTemporaryCredentials({\n * params: {RoleArn: '...'}\n * });\n * ```\n *\n * Similarly, to use the CredentialProviderChain's default providers as the\n * master credentials, simply create a new instance of\n * AWS.ChainableTemporaryCredentials:\n *\n * ```javascript\n * AWS.config.credentials = new ChainableTemporaryCredentials({\n * params: {RoleArn: '...'}\n * });\n * ```\n *\n * @!attribute service\n * @return [AWS.STS] the STS service instance used to\n * get and refresh temporary credentials from AWS STS.\n * @note (see constructor)\n */\nAWS.ChainableTemporaryCredentials = AWS.util.inherit(AWS.Credentials, {\n /**\n * Creates a new temporary credentials object.\n *\n * @param options [map] a set of options\n * @option options params [map] ({}) a map of options that are passed to the\n * {AWS.STS.assumeRole} or {AWS.STS.getSessionToken} operations.\n * If a `RoleArn` parameter is passed in, credentials will be based on the\n * IAM role. If a `SerialNumber` parameter is passed in, {tokenCodeFn} must\n * also be passed in or an error will be thrown.\n * @option options masterCredentials [AWS.Credentials] the master credentials\n * used to get and refresh temporary credentials from AWS STS. By default,\n * AWS.config.credentials or AWS.config.credentialProvider will be used.\n * @option options tokenCodeFn [Function] (null) Function to provide\n * `TokenCode`, if `SerialNumber` is provided for profile in {params}. Function\n * is called with value of `SerialNumber` and `callback`, and should provide\n * the `TokenCode` or an error to the callback in the format\n * `callback(err, token)`.\n * @example Creating a new credentials object for generic temporary credentials\n * AWS.config.credentials = new AWS.ChainableTemporaryCredentials();\n * @example Creating a new credentials object for an IAM role\n * AWS.config.credentials = new AWS.ChainableTemporaryCredentials({\n * params: {\n * RoleArn: 'arn:aws:iam::1234567890:role/TemporaryCredentials'\n * }\n * });\n * @see AWS.STS.assumeRole\n * @see AWS.STS.getSessionToken\n */\n constructor: function ChainableTemporaryCredentials(options) {\n AWS.Credentials.call(this);\n options = options || {};\n this.errorCode = 'ChainableTemporaryCredentialsProviderFailure';\n this.expired = true;\n this.tokenCodeFn = null;\n\n var params = AWS.util.copy(options.params) || {};\n if (params.RoleArn) {\n params.RoleSessionName = params.RoleSessionName || 'temporary-credentials';\n }\n if (params.SerialNumber) {\n if (!options.tokenCodeFn || (typeof options.tokenCodeFn !== 'function')) {\n throw new AWS.util.error(\n new Error('tokenCodeFn must be a function when params.SerialNumber is given'),\n {code: this.errorCode}\n );\n } else {\n this.tokenCodeFn = options.tokenCodeFn;\n }\n }\n var config = AWS.util.merge(\n {\n params: params,\n credentials: options.masterCredentials || AWS.config.credentials\n },\n options.stsConfig || {}\n );\n this.service = new STS(config);\n },\n\n /**\n * Refreshes credentials using {AWS.STS.assumeRole} or\n * {AWS.STS.getSessionToken}, depending on whether an IAM role ARN was passed\n * to the credentials {constructor}.\n *\n * @callback callback function(err)\n * Called when the STS service responds (or fails). When\n * this callback is called with no error, it means that the credentials\n * information has been loaded into the object (as the `accessKeyId`,\n * `secretAccessKey`, and `sessionToken` properties).\n * @param err [Error] if an error occurred, this value will be filled\n * @see AWS.Credentials.get\n */\n refresh: function refresh(callback) {\n this.coalesceRefresh(callback || AWS.util.fn.callback);\n },\n\n /**\n * @api private\n * @param callback\n */\n load: function load(callback) {\n var self = this;\n var operation = self.service.config.params.RoleArn ? 'assumeRole' : 'getSessionToken';\n this.getTokenCode(function (err, tokenCode) {\n var params = {};\n if (err) {\n callback(err);\n return;\n }\n if (tokenCode) {\n params.TokenCode = tokenCode;\n }\n self.service[operation](params, function (err, data) {\n if (!err) {\n self.service.credentialsFrom(data, self);\n }\n callback(err);\n });\n });\n },\n\n /**\n * @api private\n */\n getTokenCode: function getTokenCode(callback) {\n var self = this;\n if (this.tokenCodeFn) {\n this.tokenCodeFn(this.service.config.params.SerialNumber, function (err, token) {\n if (err) {\n var message = err;\n if (err instanceof Error) {\n message = err.message;\n }\n callback(\n AWS.util.error(\n new Error('Error fetching MFA token: ' + message),\n { code: self.errorCode}\n )\n );\n return;\n }\n callback(null, token);\n });\n } else {\n callback(null);\n }\n }\n});\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['personalizeruntime'] = {};\nAWS.PersonalizeRuntime = Service.defineService('personalizeruntime', ['2018-05-22']);\nObject.defineProperty(apiLoader.services['personalizeruntime'], '2018-05-22', {\n get: function get() {\n var model = require('../apis/personalize-runtime-2018-05-22.min.json');\n model.paginators = require('../apis/personalize-runtime-2018-05-22.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.PersonalizeRuntime;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['s3'] = {};\nAWS.S3 = Service.defineService('s3', ['2006-03-01']);\nrequire('../lib/services/s3');\nObject.defineProperty(apiLoader.services['s3'], '2006-03-01', {\n get: function get() {\n var model = require('../apis/s3-2006-03-01.min.json');\n model.paginators = require('../apis/s3-2006-03-01.paginators.json').pagination;\n model.waiters = require('../apis/s3-2006-03-01.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.S3;\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VSwitch.sass'\n\n// Mixins\nimport Selectable from '../../mixins/selectable'\nimport VInput from '../VInput'\n\n// Directives\nimport Touch from '../../directives/touch'\n\n// Components\nimport { VFabTransition } from '../transitions'\nimport VProgressCircular from '../VProgressCircular/VProgressCircular'\n\n// Helpers\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\n\n/* @vue/component */\nexport default Selectable.extend({\n name: 'v-switch',\n\n directives: { Touch },\n\n props: {\n inset: Boolean,\n loading: {\n type: [Boolean, String],\n default: false,\n },\n flat: {\n type: Boolean,\n default: false,\n },\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--switch': true,\n 'v-input--switch--flat': this.flat,\n 'v-input--switch--inset': this.inset,\n }\n },\n attrs (): object {\n return {\n 'aria-checked': String(this.isActive),\n 'aria-disabled': String(this.isDisabled),\n role: 'switch',\n }\n },\n // Do not return undefined if disabled,\n // according to spec, should still show\n // a color when disabled and active\n validationState (): string | undefined {\n if (this.hasError && this.shouldValidate) return 'error'\n if (this.hasSuccess) return 'success'\n if (this.hasColor !== null) return this.computedColor\n return undefined\n },\n switchData (): VNodeData {\n return this.setTextColor(this.loading ? undefined : this.validationState, {\n class: this.themeClasses,\n })\n },\n },\n\n methods: {\n genDefaultSlot (): (VNode | null)[] {\n return [\n this.genSwitch(),\n this.genLabel(),\n ]\n },\n genSwitch (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.genInput('checkbox', {\n ...this.attrs,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.validationState, {\n directives: [{\n name: 'touch',\n value: {\n left: this.onSwipeLeft,\n right: this.onSwipeRight,\n },\n }],\n })),\n this.$createElement('div', {\n staticClass: 'v-input--switch__track',\n ...this.switchData,\n }),\n this.$createElement('div', {\n staticClass: 'v-input--switch__thumb',\n ...this.switchData,\n }, [this.genProgress()]),\n ])\n },\n genProgress (): VNode {\n return this.$createElement(VFabTransition, {}, [\n this.loading === false\n ? null\n : this.$slots.progress || this.$createElement(VProgressCircular, {\n props: {\n color: (this.loading === true || this.loading === '')\n ? (this.color || 'primary')\n : this.loading,\n size: 16,\n width: 2,\n indeterminate: true,\n },\n }),\n ])\n },\n onSwipeLeft () {\n if (this.isActive) this.onChange()\n },\n onSwipeRight () {\n if (!this.isActive) this.onChange()\n },\n onKeydown (e: KeyboardEvent) {\n if (\n (e.keyCode === keyCodes.left && this.isActive) ||\n (e.keyCode === keyCodes.right && !this.isActive)\n ) this.onChange()\n },\n },\n})\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['elbv2'] = {};\nAWS.ELBv2 = Service.defineService('elbv2', ['2015-12-01']);\nObject.defineProperty(apiLoader.services['elbv2'], '2015-12-01', {\n get: function get() {\n var model = require('../apis/elasticloadbalancingv2-2015-12-01.min.json');\n model.paginators = require('../apis/elasticloadbalancingv2-2015-12-01.paginators.json').pagination;\n model.waiters = require('../apis/elasticloadbalancingv2-2015-12-01.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ELBv2;\n","var AWS = require('./core');\nvar SequentialExecutor = require('./sequential_executor');\nvar DISCOVER_ENDPOINT = require('./discover_endpoint').discoverEndpoint;\n/**\n * The namespace used to register global event listeners for request building\n * and sending.\n */\nAWS.EventListeners = {\n /**\n * @!attribute VALIDATE_CREDENTIALS\n * A request listener that validates whether the request is being\n * sent with credentials.\n * Handles the {AWS.Request~validate 'validate' Request event}\n * @example Sending a request without validating credentials\n * var listener = AWS.EventListeners.Core.VALIDATE_CREDENTIALS;\n * request.removeListener('validate', listener);\n * @readonly\n * @return [Function]\n * @!attribute VALIDATE_REGION\n * A request listener that validates whether the region is set\n * for a request.\n * Handles the {AWS.Request~validate 'validate' Request event}\n * @example Sending a request without validating region configuration\n * var listener = AWS.EventListeners.Core.VALIDATE_REGION;\n * request.removeListener('validate', listener);\n * @readonly\n * @return [Function]\n * @!attribute VALIDATE_PARAMETERS\n * A request listener that validates input parameters in a request.\n * Handles the {AWS.Request~validate 'validate' Request event}\n * @example Sending a request without validating parameters\n * var listener = AWS.EventListeners.Core.VALIDATE_PARAMETERS;\n * request.removeListener('validate', listener);\n * @example Disable parameter validation globally\n * AWS.EventListeners.Core.removeListener('validate',\n * AWS.EventListeners.Core.VALIDATE_REGION);\n * @readonly\n * @return [Function]\n * @!attribute SEND\n * A request listener that initiates the HTTP connection for a\n * request being sent. Handles the {AWS.Request~send 'send' Request event}\n * @example Replacing the HTTP handler\n * var listener = AWS.EventListeners.Core.SEND;\n * request.removeListener('send', listener);\n * request.on('send', function(response) {\n * customHandler.send(response);\n * });\n * @return [Function]\n * @readonly\n * @!attribute HTTP_DATA\n * A request listener that reads data from the HTTP connection in order\n * to build the response data.\n * Handles the {AWS.Request~httpData 'httpData' Request event}.\n * Remove this handler if you are overriding the 'httpData' event and\n * do not want extra data processing and buffering overhead.\n * @example Disabling default data processing\n * var listener = AWS.EventListeners.Core.HTTP_DATA;\n * request.removeListener('httpData', listener);\n * @return [Function]\n * @readonly\n */\n Core: {} /* doc hack */\n};\n\n/**\n * @api private\n */\nfunction getOperationAuthtype(req) {\n if (!req.service.api.operations) {\n return '';\n }\n var operation = req.service.api.operations[req.operation];\n return operation ? operation.authtype : '';\n}\n\nAWS.EventListeners = {\n Core: new SequentialExecutor().addNamedListeners(function(add, addAsync) {\n addAsync('VALIDATE_CREDENTIALS', 'validate',\n function VALIDATE_CREDENTIALS(req, done) {\n if (!req.service.api.signatureVersion && !req.service.config.signatureVersion) return done(); // none\n req.service.config.getCredentials(function(err) {\n if (err) {\n req.response.error = AWS.util.error(err,\n {code: 'CredentialsError', message: 'Missing credentials in config, if using AWS_CONFIG_FILE, set AWS_SDK_LOAD_CONFIG=1'});\n }\n done();\n });\n });\n\n add('VALIDATE_REGION', 'validate', function VALIDATE_REGION(req) {\n if (!req.service.isGlobalEndpoint) {\n var dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!req.service.config.region) {\n req.response.error = AWS.util.error(new Error(),\n {code: 'ConfigError', message: 'Missing region in config'});\n } else if (!dnsHostRegex.test(req.service.config.region)) {\n req.response.error = AWS.util.error(new Error(),\n {code: 'ConfigError', message: 'Invalid region in config'});\n }\n }\n });\n\n add('BUILD_IDEMPOTENCY_TOKENS', 'validate', function BUILD_IDEMPOTENCY_TOKENS(req) {\n if (!req.service.api.operations) {\n return;\n }\n var operation = req.service.api.operations[req.operation];\n if (!operation) {\n return;\n }\n var idempotentMembers = operation.idempotentMembers;\n if (!idempotentMembers.length) {\n return;\n }\n // creates a copy of params so user's param object isn't mutated\n var params = AWS.util.copy(req.params);\n for (var i = 0, iLen = idempotentMembers.length; i < iLen; i++) {\n if (!params[idempotentMembers[i]]) {\n // add the member\n params[idempotentMembers[i]] = AWS.util.uuid.v4();\n }\n }\n req.params = params;\n });\n\n add('VALIDATE_PARAMETERS', 'validate', function VALIDATE_PARAMETERS(req) {\n if (!req.service.api.operations) {\n return;\n }\n var rules = req.service.api.operations[req.operation].input;\n var validation = req.service.config.paramValidation;\n new AWS.ParamValidator(validation).validate(rules, req.params);\n });\n\n addAsync('COMPUTE_SHA256', 'afterBuild', function COMPUTE_SHA256(req, done) {\n req.haltHandlersOnError();\n if (!req.service.api.operations) {\n return;\n }\n var operation = req.service.api.operations[req.operation];\n var authtype = operation ? operation.authtype : '';\n if (!req.service.api.signatureVersion && !authtype && !req.service.config.signatureVersion) return done(); // none\n if (req.service.getSignerClass(req) === AWS.Signers.V4) {\n var body = req.httpRequest.body || '';\n if (authtype.indexOf('unsigned-body') >= 0) {\n req.httpRequest.headers['X-Amz-Content-Sha256'] = 'UNSIGNED-PAYLOAD';\n return done();\n }\n AWS.util.computeSha256(body, function(err, sha) {\n if (err) {\n done(err);\n }\n else {\n req.httpRequest.headers['X-Amz-Content-Sha256'] = sha;\n done();\n }\n });\n } else {\n done();\n }\n });\n\n add('SET_CONTENT_LENGTH', 'afterBuild', function SET_CONTENT_LENGTH(req) {\n var authtype = getOperationAuthtype(req);\n var payloadMember = AWS.util.getRequestPayloadShape(req);\n if (req.httpRequest.headers['Content-Length'] === undefined) {\n try {\n var length = AWS.util.string.byteLength(req.httpRequest.body);\n req.httpRequest.headers['Content-Length'] = length;\n } catch (err) {\n if (payloadMember && payloadMember.isStreaming) {\n if (payloadMember.requiresLength) {\n //streaming payload requires length(s3, glacier)\n throw err;\n } else if (authtype.indexOf('unsigned-body') >= 0) {\n //unbounded streaming payload(lex, mediastore)\n req.httpRequest.headers['Transfer-Encoding'] = 'chunked';\n return;\n } else {\n throw err;\n }\n }\n throw err;\n }\n }\n });\n\n add('SET_HTTP_HOST', 'afterBuild', function SET_HTTP_HOST(req) {\n req.httpRequest.headers['Host'] = req.httpRequest.endpoint.host;\n });\n\n add('RESTART', 'restart', function RESTART() {\n var err = this.response.error;\n if (!err || !err.retryable) return;\n\n this.httpRequest = new AWS.HttpRequest(\n this.service.endpoint,\n this.service.region\n );\n\n if (this.response.retryCount < this.service.config.maxRetries) {\n this.response.retryCount++;\n } else {\n this.response.error = null;\n }\n });\n\n var addToHead = true;\n addAsync('DISCOVER_ENDPOINT', 'sign', DISCOVER_ENDPOINT, addToHead);\n\n addAsync('SIGN', 'sign', function SIGN(req, done) {\n var service = req.service;\n var operations = req.service.api.operations || {};\n var operation = operations[req.operation];\n var authtype = operation ? operation.authtype : '';\n if (!service.api.signatureVersion && !authtype && !service.config.signatureVersion) return done(); // none\n\n service.config.getCredentials(function (err, credentials) {\n if (err) {\n req.response.error = err;\n return done();\n }\n\n try {\n var date = service.getSkewCorrectedDate();\n var SignerClass = service.getSignerClass(req);\n var signer = new SignerClass(req.httpRequest,\n service.getSigningName(req),\n {\n signatureCache: service.config.signatureCache,\n operation: operation,\n signatureVersion: service.api.signatureVersion\n });\n signer.setServiceClientId(service._clientId);\n\n // clear old authorization headers\n delete req.httpRequest.headers['Authorization'];\n delete req.httpRequest.headers['Date'];\n delete req.httpRequest.headers['X-Amz-Date'];\n\n // add new authorization\n signer.addAuthorization(credentials, date);\n req.signedAt = date;\n } catch (e) {\n req.response.error = e;\n }\n done();\n });\n });\n\n add('VALIDATE_RESPONSE', 'validateResponse', function VALIDATE_RESPONSE(resp) {\n if (this.service.successfulResponse(resp, this)) {\n resp.data = {};\n resp.error = null;\n } else {\n resp.data = null;\n resp.error = AWS.util.error(new Error(),\n {code: 'UnknownError', message: 'An unknown error occurred.'});\n }\n });\n\n addAsync('SEND', 'send', function SEND(resp, done) {\n resp.httpResponse._abortCallback = done;\n resp.error = null;\n resp.data = null;\n\n function callback(httpResp) {\n resp.httpResponse.stream = httpResp;\n var stream = resp.request.httpRequest.stream;\n var service = resp.request.service;\n var api = service.api;\n var operationName = resp.request.operation;\n var operation = api.operations[operationName] || {};\n\n httpResp.on('headers', function onHeaders(statusCode, headers, statusMessage) {\n resp.request.emit(\n 'httpHeaders',\n [statusCode, headers, resp, statusMessage]\n );\n\n if (!resp.httpResponse.streaming) {\n if (AWS.HttpClient.streamsApiVersion === 2) { // streams2 API check\n // if we detect event streams, we're going to have to\n // return the stream immediately\n if (operation.hasEventOutput && service.successfulResponse(resp)) {\n // skip reading the IncomingStream\n resp.request.emit('httpDone');\n done();\n return;\n }\n\n httpResp.on('readable', function onReadable() {\n var data = httpResp.read();\n if (data !== null) {\n resp.request.emit('httpData', [data, resp]);\n }\n });\n } else { // legacy streams API\n httpResp.on('data', function onData(data) {\n resp.request.emit('httpData', [data, resp]);\n });\n }\n }\n });\n\n httpResp.on('end', function onEnd() {\n if (!stream || !stream.didCallback) {\n if (AWS.HttpClient.streamsApiVersion === 2 && (operation.hasEventOutput && service.successfulResponse(resp))) {\n // don't concatenate response chunks when streaming event stream data when response is successful\n return;\n }\n resp.request.emit('httpDone');\n done();\n }\n });\n }\n\n function progress(httpResp) {\n httpResp.on('sendProgress', function onSendProgress(value) {\n resp.request.emit('httpUploadProgress', [value, resp]);\n });\n\n httpResp.on('receiveProgress', function onReceiveProgress(value) {\n resp.request.emit('httpDownloadProgress', [value, resp]);\n });\n }\n\n function error(err) {\n if (err.code !== 'RequestAbortedError') {\n var errCode = err.code === 'TimeoutError' ? err.code : 'NetworkingError';\n err = AWS.util.error(err, {\n code: errCode,\n region: resp.request.httpRequest.region,\n hostname: resp.request.httpRequest.endpoint.hostname,\n retryable: true\n });\n }\n resp.error = err;\n resp.request.emit('httpError', [resp.error, resp], function() {\n done();\n });\n }\n\n function executeSend() {\n var http = AWS.HttpClient.getInstance();\n var httpOptions = resp.request.service.config.httpOptions || {};\n try {\n var stream = http.handleRequest(resp.request.httpRequest, httpOptions,\n callback, error);\n progress(stream);\n } catch (err) {\n error(err);\n }\n }\n var timeDiff = (resp.request.service.getSkewCorrectedDate() - this.signedAt) / 1000;\n if (timeDiff >= 60 * 10) { // if we signed 10min ago, re-sign\n this.emit('sign', [this], function(err) {\n if (err) done(err);\n else executeSend();\n });\n } else {\n executeSend();\n }\n });\n\n add('HTTP_HEADERS', 'httpHeaders',\n function HTTP_HEADERS(statusCode, headers, resp, statusMessage) {\n resp.httpResponse.statusCode = statusCode;\n resp.httpResponse.statusMessage = statusMessage;\n resp.httpResponse.headers = headers;\n resp.httpResponse.body = AWS.util.buffer.toBuffer('');\n resp.httpResponse.buffers = [];\n resp.httpResponse.numBytes = 0;\n var dateHeader = headers.date || headers.Date;\n var service = resp.request.service;\n if (dateHeader) {\n var serverTime = Date.parse(dateHeader);\n if (service.config.correctClockSkew\n && service.isClockSkewed(serverTime)) {\n service.applyClockOffset(serverTime);\n }\n }\n });\n\n add('HTTP_DATA', 'httpData', function HTTP_DATA(chunk, resp) {\n if (chunk) {\n if (AWS.util.isNode()) {\n resp.httpResponse.numBytes += chunk.length;\n\n var total = resp.httpResponse.headers['content-length'];\n var progress = { loaded: resp.httpResponse.numBytes, total: total };\n resp.request.emit('httpDownloadProgress', [progress, resp]);\n }\n\n resp.httpResponse.buffers.push(AWS.util.buffer.toBuffer(chunk));\n }\n });\n\n add('HTTP_DONE', 'httpDone', function HTTP_DONE(resp) {\n // convert buffers array into single buffer\n if (resp.httpResponse.buffers && resp.httpResponse.buffers.length > 0) {\n var body = AWS.util.buffer.concat(resp.httpResponse.buffers);\n resp.httpResponse.body = body;\n }\n delete resp.httpResponse.numBytes;\n delete resp.httpResponse.buffers;\n });\n\n add('FINALIZE_ERROR', 'retry', function FINALIZE_ERROR(resp) {\n if (resp.httpResponse.statusCode) {\n resp.error.statusCode = resp.httpResponse.statusCode;\n if (resp.error.retryable === undefined) {\n resp.error.retryable = this.service.retryableError(resp.error, this);\n }\n }\n });\n\n add('INVALIDATE_CREDENTIALS', 'retry', function INVALIDATE_CREDENTIALS(resp) {\n if (!resp.error) return;\n switch (resp.error.code) {\n case 'RequestExpired': // EC2 only\n case 'ExpiredTokenException':\n case 'ExpiredToken':\n resp.error.retryable = true;\n resp.request.service.config.credentials.expired = true;\n }\n });\n\n add('EXPIRED_SIGNATURE', 'retry', function EXPIRED_SIGNATURE(resp) {\n var err = resp.error;\n if (!err) return;\n if (typeof err.code === 'string' && typeof err.message === 'string') {\n if (err.code.match(/Signature/) && err.message.match(/expired/)) {\n resp.error.retryable = true;\n }\n }\n });\n\n add('CLOCK_SKEWED', 'retry', function CLOCK_SKEWED(resp) {\n if (!resp.error) return;\n if (this.service.clockSkewError(resp.error)\n && this.service.config.correctClockSkew) {\n resp.error.retryable = true;\n }\n });\n\n add('REDIRECT', 'retry', function REDIRECT(resp) {\n if (resp.error && resp.error.statusCode >= 300 &&\n resp.error.statusCode < 400 && resp.httpResponse.headers['location']) {\n this.httpRequest.endpoint =\n new AWS.Endpoint(resp.httpResponse.headers['location']);\n this.httpRequest.headers['Host'] = this.httpRequest.endpoint.host;\n resp.error.redirect = true;\n resp.error.retryable = true;\n }\n });\n\n add('RETRY_CHECK', 'retry', function RETRY_CHECK(resp) {\n if (resp.error) {\n if (resp.error.redirect && resp.redirectCount < resp.maxRedirects) {\n resp.error.retryDelay = 0;\n } else if (resp.retryCount < resp.maxRetries) {\n resp.error.retryDelay = this.service.retryDelays(resp.retryCount, resp.error) || 0;\n }\n }\n });\n\n addAsync('RESET_RETRY_STATE', 'afterRetry', function RESET_RETRY_STATE(resp, done) {\n var delay, willRetry = false;\n\n if (resp.error) {\n delay = resp.error.retryDelay || 0;\n if (resp.error.retryable && resp.retryCount < resp.maxRetries) {\n resp.retryCount++;\n willRetry = true;\n } else if (resp.error.redirect && resp.redirectCount < resp.maxRedirects) {\n resp.redirectCount++;\n willRetry = true;\n }\n }\n\n // delay < 0 is a signal from customBackoff to skip retries\n if (willRetry && delay >= 0) {\n resp.error = null;\n setTimeout(done, delay);\n } else {\n done();\n }\n });\n }),\n\n CorePost: new SequentialExecutor().addNamedListeners(function(add) {\n add('EXTRACT_REQUEST_ID', 'extractData', AWS.util.extractRequestId);\n add('EXTRACT_REQUEST_ID', 'extractError', AWS.util.extractRequestId);\n\n add('ENOTFOUND_ERROR', 'httpError', function ENOTFOUND_ERROR(err) {\n function isDNSError(err) {\n return err.errno === 'ENOTFOUND' ||\n typeof err.errno === 'number' &&\n typeof AWS.util.getSystemErrorName === 'function' &&\n ['EAI_NONAME', 'EAI_NODATA'].indexOf(AWS.util.getSystemErrorName(err.errno) >= 0);\n }\n if (err.code === 'NetworkingError' && isDNSError(err)) {\n var message = 'Inaccessible host: `' + err.hostname +\n '\\'. This service may not be available in the `' + err.region +\n '\\' region.';\n this.response.error = AWS.util.error(new Error(message), {\n code: 'UnknownEndpoint',\n region: err.region,\n hostname: err.hostname,\n retryable: true,\n originalError: err\n });\n }\n });\n }),\n\n Logger: new SequentialExecutor().addNamedListeners(function(add) {\n add('LOG_REQUEST', 'complete', function LOG_REQUEST(resp) {\n var req = resp.request;\n var logger = req.service.config.logger;\n if (!logger) return;\n function filterSensitiveLog(inputShape, shape) {\n if (!shape) {\n return shape;\n }\n if (inputShape.isSensitive) {\n return '***SensitiveInformation***';\n }\n switch (inputShape.type) {\n case 'structure':\n var struct = {};\n AWS.util.each(shape, function(subShapeName, subShape) {\n if (Object.prototype.hasOwnProperty.call(inputShape.members, subShapeName)) {\n struct[subShapeName] = filterSensitiveLog(inputShape.members[subShapeName], subShape);\n } else {\n struct[subShapeName] = subShape;\n }\n });\n return struct;\n case 'list':\n var list = [];\n AWS.util.arrayEach(shape, function(subShape, index) {\n list.push(filterSensitiveLog(inputShape.member, subShape));\n });\n return list;\n case 'map':\n var map = {};\n AWS.util.each(shape, function(key, value) {\n map[key] = filterSensitiveLog(inputShape.value, value);\n });\n return map;\n default:\n return shape;\n }\n }\n\n function buildMessage() {\n var time = resp.request.service.getSkewCorrectedDate().getTime();\n var delta = (time - req.startTime.getTime()) / 1000;\n var ansi = logger.isTTY ? true : false;\n var status = resp.httpResponse.statusCode;\n var censoredParams = req.params;\n if (\n req.service.api.operations &&\n req.service.api.operations[req.operation] &&\n req.service.api.operations[req.operation].input\n ) {\n var inputShape = req.service.api.operations[req.operation].input;\n censoredParams = filterSensitiveLog(inputShape, req.params);\n }\n var params = require('util').inspect(censoredParams, true, null);\n var message = '';\n if (ansi) message += '\\x1B[33m';\n message += '[AWS ' + req.service.serviceIdentifier + ' ' + status;\n message += ' ' + delta.toString() + 's ' + resp.retryCount + ' retries]';\n if (ansi) message += '\\x1B[0;1m';\n message += ' ' + AWS.util.string.lowerFirst(req.operation);\n message += '(' + params + ')';\n if (ansi) message += '\\x1B[0m';\n return message;\n }\n\n var line = buildMessage();\n if (typeof logger.log === 'function') {\n logger.log(line);\n } else if (typeof logger.write === 'function') {\n logger.write(line + '\\n');\n }\n });\n }),\n\n Json: new SequentialExecutor().addNamedListeners(function(add) {\n var svc = require('./protocol/json');\n add('BUILD', 'build', svc.buildRequest);\n add('EXTRACT_DATA', 'extractData', svc.extractData);\n add('EXTRACT_ERROR', 'extractError', svc.extractError);\n }),\n\n Rest: new SequentialExecutor().addNamedListeners(function(add) {\n var svc = require('./protocol/rest');\n add('BUILD', 'build', svc.buildRequest);\n add('EXTRACT_DATA', 'extractData', svc.extractData);\n add('EXTRACT_ERROR', 'extractError', svc.extractError);\n }),\n\n RestJson: new SequentialExecutor().addNamedListeners(function(add) {\n var svc = require('./protocol/rest_json');\n add('BUILD', 'build', svc.buildRequest);\n add('EXTRACT_DATA', 'extractData', svc.extractData);\n add('EXTRACT_ERROR', 'extractError', svc.extractError);\n }),\n\n RestXml: new SequentialExecutor().addNamedListeners(function(add) {\n var svc = require('./protocol/rest_xml');\n add('BUILD', 'build', svc.buildRequest);\n add('EXTRACT_DATA', 'extractData', svc.extractData);\n add('EXTRACT_ERROR', 'extractError', svc.extractError);\n }),\n\n Query: new SequentialExecutor().addNamedListeners(function(add) {\n var svc = require('./protocol/query');\n add('BUILD', 'build', svc.buildRequest);\n add('EXTRACT_DATA', 'extractData', svc.extractData);\n add('EXTRACT_ERROR', 'extractError', svc.extractError);\n })\n};\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['cloudformation'] = {};\nAWS.CloudFormation = Service.defineService('cloudformation', ['2010-05-15']);\nObject.defineProperty(apiLoader.services['cloudformation'], '2010-05-15', {\n get: function get() {\n var model = require('../apis/cloudformation-2010-05-15.min.json');\n model.paginators = require('../apis/cloudformation-2010-05-15.paginators.json').pagination;\n model.waiters = require('../apis/cloudformation-2010-05-15.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CloudFormation;\n","var AWS = require('../core');\n\n/**\n * Creates a credential provider chain that searches for AWS credentials\n * in a list of credential providers specified by the {providers} property.\n *\n * By default, the chain will use the {defaultProviders} to resolve credentials.\n * These providers will look in the environment using the\n * {AWS.EnvironmentCredentials} class with the 'AWS' and 'AMAZON' prefixes.\n *\n * ## Setting Providers\n *\n * Each provider in the {providers} list should be a function that returns\n * a {AWS.Credentials} object, or a hardcoded credentials object. The function\n * form allows for delayed execution of the credential construction.\n *\n * ## Resolving Credentials from a Chain\n *\n * Call {resolve} to return the first valid credential object that can be\n * loaded by the provider chain.\n *\n * For example, to resolve a chain with a custom provider that checks a file\n * on disk after the set of {defaultProviders}:\n *\n * ```javascript\n * var diskProvider = new AWS.FileSystemCredentials('./creds.json');\n * var chain = new AWS.CredentialProviderChain();\n * chain.providers.push(diskProvider);\n * chain.resolve();\n * ```\n *\n * The above code will return the `diskProvider` object if the\n * file contains credentials and the `defaultProviders` do not contain\n * any credential settings.\n *\n * @!attribute providers\n * @return [Array]\n * a list of credentials objects or functions that return credentials\n * objects. If the provider is a function, the function will be\n * executed lazily when the provider needs to be checked for valid\n * credentials. By default, this object will be set to the\n * {defaultProviders}.\n * @see defaultProviders\n */\nAWS.CredentialProviderChain = AWS.util.inherit(AWS.Credentials, {\n\n /**\n * Creates a new CredentialProviderChain with a default set of providers\n * specified by {defaultProviders}.\n */\n constructor: function CredentialProviderChain(providers) {\n if (providers) {\n this.providers = providers;\n } else {\n this.providers = AWS.CredentialProviderChain.defaultProviders.slice(0);\n }\n this.resolveCallbacks = [];\n },\n\n /**\n * @!method resolvePromise()\n * Returns a 'thenable' promise.\n * Resolves the provider chain by searching for the first set of\n * credentials in {providers}.\n *\n * Two callbacks can be provided to the `then` method on the returned promise.\n * The first callback will be called if the promise is fulfilled, and the second\n * callback will be called if the promise is rejected.\n * @callback fulfilledCallback function(credentials)\n * Called if the promise is fulfilled and the provider resolves the chain\n * to a credentials object\n * @param credentials [AWS.Credentials] the credentials object resolved\n * by the provider chain.\n * @callback rejectedCallback function(error)\n * Called if the promise is rejected.\n * @param err [Error] the error object returned if no credentials are found.\n * @return [Promise] A promise that represents the state of the `resolve` method call.\n * @example Calling the `resolvePromise` method.\n * var promise = chain.resolvePromise();\n * promise.then(function(credentials) { ... }, function(err) { ... });\n */\n\n /**\n * Resolves the provider chain by searching for the first set of\n * credentials in {providers}.\n *\n * @callback callback function(err, credentials)\n * Called when the provider resolves the chain to a credentials object\n * or null if no credentials can be found.\n *\n * @param err [Error] the error object returned if no credentials are\n * found.\n * @param credentials [AWS.Credentials] the credentials object resolved\n * by the provider chain.\n * @return [AWS.CredentialProviderChain] the provider, for chaining.\n */\n resolve: function resolve(callback) {\n var self = this;\n if (self.providers.length === 0) {\n callback(new Error('No providers'));\n return self;\n }\n\n if (self.resolveCallbacks.push(callback) === 1) {\n var index = 0;\n var providers = self.providers.slice(0);\n\n function resolveNext(err, creds) {\n if ((!err && creds) || index === providers.length) {\n AWS.util.arrayEach(self.resolveCallbacks, function (callback) {\n callback(err, creds);\n });\n self.resolveCallbacks.length = 0;\n return;\n }\n\n var provider = providers[index++];\n if (typeof provider === 'function') {\n creds = provider.call();\n } else {\n creds = provider;\n }\n\n if (creds.get) {\n creds.get(function (getErr) {\n resolveNext(getErr, getErr ? null : creds);\n });\n } else {\n resolveNext(null, creds);\n }\n }\n\n resolveNext();\n }\n\n return self;\n }\n});\n\n/**\n * The default set of providers used by a vanilla CredentialProviderChain.\n *\n * In the browser:\n *\n * ```javascript\n * AWS.CredentialProviderChain.defaultProviders = []\n * ```\n *\n * In Node.js:\n *\n * ```javascript\n * AWS.CredentialProviderChain.defaultProviders = [\n * function () { return new AWS.EnvironmentCredentials('AWS'); },\n * function () { return new AWS.EnvironmentCredentials('AMAZON'); },\n * function () { return new AWS.SharedIniFileCredentials(); },\n * function () { return new AWS.ECSCredentials(); },\n * function () { return new AWS.ProcessCredentials(); },\n * function () { return new AWS.TokenFileWebIdentityCredentials(); },\n * function () { return new AWS.EC2MetadataCredentials() }\n * ]\n * ```\n */\nAWS.CredentialProviderChain.defaultProviders = [];\n\n/**\n * @api private\n */\nAWS.CredentialProviderChain.addPromisesToClass = function addPromisesToClass(PromiseDependency) {\n this.prototype.resolvePromise = AWS.util.promisifyMethod('resolve', PromiseDependency);\n};\n\n/**\n * @api private\n */\nAWS.CredentialProviderChain.deletePromisesFromClass = function deletePromisesFromClass() {\n delete this.prototype.resolvePromise;\n};\n\nAWS.util.addPromises(AWS.CredentialProviderChain);\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['acm'] = {};\nAWS.ACM = Service.defineService('acm', ['2015-12-08']);\nObject.defineProperty(apiLoader.services['acm'], '2015-12-08', {\n get: function get() {\n var model = require('../apis/acm-2015-12-08.min.json');\n model.paginators = require('../apis/acm-2015-12-08.paginators.json').pagination;\n model.waiters = require('../apis/acm-2015-12-08.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ACM;\n","var AWS = require('../core');\nvar STS = require('../../clients/sts');\n\n/**\n * Represents credentials retrieved from STS SAML support.\n *\n * By default this provider gets credentials using the\n * {AWS.STS.assumeRoleWithSAML} service operation. This operation\n * requires a `RoleArn` containing the ARN of the IAM trust policy for the\n * application for which credentials will be given, as well as a `PrincipalArn`\n * representing the ARN for the SAML identity provider. In addition, the\n * `SAMLAssertion` must be set to the token provided by the identity\n * provider. See {constructor} for an example on creating a credentials\n * object with proper `RoleArn`, `PrincipalArn`, and `SAMLAssertion` values.\n *\n * ## Refreshing Credentials from Identity Service\n *\n * In addition to AWS credentials expiring after a given amount of time, the\n * login token from the identity provider will also expire. Once this token\n * expires, it will not be usable to refresh AWS credentials, and another\n * token will be needed. The SDK does not manage refreshing of the token value,\n * but this can be done through a \"refresh token\" supported by most identity\n * providers. Consult the documentation for the identity provider for refreshing\n * tokens. Once the refreshed token is acquired, you should make sure to update\n * this new token in the credentials object's {params} property. The following\n * code will update the SAMLAssertion, assuming you have retrieved an updated\n * token from the identity provider:\n *\n * ```javascript\n * AWS.config.credentials.params.SAMLAssertion = updatedToken;\n * ```\n *\n * Future calls to `credentials.refresh()` will now use the new token.\n *\n * @!attribute params\n * @return [map] the map of params passed to\n * {AWS.STS.assumeRoleWithSAML}. To update the token, set the\n * `params.SAMLAssertion` property.\n */\nAWS.SAMLCredentials = AWS.util.inherit(AWS.Credentials, {\n /**\n * Creates a new credentials object.\n * @param (see AWS.STS.assumeRoleWithSAML)\n * @example Creating a new credentials object\n * AWS.config.credentials = new AWS.SAMLCredentials({\n * RoleArn: 'arn:aws:iam::1234567890:role/SAMLRole',\n * PrincipalArn: 'arn:aws:iam::1234567890:role/SAMLPrincipal',\n * SAMLAssertion: 'base64-token', // base64-encoded token from IdP\n * });\n * @see AWS.STS.assumeRoleWithSAML\n */\n constructor: function SAMLCredentials(params) {\n AWS.Credentials.call(this);\n this.expired = true;\n this.params = params;\n },\n\n /**\n * Refreshes credentials using {AWS.STS.assumeRoleWithSAML}\n *\n * @callback callback function(err)\n * Called when the STS service responds (or fails). When\n * this callback is called with no error, it means that the credentials\n * information has been loaded into the object (as the `accessKeyId`,\n * `secretAccessKey`, and `sessionToken` properties).\n * @param err [Error] if an error occurred, this value will be filled\n * @see get\n */\n refresh: function refresh(callback) {\n this.coalesceRefresh(callback || AWS.util.fn.callback);\n },\n\n /**\n * @api private\n */\n load: function load(callback) {\n var self = this;\n self.createClients();\n self.service.assumeRoleWithSAML(function (err, data) {\n if (!err) {\n self.service.credentialsFrom(data, self);\n }\n callback(err);\n });\n },\n\n /**\n * @api private\n */\n createClients: function() {\n this.service = this.service || new STS({params: this.params});\n }\n\n});\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['kinesisvideoarchivedmedia'] = {};\nAWS.KinesisVideoArchivedMedia = Service.defineService('kinesisvideoarchivedmedia', ['2017-09-30']);\nObject.defineProperty(apiLoader.services['kinesisvideoarchivedmedia'], '2017-09-30', {\n get: function get() {\n var model = require('../apis/kinesis-video-archived-media-2017-09-30.min.json');\n model.paginators = require('../apis/kinesis-video-archived-media-2017-09-30.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.KinesisVideoArchivedMedia;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['sns'] = {};\nAWS.SNS = Service.defineService('sns', ['2010-03-31']);\nObject.defineProperty(apiLoader.services['sns'], '2010-03-31', {\n get: function get() {\n var model = require('../apis/sns-2010-03-31.min.json');\n model.paginators = require('../apis/sns-2010-03-31.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.SNS;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['mturk'] = {};\nAWS.MTurk = Service.defineService('mturk', ['2017-01-17']);\nObject.defineProperty(apiLoader.services['mturk'], '2017-01-17', {\n get: function get() {\n var model = require('../apis/mturk-requester-2017-01-17.min.json');\n model.paginators = require('../apis/mturk-requester-2017-01-17.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.MTurk;\n","var AWS = require('../core');\n\n/**\n * @api private\n */\nvar service = null;\n\n/**\n * @api private\n */\nvar api = {\n signatureVersion: 'v4',\n signingName: 'rds-db',\n operations: {}\n};\n\n/**\n * @api private\n */\nvar requiredAuthTokenOptions = {\n region: 'string',\n hostname: 'string',\n port: 'number',\n username: 'string'\n};\n\n/**\n * A signer object can be used to generate an auth token to a database.\n */\nAWS.RDS.Signer = AWS.util.inherit({\n /**\n * Creates a signer object can be used to generate an auth token.\n *\n * @option options credentials [AWS.Credentials] the AWS credentials\n * to sign requests with. Uses the default credential provider chain\n * if not specified.\n * @option options hostname [String] the hostname of the database to connect to.\n * @option options port [Number] the port number the database is listening on.\n * @option options region [String] the region the database is located in.\n * @option options username [String] the username to login as.\n * @example Passing in options to constructor\n * var signer = new AWS.RDS.Signer({\n * credentials: new AWS.SharedIniFileCredentials({profile: 'default'}),\n * region: 'us-east-1',\n * hostname: 'db.us-east-1.rds.amazonaws.com',\n * port: 8000,\n * username: 'name'\n * });\n */\n constructor: function Signer(options) {\n this.options = options || {};\n },\n\n /**\n * @api private\n * Strips the protocol from a url.\n */\n convertUrlToAuthToken: function convertUrlToAuthToken(url) {\n // we are always using https as the protocol\n var protocol = 'https://';\n if (url.indexOf(protocol) === 0) {\n return url.substring(protocol.length);\n }\n },\n\n /**\n * @overload getAuthToken(options = {}, [callback])\n * Generate an auth token to a database.\n * @note You must ensure that you have static or previously resolved\n * credentials if you call this method synchronously (with no callback),\n * otherwise it may not properly sign the request. If you cannot guarantee\n * this (you are using an asynchronous credential provider, i.e., EC2\n * IAM roles), you should always call this method with an asynchronous\n * callback.\n *\n * @param options [map] The fields to use when generating an auth token.\n * Any options specified here will be merged on top of any options passed\n * to AWS.RDS.Signer:\n *\n * * **credentials** (AWS.Credentials) — the AWS credentials\n * to sign requests with. Uses the default credential provider chain\n * if not specified.\n * * **hostname** (String) — the hostname of the database to connect to.\n * * **port** (Number) — the port number the database is listening on.\n * * **region** (String) — the region the database is located in.\n * * **username** (String) — the username to login as.\n * @return [String] if called synchronously (with no callback), returns the\n * auth token.\n * @return [null] nothing is returned if a callback is provided.\n * @callback callback function (err, token)\n * If a callback is supplied, it is called when an auth token has been generated.\n * @param err [Error] the error object returned from the signer.\n * @param token [String] the auth token.\n *\n * @example Generating an auth token synchronously\n * var signer = new AWS.RDS.Signer({\n * // configure options\n * region: 'us-east-1',\n * username: 'default',\n * hostname: 'db.us-east-1.amazonaws.com',\n * port: 8000\n * });\n * var token = signer.getAuthToken({\n * // these options are merged with those defined when creating the signer, overriding in the case of a duplicate option\n * // credentials are not specified here or when creating the signer, so default credential provider will be used\n * username: 'test' // overriding username\n * });\n * @example Generating an auth token asynchronously\n * var signer = new AWS.RDS.Signer({\n * // configure options\n * region: 'us-east-1',\n * username: 'default',\n * hostname: 'db.us-east-1.amazonaws.com',\n * port: 8000\n * });\n * signer.getAuthToken({\n * // these options are merged with those defined when creating the signer, overriding in the case of a duplicate option\n * // credentials are not specified here or when creating the signer, so default credential provider will be used\n * username: 'test' // overriding username\n * }, function(err, token) {\n * if (err) {\n * // handle error\n * } else {\n * // use token\n * }\n * });\n *\n */\n getAuthToken: function getAuthToken(options, callback) {\n if (typeof options === 'function' && callback === undefined) {\n callback = options;\n options = {};\n }\n var self = this;\n var hasCallback = typeof callback === 'function';\n // merge options with existing options\n options = AWS.util.merge(this.options, options);\n // validate options\n var optionsValidation = this.validateAuthTokenOptions(options);\n if (optionsValidation !== true) {\n if (hasCallback) {\n return callback(optionsValidation, null);\n }\n throw optionsValidation;\n }\n\n // 15 minutes\n var expires = 900;\n // create service to generate a request from\n var serviceOptions = {\n region: options.region,\n endpoint: new AWS.Endpoint(options.hostname + ':' + options.port),\n paramValidation: false,\n signatureVersion: 'v4'\n };\n if (options.credentials) {\n serviceOptions.credentials = options.credentials;\n }\n service = new AWS.Service(serviceOptions);\n // ensure the SDK is using sigv4 signing (config is not enough)\n service.api = api;\n\n var request = service.makeRequest();\n // add listeners to request to properly build auth token\n this.modifyRequestForAuthToken(request, options);\n\n if (hasCallback) {\n request.presign(expires, function(err, url) {\n if (url) {\n url = self.convertUrlToAuthToken(url);\n }\n callback(err, url);\n });\n } else {\n var url = request.presign(expires);\n return this.convertUrlToAuthToken(url);\n }\n },\n\n /**\n * @api private\n * Modifies a request to allow the presigner to generate an auth token.\n */\n modifyRequestForAuthToken: function modifyRequestForAuthToken(request, options) {\n request.on('build', request.buildAsGet);\n var httpRequest = request.httpRequest;\n httpRequest.body = AWS.util.queryParamsToString({\n Action: 'connect',\n DBUser: options.username\n });\n },\n\n /**\n * @api private\n * Validates that the options passed in contain all the keys with values of the correct type that\n * are needed to generate an auth token.\n */\n validateAuthTokenOptions: function validateAuthTokenOptions(options) {\n // iterate over all keys in options\n var message = '';\n options = options || {};\n for (var key in requiredAuthTokenOptions) {\n if (!Object.prototype.hasOwnProperty.call(requiredAuthTokenOptions, key)) {\n continue;\n }\n if (typeof options[key] !== requiredAuthTokenOptions[key]) {\n message += 'option \\'' + key + '\\' should have been type \\'' + requiredAuthTokenOptions[key] + '\\', was \\'' + typeof options[key] + '\\'.\\n';\n }\n }\n if (message.length) {\n return AWS.util.error(new Error(), {\n code: 'InvalidParameter',\n message: message\n });\n }\n return true;\n }\n});\n","var util = require('../util');\nvar XmlNode = require('./xml-node').XmlNode;\nvar XmlText = require('./xml-text').XmlText;\n\nfunction XmlBuilder() { }\n\nXmlBuilder.prototype.toXML = function(params, shape, rootElement, noEmpty) {\n var xml = new XmlNode(rootElement);\n applyNamespaces(xml, shape, true);\n serialize(xml, params, shape);\n return xml.children.length > 0 || noEmpty ? xml.toString() : '';\n};\n\nfunction serialize(xml, value, shape) {\n switch (shape.type) {\n case 'structure': return serializeStructure(xml, value, shape);\n case 'map': return serializeMap(xml, value, shape);\n case 'list': return serializeList(xml, value, shape);\n default: return serializeScalar(xml, value, shape);\n }\n}\n\nfunction serializeStructure(xml, params, shape) {\n util.arrayEach(shape.memberNames, function(memberName) {\n var memberShape = shape.members[memberName];\n if (memberShape.location !== 'body') return;\n\n var value = params[memberName];\n var name = memberShape.name;\n if (value !== undefined && value !== null) {\n if (memberShape.isXmlAttribute) {\n xml.addAttribute(name, value);\n } else if (memberShape.flattened) {\n serialize(xml, value, memberShape);\n } else {\n var element = new XmlNode(name);\n xml.addChildNode(element);\n applyNamespaces(element, memberShape);\n serialize(element, value, memberShape);\n }\n }\n });\n}\n\nfunction serializeMap(xml, map, shape) {\n var xmlKey = shape.key.name || 'key';\n var xmlValue = shape.value.name || 'value';\n\n util.each(map, function(key, value) {\n var entry = new XmlNode(shape.flattened ? shape.name : 'entry');\n xml.addChildNode(entry);\n\n var entryKey = new XmlNode(xmlKey);\n var entryValue = new XmlNode(xmlValue);\n entry.addChildNode(entryKey);\n entry.addChildNode(entryValue);\n\n serialize(entryKey, key, shape.key);\n serialize(entryValue, value, shape.value);\n });\n}\n\nfunction serializeList(xml, list, shape) {\n if (shape.flattened) {\n util.arrayEach(list, function(value) {\n var name = shape.member.name || shape.name;\n var element = new XmlNode(name);\n xml.addChildNode(element);\n serialize(element, value, shape.member);\n });\n } else {\n util.arrayEach(list, function(value) {\n var name = shape.member.name || 'member';\n var element = new XmlNode(name);\n xml.addChildNode(element);\n serialize(element, value, shape.member);\n });\n }\n}\n\nfunction serializeScalar(xml, value, shape) {\n xml.addChildNode(\n new XmlText(shape.toWireFormat(value))\n );\n}\n\nfunction applyNamespaces(xml, shape, isRoot) {\n var uri, prefix = 'xmlns';\n if (shape.xmlNamespaceUri) {\n uri = shape.xmlNamespaceUri;\n if (shape.xmlNamespacePrefix) prefix += ':' + shape.xmlNamespacePrefix;\n } else if (isRoot && shape.api.xmlNamespaceUri) {\n uri = shape.api.xmlNamespaceUri;\n }\n\n if (uri) xml.addAttribute(prefix, uri);\n}\n\n/**\n * @api private\n */\nmodule.exports = XmlBuilder;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['cloudwatch'] = {};\nAWS.CloudWatch = Service.defineService('cloudwatch', ['2010-08-01']);\nObject.defineProperty(apiLoader.services['cloudwatch'], '2010-08-01', {\n get: function get() {\n var model = require('../apis/monitoring-2010-08-01.min.json');\n model.paginators = require('../apis/monitoring-2010-08-01.paginators.json').pagination;\n model.waiters = require('../apis/monitoring-2010-08-01.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CloudWatch;\n","var Buffer = require('buffer/').Buffer;\nvar hashUtils = require('./browserHashUtils');\n\nvar BLOCK_SIZE = 64;\n\nvar DIGEST_LENGTH = 20;\n\nvar KEY = new Uint32Array([\n 0x5a827999,\n 0x6ed9eba1,\n 0x8f1bbcdc | 0,\n 0xca62c1d6 | 0\n]);\n\nvar INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19,\n];\n\nvar MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\n\n/**\n * @api private\n */\nfunction Sha1() {\n this.h0 = 0x67452301;\n this.h1 = 0xEFCDAB89;\n this.h2 = 0x98BADCFE;\n this.h3 = 0x10325476;\n this.h4 = 0xC3D2E1F0;\n // The first 64 bytes (16 words) is the data chunk\n this.block = new Uint32Array(80);\n this.offset = 0;\n this.shift = 24;\n this.totalLength = 0;\n}\n\n/**\n * @api private\n */\nmodule.exports = exports = Sha1;\n\nSha1.BLOCK_SIZE = BLOCK_SIZE;\n\nSha1.prototype.update = function (data) {\n if (this.finished) {\n throw new Error('Attempted to update an already finished hash.');\n }\n\n if (hashUtils.isEmptyData(data)) {\n return this;\n }\n\n data = hashUtils.convertToBuffer(data);\n\n var length = data.length;\n this.totalLength += length * 8;\n for (var i = 0; i < length; i++) {\n this.write(data[i]);\n }\n\n return this;\n};\n\nSha1.prototype.write = function write(byte) {\n this.block[this.offset] |= (byte & 0xff) << this.shift;\n if (this.shift) {\n this.shift -= 8;\n } else {\n this.offset++;\n this.shift = 24;\n }\n\n if (this.offset === 16) this.processBlock();\n};\n\nSha1.prototype.digest = function (encoding) {\n // Pad\n this.write(0x80);\n if (this.offset > 14 || (this.offset === 14 && this.shift < 24)) {\n this.processBlock();\n }\n this.offset = 14;\n this.shift = 24;\n\n // 64-bit length big-endian\n this.write(0x00); // numbers this big aren't accurate in javascript anyway\n this.write(0x00); // ..So just hard-code to zero.\n this.write(this.totalLength > 0xffffffffff ? this.totalLength / 0x10000000000 : 0x00);\n this.write(this.totalLength > 0xffffffff ? this.totalLength / 0x100000000 : 0x00);\n for (var s = 24; s >= 0; s -= 8) {\n this.write(this.totalLength >> s);\n }\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n var out = new Buffer(DIGEST_LENGTH);\n var outView = new DataView(out.buffer);\n outView.setUint32(0, this.h0, false);\n outView.setUint32(4, this.h1, false);\n outView.setUint32(8, this.h2, false);\n outView.setUint32(12, this.h3, false);\n outView.setUint32(16, this.h4, false);\n\n return encoding ? out.toString(encoding) : out;\n};\n\nSha1.prototype.processBlock = function processBlock() {\n // Extend the sixteen 32-bit words into eighty 32-bit words:\n for (var i = 16; i < 80; i++) {\n var w = this.block[i - 3] ^ this.block[i - 8] ^ this.block[i - 14] ^ this.block[i - 16];\n this.block[i] = (w << 1) | (w >>> 31);\n }\n\n // Initialize hash value for this chunk:\n var a = this.h0;\n var b = this.h1;\n var c = this.h2;\n var d = this.h3;\n var e = this.h4;\n var f, k;\n\n // Main loop:\n for (i = 0; i < 80; i++) {\n if (i < 20) {\n f = d ^ (b & (c ^ d));\n k = 0x5A827999;\n }\n else if (i < 40) {\n f = b ^ c ^ d;\n k = 0x6ED9EBA1;\n }\n else if (i < 60) {\n f = (b & c) | (d & (b | c));\n k = 0x8F1BBCDC;\n }\n else {\n f = b ^ c ^ d;\n k = 0xCA62C1D6;\n }\n var temp = (a << 5 | a >>> 27) + f + e + k + (this.block[i]|0);\n e = d;\n d = c;\n c = (b << 30 | b >>> 2);\n b = a;\n a = temp;\n }\n\n // Add this chunk's hash to result so far:\n this.h0 = (this.h0 + a) | 0;\n this.h1 = (this.h1 + b) | 0;\n this.h2 = (this.h2 + c) | 0;\n this.h3 = (this.h3 + d) | 0;\n this.h4 = (this.h4 + e) | 0;\n\n // The block is now reusable.\n this.offset = 0;\n for (i = 0; i < 16; i++) {\n this.block[i] = 0;\n }\n};\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/broofa/node-uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['forecastqueryservice'] = {};\nAWS.ForecastQueryService = Service.defineService('forecastqueryservice', ['2018-06-26']);\nObject.defineProperty(apiLoader.services['forecastqueryservice'], '2018-06-26', {\n get: function get() {\n var model = require('../apis/forecastquery-2018-06-26.min.json');\n model.paginators = require('../apis/forecastquery-2018-06-26.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ForecastQueryService;\n","import store from \"@/store\";\nlet lang = localStorage.getItem(\"language\");\nlet translate = {\n pt: {\n required: \"Campo obrigatório\",\n phoneCounter: \"Digite um número válido (DDD + Número)\",\n phoneCounterEdit: \"Digite um número válido (DDD + Número)\",\n phoneMaxRange: \"Digite um númedo válido!\",\n birthdate: \"Proibido menores de 18 anos!\",\n passMin: \"Mínimo 8 caracteres contendo letras e números\",\n passRule: \"Sua senha deve conter 8 caracteres contendo letras e números\",\n passCaracter: \"Obrigatório ter ao menos letras e números\",\n max: \"Você atingiu o máximo de 50 caracteres\",\n max5: \"Você atingiu o máximo de 5 caracteres\",\n max8: \"Você atingiu o máximo de 8 caracteres\",\n max10: \"Você atingiu o máximo de 10 caracteres\",\n max12: \"Você atingiu o máximo de 12 caracteres\",\n max20: \"Você atingiu o máximo de 20 caracteres\",\n docMax: \"Você atingiu o máximo de 50 caracteres\",\n docMaxEdit: \"O documento CPF deve conter 14 caracteres\",\n nameValid: \"Digite Nome e Sobrenome\",\n validateCPF: \"CPF Inválido\",\n validEmail: \"Digite um email válido.\",\n usernameMax: \"Digite no mínimo 5 caracteres\",\n usernameAz09: \"Digite um login válido\",\n emailAlreadyRegistered: \"E mail já cadastrado no sistema\",\n loginAlreadyRegistered: \"Login já cadastrado no sistema\",\n selectRequired: \"Campo obrigatório\",\n negativeNo: \"Insira um valor válido.\",\n urlNo: \"Insira uma url válido.\",\n noSpacesAreAllowed: \"Não são permitidos espaços\",\n minDeposit: \"O valor mínimo para depósitos é\",\n maxPercentage100: \"O máximo de valor para a porcentagem do prêmio é 100.\",\n maxPercentageFeeValue: \"A taxa vai de 0 à 99. Use números inteiros\",\n minOddValue: \"O valor mínimo da odd é 1.01.\",\n maxOddValue: \"O valor máximo da odd é 99.\",\n maxValue: \"Valor não pode ser maior que 100%\",\n maxValueCommission: \"Valor não pode ser maior que 999.99\",\n maxQuantityTokens:\n \"A quantidade de tokens deve ser de 1 até o máximo de 5000\",\n minRounds: \"As rodadas precisam ser no mínimo 1.\",\n maxRounds: \"As rodadas precisam ser no máximo 100.\",\n atLeastTwoChars: \"Nome do time muito curto.\",\n minDaysToExpire: \"O mínimo de dias para expirar é 1.\",\n max30DaysToExpire: \"O máximo para dias de expiração é 30.\",\n minDepositBondMultiplier: \"O multiplicador mínimo de vínculo depósito é 1.\",\n maxDepositBondMultiplier: \"O multiplicador máximo de vínculo depósito é 100.\",\n min3Char: \"Digite no mínimo 3 caracteres\",\n specialCharactersAreNotAllowed: \"Caracteres especiais não são permitidos\",\n },\n en: {\n required: \"Required field\",\n phoneCounter: \"Please enter a valid number (DDD + Number)\",\n phoneCounterEdit: \"Please enter a valid number (DDD + Number)\",\n phoneMaxRange: \"Please enter a valid number!\",\n birthdate: \"No children under 18!\",\n passMin: \"Minimum 8 characters containing letters and numbers\",\n passRule:\n \"Your password must contain 8 characters containing letters and numbers\",\n passCaracter: \"Must have at least letters and numbers\",\n max: \"You reached the maximum of 50 characters\",\n max5: \"You reached the maximum of 5 characters\",\n max8: \"You reached the maximum of 8 characters\",\n max10: \"You reached the maximum of 10 characters\",\n max12: \"You reached the maximum of 12 characters\",\n max20: \"You reached the maximum of 20 characters\",\n docMax: \"You reached the maximum of 50 characters\",\n docMaxEdit: \"The CPF document must contain 14 characters\",\n nameValid: \"Enter First and Last Name\",\n validateCPF: \"Invalid CPF\",\n validEmail: \"Please enter a valid email.\",\n usernameMax: \"Please enter at least 5 characters\",\n usernameAz09: \"Please enter a valid login\",\n emailAlreadyRegistered: \"Email already registered in the system\",\n loginAlreadyRegistered: \"Login already registered in the system\",\n selectRequired: \"Required field\",\n negativeNo: \"Please enter a valid value.\",\n urlNo: \"Please enter a valid URL.\",\n noSpacesAreAllowed: \"No spaces allowed\",\n minDeposit: \"The minimum value for deposit is\",\n maxPercentage100: \"The maximum value for the prize percentage is 100.\",\n maxPercentageFeeValue: \"The fee ranges from 0 to 99. Use integer numbers\",\n minOddValue: \"The minimum value for the odd is 1.01.\",\n maxOddValue: \"The maximum value for the odd is 99.\",\n maxValue: \"The value cannot be greater than 100%\",\n maxValueCommission: \"Value cannot be greater than 999.99\",\n maxQuantityTokens:\n \"The number of tokens must be from 1 to a maximum of 5000\",\n minRounds: \"Rounds must be at least 1.\",\n maxRounds: \"Rounds must be a maximum of 100.\",\n atLeastTwoChars: \"Team name is very short.\",\n minDaysToExpire: \"The minimum days to expire is 1.\",\n max30DaysToExpire: \"The maximum days to expire is 30.\",\n minDepositBondMultiplier: \"The minimum deposit bond multiplier is 1.\",\n maxDepositBondMultiplier: \"The maximum deposit bond multiplier is 100.\",\n min3Char: \"Enter no minimum 3 characters\",\n specialCharactersAreNotAllowed: \"Special characters are not allowed\",\n },\n es: {\n required: \"Campo obligatorio\",\n phoneCounter: \"Introduzca un número válido (DDD + Número)\",\n phoneCounterEdit: \"Introduzca un número válido (DDD + Número)\",\n phoneMaxRange: \"¡Ingrese un número válido!\",\n birthdate: \"¡No se admiten niños menores de 18 años!\",\n passMin: \"Mínimo 8 caracteres que contienen letras y números\",\n passRule:\n \"Su contraseña debe contener 8 caracteres que contengan letras y números\",\n passCaracter: \"Debe tener al menos letras y números\",\n max: \"Has alcanzado el máximo de 50 caracteres\",\n max5: \"Has alcanzado el máximo de 5 caracteres\",\n max8: \"Has alcanzado el máximo de 8 caracteres\",\n max10: \"Has alcanzado el máximo de 10 caracteres\",\n max12: \"Has alcanzado el máximo de 12 caracteres\",\n max20: \"Has alcanzado el máximo de 20 caracteres\",\n docMax: \"Has alcanzado el máximo de 50 caracteres\",\n docMaxEdit: \"El documento CPF debe contener 14 caracteres\",\n nameValid: \"Ingrese nombre y apellido\",\n validateCPF: \"CPF no válido\",\n validEmail: \"Ingrese un correo electrónico válido.\",\n usernameMax: \"Por favor ingrese al menos 5 caracteres\",\n usernameAz09: \"Introduzca un nombre de usuario válido\",\n emailAlreadyRegistered: \"Correo electrónico ya registrado en el sistema\",\n loginAlreadyRegistered: \"Inicio de sesión ya registrado en el sistema\",\n selectRequired: \"Campo obligatorio\",\n negativeNo: \"Ingrese un valor válido.\",\n urlNo: \"Ingrese un valor URL.\",\n noSpacesAreAllowed: \"No se permiten espacios\",\n minDeposit: \"El valor mínimo para los depósitos es\",\n maxPercentage100: \"El valor máximo para el porcentaje del premio es 100.\",\n maxPercentageFeeValue: \"El valor máximo de la tarifa es 99\",\n minOddValue: \"El valor mínimo para a odd es 1.01.\",\n maxOddValue: \"El valor maximo para a odd es 99.\",\n maxQuantityTokens: \"El número de fichas debe ser de 1 a un máximo de 5000\",\n maxValue: \"The value cannot be greater than 100%\",\n maxValueCommission: \"El valor no puede ser mayor que 999.99\",\n minRounds: \"Las rondas deben ser al menos 1.\",\n maxRounds: \"Las rondas deben ser un máximo de 100.\",\n atLeastTwoChars: \"Nombre del equipo demasiado corto.\",\n minDaysToExpire: \"El mínimo de días para caducar es 1.\",\n max30DaysToExpire: \"El valor maximo para dias de expiracion es 30.\",\n minDepositBondMultiplier:\n \"El multiplicador mínimo del vínculo de depósito es 1.\",\n maxDepositBondMultiplier:\n \"El multiplicador máximo del vínculo de depósito es 100.\",\n min3Char: \"Digite no mínimo 3 caracteres\",\n specialCharactersAreNotAllowed: \"No se admiten caracteres especiales\",\n },\n};\n\nconst validate = {\n required: (value) => !!value || translate[lang].required,\n requiredAutocomplete: (v) => !!(v && v.length) || translate[lang].required,\n max: (value) => (value && value.length <= 50) || translate[lang].max,\n maxValue: (value) => (value && value <= 100) || translate[lang].maxValue,\n maxValueCommission: (value) =>\n (value && value <= 999.99) || translate[lang].maxValueCommission,\n max20: (value) => (value && value.length <= 20) || translate[lang].max20,\n docMax: (value) => (value && value.length === 14) || translate[lang].docMax,\n docMaxEdit: (value) =>\n (value && value.length === 11) || translate[lang].docMaxEdit,\n nameValid: (value) => {\n return /[A-z]{2} [A-z]{2}/.test(value) || translate[lang].nameValid;\n },\n phoneCounter: (value) =>\n (value && value.length >= 15 && value && value.length <= 16) ||\n translate[lang].phoneCounter,\n phoneCounterEdit: (value) =>\n (value && value.length === 11) || translate[lang].phoneCounterEdit,\n phoneMaxRange: (value) =>\n (value && value.length > 11 && value && value.length >= 12) ||\n translate[lang].phoneMaxRange,\n birthdate: (value) => {\n const cond = !!value;\n if (cond) {\n let date = value.split(\"-\");\n let day = date[0];\n let month = date[1];\n let year = date[2];\n let ageYear = parseInt(year) + 18;\n let setDate = new Date(ageYear, month - 1, day);\n let currdate = new Date();\n if (currdate <= setDate) {\n return translate[lang].birthdate;\n } else {\n return true;\n }\n } else {\n return translate[lang].required;\n }\n },\n passMin: (value) => (value && value.length >= 8) || translate[lang].passMin,\n passRule: (value) => (value && value.length == 8) || translate[lang].passRule,\n passCaracter: (value) => {\n return (\n (/^[A-Za-z0-9\\d=!\\-@._*]*$/.test(value) &&\n /[a-z]/.test(value) &&\n /\\d/.test(value)) ||\n translate[lang].passCaracter\n );\n },\n validEmail: (value) => {\n if (value == \"\" || value == null) {\n return true;\n } else {\n return (\n /^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n value\n ) || translate[lang].validEmail\n );\n }\n },\n usernameMax: (v) => (v && v.length >= 5) || translate[lang].usernameMax,\n usernameAz09: (v) => {\n return (\n (/^[A-Za-z0-9\\d=!\\-@$._*]*$/.test(v) && /[a-z]/.test(v)) ||\n translate[lang].usernameAz09\n );\n },\n username: (v) => {\n return /^[A-Za-z0-9\\d=!\\-@$._*]*$/.test(v) || translate[lang].username;\n },\n selectRequired: (v) => {\n if (!v || v.length < 1) {\n return translate[lang].selectRequired;\n } else {\n return true;\n }\n },\n negativeNo: (v) => v >= 0 || translate[lang].negativeNo,\n url: (v) => {\n /* eslint-disable */\n var r = new RegExp(\n /[(http(s)?):\\/\\/(www\\.)?a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/\n );\n // var r = new RegExp(/^(ftp|http|https):\\/\\/[^ \"]+$/);\n /* eslint-enable */\n return r.test(v) || translate[lang].urlNo;\n },\n noSpacesAreAllowed: (v) =>\n (v || \"\").indexOf(\" \") < 0 || translate[lang].noSpacesAreAllowed,\n max50Characters: (v) => {\n if (v && v !== \"\") {\n return v.length <= 50 || translate[lang].max;\n }\n return true;\n },\n max100Value: (v) => {\n if (v && v !== \"\") {\n return v <= 100 || translate[lang].maxValue;\n }\n return true;\n },\n max999Value: (v) => {\n if (v && v !== \"\") {\n return v <= 999.99 || translate[lang].maxValueCommission;\n }\n return true;\n },\n max10Characters: (v) => {\n if (!v) {\n return true;\n }\n return v.length <= 10 || translate[lang].max10;\n },\n max12Characters: (v) => {\n if (!v) return true;\n\n return v.length <= 12 || translate[lang].max12;\n },\n max5Characters: (v) => {\n if (!v) {\n return true;\n }\n\n return v.length <= 5 || translate[lang].max5;\n },\n max8Characters: (v) => {\n if (!v) {\n return true;\n }\n\n return v.length <= 8 || translate[lang].max8;\n },\n minDepositRule: (v) => {\n if (!v || parseFloat(v) >= parseFloat(store.state.operator.deposit_min)) {\n return true;\n }\n\n return `${translate[lang].minDeposit} R$ ${store.state.operator.deposit_min}.`;\n },\n max100: (v) => v <= 100 || translate[lang].maxPercentage100,\n max99FeeValue: (v) => v <= 99 || translate[lang].maxPercentageFeeValue,\n minOddValue: (value) =>\n (value && value >= 1.01) || translate[lang].minOddValue,\n minFixedOddValue: (value) => {\n if (value) {\n value = value.replace(\",\", \".\");\n }\n return (value && value >= 1.01) || !value || translate[lang].minOddValue;\n },\n maxFixedOddValue: (value) => {\n if (value) {\n value = value.replace(\",\", \".\");\n }\n return (value && value <= 99) || !value || translate[lang].maxOddValue;\n },\n maxOddValue: (value) => (value && value <= 99) || translate[lang].maxOddValue,\n maxQuantityTokens: (value) =>\n (value && value <= 5000 && value > 0) || translate[lang].maxQuantityTokens,\n minRounds: (value) => (value && value >= 1) || translate[lang].minRounds,\n maxRounds: (value) => (value && value <= 100) || translate[lang].maxRounds,\n atLeastTwoChars: (value) =>\n (value && value.length >= 2) || translate[lang].atLeastTwoChars,\n minDaysToExpire: (v) => v > 0 || translate[lang].minDaysToExpire,\n max30DaysToExpire: (v) => v <= 30 || translate[lang].max30DaysToExpire,\n notEmpty: (v) => /(.|\\s)*\\S(.|\\s)*/.test(v) || translate[lang].required,\n\n minDepositBondMultiplier: (v) =>\n v >= 1 || translate[lang].minDepositBondMultiplier,\n maxDepositBondMultiplier: (v) =>\n v <= 100 || translate[lang].maxDepositBondMultiplier,\n min3Characters: (v) => {\n if (!v) return true;\n\n return v.length >= 3 || translate[lang].min3Char;\n },\n\n noSpecialCharactersAllowed: (v) => !/[^\\w\\s]/.test(v) || translate[lang].specialCharactersAreNotAllowed\n\n};\nexport { validate };\n","var hashUtils = require('./browserHashUtils');\nvar Buffer = require('buffer/').Buffer;\n\nvar BLOCK_SIZE = 64;\n\nvar DIGEST_LENGTH = 16;\n\nvar INIT = [\n 0x67452301,\n 0xefcdab89,\n 0x98badcfe,\n 0x10325476,\n];\n\n/**\n * @api private\n */\nfunction Md5() {\n this.state = [\n 0x67452301,\n 0xefcdab89,\n 0x98badcfe,\n 0x10325476,\n ];\n this.buffer = new DataView(new ArrayBuffer(BLOCK_SIZE));\n this.bufferLength = 0;\n this.bytesHashed = 0;\n this.finished = false;\n}\n\n/**\n * @api private\n */\nmodule.exports = exports = Md5;\n\nMd5.BLOCK_SIZE = BLOCK_SIZE;\n\nMd5.prototype.update = function (sourceData) {\n if (hashUtils.isEmptyData(sourceData)) {\n return this;\n } else if (this.finished) {\n throw new Error('Attempted to update an already finished hash.');\n }\n\n var data = hashUtils.convertToBuffer(sourceData);\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n while (byteLength > 0) {\n this.buffer.setUint8(this.bufferLength++, data[position++]);\n byteLength--;\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n\n return this;\n};\n\nMd5.prototype.digest = function (encoding) {\n if (!this.finished) {\n var _a = this, buffer = _a.buffer, undecoratedLength = _a.bufferLength, bytesHashed = _a.bytesHashed;\n var bitsHashed = bytesHashed * 8;\n buffer.setUint8(this.bufferLength++, 128);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (var i = this.bufferLength; i < BLOCK_SIZE; i++) {\n buffer.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (var i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n buffer.setUint8(i, 0);\n }\n buffer.setUint32(BLOCK_SIZE - 8, bitsHashed >>> 0, true);\n buffer.setUint32(BLOCK_SIZE - 4, Math.floor(bitsHashed / 0x100000000), true);\n this.hashBuffer();\n this.finished = true;\n }\n var out = new DataView(new ArrayBuffer(DIGEST_LENGTH));\n for (var i = 0; i < 4; i++) {\n out.setUint32(i * 4, this.state[i], true);\n }\n var buff = new Buffer(out.buffer, out.byteOffset, out.byteLength);\n return encoding ? buff.toString(encoding) : buff;\n};\n\nMd5.prototype.hashBuffer = function () {\n var _a = this, buffer = _a.buffer, state = _a.state;\n var a = state[0], b = state[1], c = state[2], d = state[3];\n a = ff(a, b, c, d, buffer.getUint32(0, true), 7, 0xd76aa478);\n d = ff(d, a, b, c, buffer.getUint32(4, true), 12, 0xe8c7b756);\n c = ff(c, d, a, b, buffer.getUint32(8, true), 17, 0x242070db);\n b = ff(b, c, d, a, buffer.getUint32(12, true), 22, 0xc1bdceee);\n a = ff(a, b, c, d, buffer.getUint32(16, true), 7, 0xf57c0faf);\n d = ff(d, a, b, c, buffer.getUint32(20, true), 12, 0x4787c62a);\n c = ff(c, d, a, b, buffer.getUint32(24, true), 17, 0xa8304613);\n b = ff(b, c, d, a, buffer.getUint32(28, true), 22, 0xfd469501);\n a = ff(a, b, c, d, buffer.getUint32(32, true), 7, 0x698098d8);\n d = ff(d, a, b, c, buffer.getUint32(36, true), 12, 0x8b44f7af);\n c = ff(c, d, a, b, buffer.getUint32(40, true), 17, 0xffff5bb1);\n b = ff(b, c, d, a, buffer.getUint32(44, true), 22, 0x895cd7be);\n a = ff(a, b, c, d, buffer.getUint32(48, true), 7, 0x6b901122);\n d = ff(d, a, b, c, buffer.getUint32(52, true), 12, 0xfd987193);\n c = ff(c, d, a, b, buffer.getUint32(56, true), 17, 0xa679438e);\n b = ff(b, c, d, a, buffer.getUint32(60, true), 22, 0x49b40821);\n a = gg(a, b, c, d, buffer.getUint32(4, true), 5, 0xf61e2562);\n d = gg(d, a, b, c, buffer.getUint32(24, true), 9, 0xc040b340);\n c = gg(c, d, a, b, buffer.getUint32(44, true), 14, 0x265e5a51);\n b = gg(b, c, d, a, buffer.getUint32(0, true), 20, 0xe9b6c7aa);\n a = gg(a, b, c, d, buffer.getUint32(20, true), 5, 0xd62f105d);\n d = gg(d, a, b, c, buffer.getUint32(40, true), 9, 0x02441453);\n c = gg(c, d, a, b, buffer.getUint32(60, true), 14, 0xd8a1e681);\n b = gg(b, c, d, a, buffer.getUint32(16, true), 20, 0xe7d3fbc8);\n a = gg(a, b, c, d, buffer.getUint32(36, true), 5, 0x21e1cde6);\n d = gg(d, a, b, c, buffer.getUint32(56, true), 9, 0xc33707d6);\n c = gg(c, d, a, b, buffer.getUint32(12, true), 14, 0xf4d50d87);\n b = gg(b, c, d, a, buffer.getUint32(32, true), 20, 0x455a14ed);\n a = gg(a, b, c, d, buffer.getUint32(52, true), 5, 0xa9e3e905);\n d = gg(d, a, b, c, buffer.getUint32(8, true), 9, 0xfcefa3f8);\n c = gg(c, d, a, b, buffer.getUint32(28, true), 14, 0x676f02d9);\n b = gg(b, c, d, a, buffer.getUint32(48, true), 20, 0x8d2a4c8a);\n a = hh(a, b, c, d, buffer.getUint32(20, true), 4, 0xfffa3942);\n d = hh(d, a, b, c, buffer.getUint32(32, true), 11, 0x8771f681);\n c = hh(c, d, a, b, buffer.getUint32(44, true), 16, 0x6d9d6122);\n b = hh(b, c, d, a, buffer.getUint32(56, true), 23, 0xfde5380c);\n a = hh(a, b, c, d, buffer.getUint32(4, true), 4, 0xa4beea44);\n d = hh(d, a, b, c, buffer.getUint32(16, true), 11, 0x4bdecfa9);\n c = hh(c, d, a, b, buffer.getUint32(28, true), 16, 0xf6bb4b60);\n b = hh(b, c, d, a, buffer.getUint32(40, true), 23, 0xbebfbc70);\n a = hh(a, b, c, d, buffer.getUint32(52, true), 4, 0x289b7ec6);\n d = hh(d, a, b, c, buffer.getUint32(0, true), 11, 0xeaa127fa);\n c = hh(c, d, a, b, buffer.getUint32(12, true), 16, 0xd4ef3085);\n b = hh(b, c, d, a, buffer.getUint32(24, true), 23, 0x04881d05);\n a = hh(a, b, c, d, buffer.getUint32(36, true), 4, 0xd9d4d039);\n d = hh(d, a, b, c, buffer.getUint32(48, true), 11, 0xe6db99e5);\n c = hh(c, d, a, b, buffer.getUint32(60, true), 16, 0x1fa27cf8);\n b = hh(b, c, d, a, buffer.getUint32(8, true), 23, 0xc4ac5665);\n a = ii(a, b, c, d, buffer.getUint32(0, true), 6, 0xf4292244);\n d = ii(d, a, b, c, buffer.getUint32(28, true), 10, 0x432aff97);\n c = ii(c, d, a, b, buffer.getUint32(56, true), 15, 0xab9423a7);\n b = ii(b, c, d, a, buffer.getUint32(20, true), 21, 0xfc93a039);\n a = ii(a, b, c, d, buffer.getUint32(48, true), 6, 0x655b59c3);\n d = ii(d, a, b, c, buffer.getUint32(12, true), 10, 0x8f0ccc92);\n c = ii(c, d, a, b, buffer.getUint32(40, true), 15, 0xffeff47d);\n b = ii(b, c, d, a, buffer.getUint32(4, true), 21, 0x85845dd1);\n a = ii(a, b, c, d, buffer.getUint32(32, true), 6, 0x6fa87e4f);\n d = ii(d, a, b, c, buffer.getUint32(60, true), 10, 0xfe2ce6e0);\n c = ii(c, d, a, b, buffer.getUint32(24, true), 15, 0xa3014314);\n b = ii(b, c, d, a, buffer.getUint32(52, true), 21, 0x4e0811a1);\n a = ii(a, b, c, d, buffer.getUint32(16, true), 6, 0xf7537e82);\n d = ii(d, a, b, c, buffer.getUint32(44, true), 10, 0xbd3af235);\n c = ii(c, d, a, b, buffer.getUint32(8, true), 15, 0x2ad7d2bb);\n b = ii(b, c, d, a, buffer.getUint32(36, true), 21, 0xeb86d391);\n state[0] = (a + state[0]) & 0xFFFFFFFF;\n state[1] = (b + state[1]) & 0xFFFFFFFF;\n state[2] = (c + state[2]) & 0xFFFFFFFF;\n state[3] = (d + state[3]) & 0xFFFFFFFF;\n};\n\nfunction cmn(q, a, b, x, s, t) {\n a = (((a + q) & 0xFFFFFFFF) + ((x + t) & 0xFFFFFFFF)) & 0xFFFFFFFF;\n return (((a << s) | (a >>> (32 - s))) + b) & 0xFFFFFFFF;\n}\n\nfunction ff(a, b, c, d, x, s, t) {\n return cmn((b & c) | ((~b) & d), a, b, x, s, t);\n}\n\nfunction gg(a, b, c, d, x, s, t) {\n return cmn((b & d) | (c & (~d)), a, b, x, s, t);\n}\n\nfunction hh(a, b, c, d, x, s, t) {\n return cmn(b ^ c ^ d, a, b, x, s, t);\n}\n\nfunction ii(a, b, c, d, x, s, t) {\n return cmn(c ^ (b | (~d)), a, b, x, s, t);\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","var AWS = require('../core');\nvar resolveRegionalEndpointsFlag = require('../config_regional_endpoint');\nvar ENV_REGIONAL_ENDPOINT_ENABLED = 'AWS_STS_REGIONAL_ENDPOINTS';\nvar CONFIG_REGIONAL_ENDPOINT_ENABLED = 'sts_regional_endpoints';\n\nAWS.util.update(AWS.STS.prototype, {\n /**\n * @overload credentialsFrom(data, credentials = null)\n * Creates a credentials object from STS response data containing\n * credentials information. Useful for quickly setting AWS credentials.\n *\n * @note This is a low-level utility function. If you want to load temporary\n * credentials into your process for subsequent requests to AWS resources,\n * you should use {AWS.TemporaryCredentials} instead.\n * @param data [map] data retrieved from a call to {getFederatedToken},\n * {getSessionToken}, {assumeRole}, or {assumeRoleWithWebIdentity}.\n * @param credentials [AWS.Credentials] an optional credentials object to\n * fill instead of creating a new object. Useful when modifying an\n * existing credentials object from a refresh call.\n * @return [AWS.TemporaryCredentials] the set of temporary credentials\n * loaded from a raw STS operation response.\n * @example Using credentialsFrom to load global AWS credentials\n * var sts = new AWS.STS();\n * sts.getSessionToken(function (err, data) {\n * if (err) console.log(\"Error getting credentials\");\n * else {\n * AWS.config.credentials = sts.credentialsFrom(data);\n * }\n * });\n * @see AWS.TemporaryCredentials\n */\n credentialsFrom: function credentialsFrom(data, credentials) {\n if (!data) return null;\n if (!credentials) credentials = new AWS.TemporaryCredentials();\n credentials.expired = false;\n credentials.accessKeyId = data.Credentials.AccessKeyId;\n credentials.secretAccessKey = data.Credentials.SecretAccessKey;\n credentials.sessionToken = data.Credentials.SessionToken;\n credentials.expireTime = data.Credentials.Expiration;\n return credentials;\n },\n\n assumeRoleWithWebIdentity: function assumeRoleWithWebIdentity(params, callback) {\n return this.makeUnauthenticatedRequest('assumeRoleWithWebIdentity', params, callback);\n },\n\n assumeRoleWithSAML: function assumeRoleWithSAML(params, callback) {\n return this.makeUnauthenticatedRequest('assumeRoleWithSAML', params, callback);\n },\n\n /**\n * @api private\n */\n setupRequestListeners: function setupRequestListeners(request) {\n request.addListener('validate', this.optInRegionalEndpoint, true);\n },\n\n /**\n * @api private\n */\n optInRegionalEndpoint: function optInRegionalEndpoint(req) {\n var service = req.service;\n var config = service.config;\n config.stsRegionalEndpoints = resolveRegionalEndpointsFlag(service._originalConfig, {\n env: ENV_REGIONAL_ENDPOINT_ENABLED,\n sharedConfig: CONFIG_REGIONAL_ENDPOINT_ENABLED,\n clientConfig: 'stsRegionalEndpoints'\n });\n if (\n config.stsRegionalEndpoints === 'regional' &&\n service.isGlobalEndpoint\n ) {\n //client will throw if region is not supplied; request will be signed with specified region\n if (!config.region) {\n throw AWS.util.error(new Error(),\n {code: 'ConfigError', message: 'Missing region in config'});\n }\n var insertPoint = config.endpoint.indexOf('.amazonaws.com');\n var regionalEndpoint = config.endpoint.substring(0, insertPoint) +\n '.' + config.region + config.endpoint.substring(insertPoint);\n req.httpRequest.updateEndpoint(regionalEndpoint);\n req.httpRequest.region = config.region;\n }\n }\n\n});\n","// Styles\nimport './VAutocomplete.sass'\n\n// Extensions\nimport VSelect, { defaultMenuProps as VSelectMenuProps } from '../VSelect/VSelect'\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mergeData from '../../util/mergeData'\nimport {\n getObjectValueByPath,\n getPropertyFromItem,\n keyCodes,\n} from '../../util/helpers'\n\n// Types\nimport { PropType, VNode } from 'vue'\nimport { PropValidator } from 'vue/types/options'\n\nconst defaultMenuProps = {\n ...VSelectMenuProps,\n offsetY: true,\n offsetOverflow: true,\n transition: false,\n}\n\n/* @vue/component */\nexport default VSelect.extend({\n name: 'v-autocomplete',\n\n props: {\n allowOverflow: {\n type: Boolean,\n default: true,\n },\n autoSelectFirst: {\n type: Boolean,\n default: false,\n },\n filter: {\n type: Function,\n default: (item: any, queryText: string, itemText: string) => {\n return itemText.toLocaleLowerCase().indexOf(queryText.toLocaleLowerCase()) > -1\n },\n } as PropValidator<(item: any, queryText: string, itemText: string) => boolean>,\n hideNoData: Boolean,\n menuProps: {\n type: VSelect.options.props.menuProps.type,\n default: () => defaultMenuProps,\n },\n noFilter: Boolean,\n searchInput: {\n type: String as PropType,\n default: undefined,\n },\n },\n\n data () {\n return {\n lazySearch: this.searchInput,\n }\n },\n\n computed: {\n classes (): object {\n return {\n ...VSelect.options.computed.classes.call(this),\n 'v-autocomplete': true,\n 'v-autocomplete--is-selecting-index': this.selectedIndex > -1,\n }\n },\n computedItems (): object[] {\n return this.filteredItems\n },\n selectedValues (): object[] {\n return this.selectedItems.map(item => this.getValue(item))\n },\n hasDisplayedItems (): boolean {\n return this.hideSelected\n ? this.filteredItems.some(item => !this.hasItem(item))\n : this.filteredItems.length > 0\n },\n currentRange (): number {\n if (this.selectedItem == null) return 0\n\n return String(this.getText(this.selectedItem)).length\n },\n filteredItems (): object[] {\n if (!this.isSearching || this.noFilter || this.internalSearch == null) return this.allItems\n\n return this.allItems.filter(item => {\n const value = getPropertyFromItem(item, this.itemText)\n const text = value != null ? String(value) : ''\n\n return this.filter(item, String(this.internalSearch), text)\n })\n },\n internalSearch: {\n get (): string | undefined {\n return this.lazySearch\n },\n set (val: any) {\n this.lazySearch = val\n\n this.$emit('update:search-input', val)\n },\n },\n isAnyValueAllowed (): boolean {\n return false\n },\n isDirty (): boolean {\n return this.searchIsDirty || this.selectedItems.length > 0\n },\n isSearching (): boolean {\n return (\n this.multiple &&\n this.searchIsDirty\n ) || (\n this.searchIsDirty &&\n this.internalSearch !== this.getText(this.selectedItem)\n )\n },\n menuCanShow (): boolean {\n if (!this.isFocused) return false\n\n return this.hasDisplayedItems || !this.hideNoData\n },\n $_menuProps (): object {\n const props = VSelect.options.computed.$_menuProps.call(this);\n (props as any).contentClass = `v-autocomplete__content ${(props as any).contentClass || ''}`.trim()\n return {\n ...defaultMenuProps,\n ...props,\n }\n },\n searchIsDirty (): boolean {\n return this.internalSearch != null &&\n this.internalSearch !== ''\n },\n selectedItem (): any {\n if (this.multiple) return null\n\n return this.selectedItems.find(i => {\n return this.valueComparator(this.getValue(i), this.getValue(this.internalValue))\n })\n },\n listData () {\n const data = VSelect.options.computed.listData.call(this) as any\n\n data.props = {\n ...data.props,\n items: this.virtualizedItems,\n noFilter: (\n this.noFilter ||\n !this.isSearching ||\n !this.filteredItems.length\n ),\n searchInput: this.internalSearch,\n }\n\n return data\n },\n },\n\n watch: {\n filteredItems: 'onFilteredItemsChanged',\n internalValue: 'setSearch',\n isFocused (val) {\n if (val) {\n document.addEventListener('copy', this.onCopy)\n this.$refs.input && this.$refs.input.select()\n } else {\n document.removeEventListener('copy', this.onCopy)\n this.updateSelf()\n }\n },\n isMenuActive (val) {\n if (val || !this.hasSlot) return\n\n this.lazySearch = undefined\n },\n items (val, oldVal) {\n // If we are focused, the menu\n // is not active, hide no data is enabled,\n // and items change\n // User is probably async loading\n // items, try to activate the menu\n if (\n !(oldVal && oldVal.length) &&\n this.hideNoData &&\n this.isFocused &&\n !this.isMenuActive &&\n val.length\n ) this.activateMenu()\n },\n searchInput (val: string) {\n this.lazySearch = val\n },\n internalSearch: 'onInternalSearchChanged',\n itemText: 'updateSelf',\n },\n\n created () {\n this.setSearch()\n },\n\n destroyed () {\n document.removeEventListener('copy', this.onCopy)\n },\n\n methods: {\n onFilteredItemsChanged (val: never[], oldVal: never[]) {\n // TODO: How is the watcher triggered\n // for duplicate items? no idea\n if (val === oldVal) return\n\n this.setMenuIndex(-1)\n\n this.$nextTick(() => {\n if (\n !this.internalSearch ||\n (val.length !== 1 &&\n !this.autoSelectFirst)\n ) return\n\n this.$refs.menu.getTiles()\n this.setMenuIndex(0)\n })\n },\n onInternalSearchChanged () {\n this.updateMenuDimensions()\n },\n updateMenuDimensions () {\n // Type from menuable is not making it through\n this.isMenuActive && this.$refs.menu && this.$refs.menu.updateDimensions()\n },\n changeSelectedIndex (keyCode: number) {\n // Do not allow changing of selectedIndex\n // when search is dirty\n if (this.searchIsDirty) return\n\n if (this.multiple && keyCode === keyCodes.left) {\n if (this.selectedIndex === -1) {\n this.selectedIndex = this.selectedItems.length - 1\n } else {\n this.selectedIndex--\n }\n } else if (this.multiple && keyCode === keyCodes.right) {\n if (this.selectedIndex >= this.selectedItems.length - 1) {\n this.selectedIndex = -1\n } else {\n this.selectedIndex++\n }\n } else if (keyCode === keyCodes.backspace || keyCode === keyCodes.delete) {\n this.deleteCurrentItem()\n }\n },\n deleteCurrentItem () {\n const curIndex = this.selectedIndex\n const curItem = this.selectedItems[curIndex]\n\n // Do nothing if input or item is disabled\n if (\n !this.isInteractive ||\n this.getDisabled(curItem)\n ) return\n\n const lastIndex = this.selectedItems.length - 1\n\n // Select the last item if\n // there is no selection\n if (\n this.selectedIndex === -1 &&\n lastIndex !== 0\n ) {\n this.selectedIndex = lastIndex\n\n return\n }\n\n const length = this.selectedItems.length\n const nextIndex = curIndex !== length - 1\n ? curIndex\n : curIndex - 1\n const nextItem = this.selectedItems[nextIndex]\n\n if (!nextItem) {\n this.setValue(this.multiple ? [] : undefined)\n } else {\n this.selectItem(curItem)\n }\n\n this.selectedIndex = nextIndex\n },\n clearableCallback () {\n this.internalSearch = undefined\n\n VSelect.options.methods.clearableCallback.call(this)\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.data = mergeData(input.data!, {\n attrs: {\n 'aria-activedescendant': getObjectValueByPath(this.$refs.menu, 'activeTile.id'),\n autocomplete: getObjectValueByPath(input.data!, 'attrs.autocomplete', 'off'),\n },\n domProps: { value: this.internalSearch },\n })\n\n return input\n },\n genInputSlot () {\n const slot = VSelect.options.methods.genInputSlot.call(this)\n\n slot.data!.attrs!.role = 'combobox'\n\n return slot\n },\n genSelections (): VNode | never[] {\n return this.hasSlot || this.multiple\n ? VSelect.options.methods.genSelections.call(this)\n : []\n },\n onClick (e: MouseEvent) {\n if (!this.isInteractive) return\n\n this.selectedIndex > -1\n ? (this.selectedIndex = -1)\n : this.onFocus()\n\n if (!this.isAppendInner(e.target)) this.activateMenu()\n },\n onInput (e: Event) {\n if (\n this.selectedIndex > -1 ||\n !e.target\n ) return\n\n const target = e.target as HTMLInputElement\n const value = target.value\n\n // If typing and menu is not currently active\n if (target.value) this.activateMenu()\n\n this.internalSearch = value\n this.badInput = target.validity && target.validity.badInput\n },\n onKeyDown (e: KeyboardEvent) {\n const keyCode = e.keyCode\n\n VSelect.options.methods.onKeyDown.call(this, e)\n\n // The ordering is important here\n // allows new value to be updated\n // and then moves the index to the\n // proper location\n this.changeSelectedIndex(keyCode)\n },\n onSpaceDown (e: KeyboardEvent) { /* noop */ },\n onTabDown (e: KeyboardEvent) {\n VSelect.options.methods.onTabDown.call(this, e)\n this.updateSelf()\n },\n onUpDown (e: Event) {\n // Prevent screen from scrolling\n e.preventDefault()\n\n // For autocomplete / combobox, cycling\n // interfers with native up/down behavior\n // instead activate the menu\n this.activateMenu()\n },\n selectItem (item: object) {\n VSelect.options.methods.selectItem.call(this, item)\n this.setSearch()\n },\n setSelectedItems () {\n VSelect.options.methods.setSelectedItems.call(this)\n\n // #4273 Don't replace if searching\n // #4403 Don't replace if focused\n if (!this.isFocused) this.setSearch()\n },\n setSearch () {\n // Wait for nextTick so selectedItem\n // has had time to update\n this.$nextTick(() => {\n if (\n !this.multiple ||\n !this.internalSearch ||\n !this.isMenuActive\n ) {\n this.internalSearch = (\n !this.selectedItems.length ||\n this.multiple ||\n this.hasSlot\n )\n ? null\n : this.getText(this.selectedItem)\n }\n })\n },\n updateSelf () {\n if (!this.searchIsDirty &&\n !this.internalValue\n ) return\n\n if (!this.valueComparator(\n this.internalSearch,\n this.getValue(this.internalValue)\n )) {\n this.setSearch()\n }\n },\n hasItem (item: any): boolean {\n return this.selectedValues.indexOf(this.getValue(item)) > -1\n },\n onCopy (event: ClipboardEvent) {\n if (this.selectedIndex === -1) return\n\n const currentItem = this.selectedItems[this.selectedIndex]\n const currentItemText = this.getText(currentItem)\n event.clipboardData!.setData('text/plain', currentItemText)\n event.clipboardData!.setData('text/vnd.vuetify.autocomplete.item+plain', currentItemText)\n event.preventDefault()\n },\n },\n})\n","var Buffer = require('buffer/').Buffer;\nvar hashUtils = require('./browserHashUtils');\n\nvar BLOCK_SIZE = 64;\n\nvar DIGEST_LENGTH = 32;\n\nvar KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n\nvar INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19,\n];\n\nvar MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\n\n/**\n * @private\n */\nfunction Sha256() {\n this.state = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19,\n ];\n this.temp = new Int32Array(64);\n this.buffer = new Uint8Array(64);\n this.bufferLength = 0;\n this.bytesHashed = 0;\n /**\n * @private\n */\n this.finished = false;\n}\n\n/**\n * @api private\n */\nmodule.exports = exports = Sha256;\n\nSha256.BLOCK_SIZE = BLOCK_SIZE;\n\nSha256.prototype.update = function (data) {\n if (this.finished) {\n throw new Error('Attempted to update an already finished hash.');\n }\n\n if (hashUtils.isEmptyData(data)) {\n return this;\n }\n\n data = hashUtils.convertToBuffer(data);\n\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n if (this.bytesHashed * 8 > MAX_HASHABLE_LENGTH) {\n throw new Error('Cannot hash more than 2^53 - 1 bits');\n }\n\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n if (this.bufferLength === BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n\n return this;\n};\n\nSha256.prototype.digest = function (encoding) {\n if (!this.finished) {\n var bitsHashed = this.bytesHashed * 8;\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n var undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % BLOCK_SIZE >= BLOCK_SIZE - 8) {\n for (var i = this.bufferLength; i < BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (var i = this.bufferLength; i < BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\n bufferView.setUint32(BLOCK_SIZE - 4, bitsHashed);\n this.hashBuffer();\n this.finished = true;\n }\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n var out = new Buffer(DIGEST_LENGTH);\n for (var i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return encoding ? out.toString(encoding) : out;\n};\n\nSha256.prototype.hashBuffer = function () {\n var _a = this,\n buffer = _a.buffer,\n state = _a.state;\n var state0 = state[0],\n state1 = state[1],\n state2 = state[2],\n state3 = state[3],\n state4 = state[4],\n state5 = state[5],\n state6 = state[6],\n state7 = state[7];\n for (var i = 0; i < BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] = (((buffer[i * 4] & 0xff) << 24) |\n ((buffer[(i * 4) + 1] & 0xff) << 16) |\n ((buffer[(i * 4) + 2] & 0xff) << 8) |\n (buffer[(i * 4) + 3] & 0xff));\n }\n else {\n var u = this.temp[i - 2];\n var t1_1 = (u >>> 17 | u << 15) ^\n (u >>> 19 | u << 13) ^\n (u >>> 10);\n u = this.temp[i - 15];\n var t2_1 = (u >>> 7 | u << 25) ^\n (u >>> 18 | u << 14) ^\n (u >>> 3);\n this.temp[i] = (t1_1 + this.temp[i - 7] | 0) +\n (t2_1 + this.temp[i - 16] | 0);\n }\n var t1 = (((((state4 >>> 6 | state4 << 26) ^\n (state4 >>> 11 | state4 << 21) ^\n (state4 >>> 25 | state4 << 7))\n + ((state4 & state5) ^ (~state4 & state6))) | 0)\n + ((state7 + ((KEY[i] + this.temp[i]) | 0)) | 0)) | 0;\n var t2 = (((state0 >>> 2 | state0 << 30) ^\n (state0 >>> 13 | state0 << 19) ^\n (state0 >>> 22 | state0 << 10)) + ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) | 0;\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n};\n","var AWS = require('../core');\nvar regionUtil = require('../region_config');\n\nvar s3util = {\n /**\n * @api private\n */\n isArnInParam: function isArnInParam(req, paramName) {\n var inputShape = (req.service.api.operations[req.operation] || {}).input || {};\n var inputMembers = inputShape.members || {};\n if (!req.params[paramName] || !inputMembers[paramName]) return false;\n return AWS.util.ARN.validate(req.params[paramName]);\n },\n\n /**\n * Validate service component from ARN supplied in Bucket parameter\n */\n validateArnService: function validateArnService(req) {\n var parsedArn = req._parsedArn;\n\n if (parsedArn.service !== 's3'\n && parsedArn.service !== 's3-outposts'\n && parsedArn.service !== 's3-object-lambda') {\n throw AWS.util.error(new Error(), {\n code: 'InvalidARN',\n message: 'expect \\'s3\\' or \\'s3-outposts\\' or \\'s3-object-lambda\\' in ARN service component'\n });\n }\n },\n\n /**\n * Validate account ID from ARN supplied in Bucket parameter is a valid account\n */\n validateArnAccount: function validateArnAccount(req) {\n var parsedArn = req._parsedArn;\n\n if (!/[0-9]{12}/.exec(parsedArn.accountId)) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidARN',\n message: 'ARN accountID does not match regex \"[0-9]{12}\"'\n });\n }\n },\n\n /**\n * Validate ARN supplied in Bucket parameter is a valid access point ARN\n */\n validateS3AccessPointArn: function validateS3AccessPointArn(req) {\n var parsedArn = req._parsedArn;\n\n //can be ':' or '/'\n var delimiter = parsedArn.resource['accesspoint'.length];\n\n if (parsedArn.resource.split(delimiter).length !== 2) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidARN',\n message: 'Access Point ARN should have one resource accesspoint/{accesspointName}'\n });\n }\n\n var accessPoint = parsedArn.resource.split(delimiter)[1];\n var accessPointPrefix = accessPoint + '-' + parsedArn.accountId;\n if (!s3util.dnsCompatibleBucketName(accessPointPrefix) || accessPointPrefix.match(/\\./)) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidARN',\n message: 'Access point resource in ARN is not DNS compatible. Got ' + accessPoint\n });\n }\n\n //set parsed valid access point\n req._parsedArn.accessPoint = accessPoint;\n },\n\n /**\n * Validate Outposts ARN supplied in Bucket parameter is a valid outposts ARN\n */\n validateOutpostsArn: function validateOutpostsArn(req) {\n var parsedArn = req._parsedArn;\n\n if (\n parsedArn.resource.indexOf('outpost:') !== 0 &&\n parsedArn.resource.indexOf('outpost/') !== 0\n ) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidARN',\n message: 'ARN resource should begin with \\'outpost/\\''\n });\n }\n\n //can be ':' or '/'\n var delimiter = parsedArn.resource['outpost'.length];\n var outpostId = parsedArn.resource.split(delimiter)[1];\n var dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(outpostId)) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidARN',\n message: 'Outpost resource in ARN is not DNS compatible. Got ' + outpostId\n });\n }\n req._parsedArn.outpostId = outpostId;\n },\n\n /**\n * Validate Outposts ARN supplied in Bucket parameter is a valid outposts ARN\n */\n validateOutpostsAccessPointArn: function validateOutpostsAccessPointArn(req) {\n var parsedArn = req._parsedArn;\n\n //can be ':' or '/'\n var delimiter = parsedArn.resource['outpost'.length];\n\n if (parsedArn.resource.split(delimiter).length !== 4) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidARN',\n message: 'Outposts ARN should have two resources outpost/{outpostId}/accesspoint/{accesspointName}'\n });\n }\n\n var accessPoint = parsedArn.resource.split(delimiter)[3];\n var accessPointPrefix = accessPoint + '-' + parsedArn.accountId;\n if (!s3util.dnsCompatibleBucketName(accessPointPrefix) || accessPointPrefix.match(/\\./)) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidARN',\n message: 'Access point resource in ARN is not DNS compatible. Got ' + accessPoint\n });\n }\n\n //set parsed valid access point\n req._parsedArn.accessPoint = accessPoint;\n },\n\n /**\n * Validate region field in ARN supplied in Bucket parameter is a valid region\n */\n validateArnRegion: function validateArnRegion(req) {\n var useArnRegion = s3util.loadUseArnRegionConfig(req);\n var regionFromArn = req._parsedArn.region;\n var clientRegion = req.service.config.region;\n\n if (!regionFromArn) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidARN',\n message: 'ARN region is empty'\n });\n }\n\n if (\n clientRegion.indexOf('fips') >= 0 ||\n regionFromArn.indexOf('fips') >= 0\n ) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidConfiguration',\n message: 'ARN endpoint is not compatible with FIPS region'\n });\n }\n\n if (!useArnRegion && regionFromArn !== clientRegion) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidConfiguration',\n message: 'Configured region conflicts with access point region'\n });\n } else if (\n useArnRegion &&\n regionUtil.getEndpointSuffix(regionFromArn) !== regionUtil.getEndpointSuffix(clientRegion)\n ) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidConfiguration',\n message: 'Configured region and access point region not in same partition'\n });\n }\n\n if (req.service.config.useAccelerateEndpoint) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidConfiguration',\n message: 'useAccelerateEndpoint config is not supported with access point ARN'\n });\n }\n\n if (req._parsedArn.service === 's3-outposts' && req.service.config.useDualstack) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidConfiguration',\n message: 'useDualstack config is not supported with outposts access point ARN'\n });\n }\n },\n\n loadUseArnRegionConfig: function loadUseArnRegionConfig(req) {\n var envName = 'AWS_S3_USE_ARN_REGION';\n var configName = 's3_use_arn_region';\n var useArnRegion = true;\n var originalConfig = req.service._originalConfig || {};\n if (req.service.config.s3UseArnRegion !== undefined) {\n return req.service.config.s3UseArnRegion;\n } else if (originalConfig.s3UseArnRegion !== undefined) {\n useArnRegion = originalConfig.s3UseArnRegion === true;\n } else if (AWS.util.isNode()) {\n //load from environmental variable AWS_USE_ARN_REGION\n if (process.env[envName]) {\n var value = process.env[envName].trim().toLowerCase();\n if (['false', 'true'].indexOf(value) < 0) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidConfiguration',\n message: envName + ' only accepts true or false. Got ' + process.env[envName],\n retryable: false\n });\n }\n useArnRegion = value === 'true';\n } else { //load from shared config property use_arn_region\n var profiles = {};\n var profile = {};\n try {\n profiles = AWS.util.getProfilesFromSharedConfig(AWS.util.iniLoader);\n profile = profiles[process.env.AWS_PROFILE || AWS.util.defaultProfile];\n } catch (e) {}\n if (profile[configName]) {\n if (['false', 'true'].indexOf(profile[configName].trim().toLowerCase()) < 0) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidConfiguration',\n message: configName + ' only accepts true or false. Got ' + profile[configName],\n retryable: false\n });\n }\n useArnRegion = profile[configName].trim().toLowerCase() === 'true';\n }\n }\n }\n req.service.config.s3UseArnRegion = useArnRegion;\n return useArnRegion;\n },\n\n /**\n * Validations before URI can be populated\n */\n validatePopulateUriFromArn: function validatePopulateUriFromArn(req) {\n if (req.service._originalConfig && req.service._originalConfig.endpoint) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidConfiguration',\n message: 'Custom endpoint is not compatible with access point ARN'\n });\n }\n\n if (req.service.config.s3ForcePathStyle) {\n throw AWS.util.error(new Error(), {\n code: 'InvalidConfiguration',\n message: 'Cannot construct path-style endpoint with access point'\n });\n }\n },\n\n /**\n * Returns true if the bucket name is DNS compatible. Buckets created\n * outside of the classic region MUST be DNS compatible.\n *\n * @api private\n */\n dnsCompatibleBucketName: function dnsCompatibleBucketName(bucketName) {\n var b = bucketName;\n var domain = new RegExp(/^[a-z0-9][a-z0-9\\.\\-]{1,61}[a-z0-9]$/);\n var ipAddress = new RegExp(/(\\d+\\.){3}\\d+/);\n var dots = new RegExp(/\\.\\./);\n return (b.match(domain) && !b.match(ipAddress) && !b.match(dots)) ? true : false;\n },\n};\n\n/**\n * @api private\n */\nmodule.exports = s3util;\n","var AWS = require('../core');\nvar util = require('../util');\nvar QueryParamSerializer = require('../query/query_param_serializer');\nvar Shape = require('../model/shape');\nvar populateHostPrefix = require('./helpers').populateHostPrefix;\n\nfunction buildRequest(req) {\n var operation = req.service.api.operations[req.operation];\n var httpRequest = req.httpRequest;\n httpRequest.headers['Content-Type'] =\n 'application/x-www-form-urlencoded; charset=utf-8';\n httpRequest.params = {\n Version: req.service.api.apiVersion,\n Action: operation.name\n };\n\n // convert the request parameters into a list of query params,\n // e.g. Deeply.NestedParam.0.Name=value\n var builder = new QueryParamSerializer();\n builder.serialize(req.params, operation.input, function(name, value) {\n httpRequest.params[name] = value;\n });\n httpRequest.body = util.queryParamsToString(httpRequest.params);\n\n populateHostPrefix(req);\n}\n\nfunction extractError(resp) {\n var data, body = resp.httpResponse.body.toString();\n if (body.match(', some require you to add \"/cfx/st\" into your URL).\n *\n * @param options [Object] The options to create a signed URL.\n * @option options url [String] The URL to which the signature will grant\n * access. Any query params included with\n * the URL should be encoded. Required.\n * @option options expires [Number] A Unix UTC timestamp indicating when the\n * signature should expire. Required unless you\n * pass in a full policy.\n * @option options policy [String] A CloudFront JSON policy. Required unless\n * you pass in a url and an expiry time.\n *\n * @param cb [Function] if a callback is provided, this function will\n * pass the URL as the second parameter (after the error parameter) to\n * the callback function.\n *\n * @return [String] if called synchronously (with no callback), returns the\n * signed URL.\n * @return [null] nothing is returned if a callback is provided.\n */\n getSignedUrl: function (options, cb) {\n try {\n var resource = getResource(options.url);\n } catch (err) {\n return handleError(err, cb);\n }\n\n var parsedUrl = url.parse(options.url, true),\n signatureHash = Object.prototype.hasOwnProperty.call(options, 'policy')\n ? signWithCustomPolicy(options.policy, this.keyPairId, this.privateKey)\n : signWithCannedPolicy(resource, options.expires, this.keyPairId, this.privateKey);\n\n parsedUrl.search = null;\n for (var key in signatureHash) {\n if (Object.prototype.hasOwnProperty.call(signatureHash, key)) {\n parsedUrl.query[key] = signatureHash[key];\n }\n }\n\n try {\n var signedUrl = determineScheme(options.url) === 'rtmp'\n ? getRtmpUrl(url.format(parsedUrl))\n : url.format(parsedUrl);\n } catch (err) {\n return handleError(err, cb);\n }\n\n return handleSuccess(signedUrl, cb);\n }\n});\n\n/**\n * @api private\n */\nmodule.exports = AWS.CloudFront.Signer;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['cloudwatchevents'] = {};\nAWS.CloudWatchEvents = Service.defineService('cloudwatchevents', ['2014-02-03*', '2015-10-07']);\nObject.defineProperty(apiLoader.services['cloudwatchevents'], '2015-10-07', {\n get: function get() {\n var model = require('../apis/events-2015-10-07.min.json');\n model.paginators = require('../apis/events-2015-10-07.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CloudWatchEvents;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['kms'] = {};\nAWS.KMS = Service.defineService('kms', ['2014-11-01']);\nObject.defineProperty(apiLoader.services['kms'], '2014-11-01', {\n get: function get() {\n var model = require('../apis/kms-2014-11-01.min.json');\n model.paginators = require('../apis/kms-2014-11-01.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.KMS;\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['kinesisvideo'] = {};\nAWS.KinesisVideo = Service.defineService('kinesisvideo', ['2017-09-30']);\nObject.defineProperty(apiLoader.services['kinesisvideo'], '2017-09-30', {\n get: function get() {\n var model = require('../apis/kinesisvideo-2017-09-30.min.json');\n model.paginators = require('../apis/kinesisvideo-2017-09-30.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.KinesisVideo;\n","var Shape = require('./shape');\n\nvar util = require('../util');\nvar property = util.property;\nvar memoizedProperty = util.memoizedProperty;\n\nfunction Operation(name, operation, options) {\n var self = this;\n options = options || {};\n\n property(this, 'name', operation.name || name);\n property(this, 'api', options.api, false);\n\n operation.http = operation.http || {};\n property(this, 'endpoint', operation.endpoint);\n property(this, 'httpMethod', operation.http.method || 'POST');\n property(this, 'httpPath', operation.http.requestUri || '/');\n property(this, 'authtype', operation.authtype || '');\n property(\n this,\n 'endpointDiscoveryRequired',\n operation.endpointdiscovery ?\n (operation.endpointdiscovery.required ? 'REQUIRED' : 'OPTIONAL') :\n 'NULL'\n );\n\n memoizedProperty(this, 'input', function() {\n if (!operation.input) {\n return new Shape.create({type: 'structure'}, options);\n }\n return Shape.create(operation.input, options);\n });\n\n memoizedProperty(this, 'output', function() {\n if (!operation.output) {\n return new Shape.create({type: 'structure'}, options);\n }\n return Shape.create(operation.output, options);\n });\n\n memoizedProperty(this, 'errors', function() {\n var list = [];\n if (!operation.errors) return null;\n\n for (var i = 0; i < operation.errors.length; i++) {\n list.push(Shape.create(operation.errors[i], options));\n }\n\n return list;\n });\n\n memoizedProperty(this, 'paginator', function() {\n return options.api.paginators[name];\n });\n\n if (options.documentation) {\n property(this, 'documentation', operation.documentation);\n property(this, 'documentationUrl', operation.documentationUrl);\n }\n\n // idempotentMembers only tracks top-level input shapes\n memoizedProperty(this, 'idempotentMembers', function() {\n var idempotentMembers = [];\n var input = self.input;\n var members = input.members;\n if (!input.members) {\n return idempotentMembers;\n }\n for (var name in members) {\n if (!members.hasOwnProperty(name)) {\n continue;\n }\n if (members[name].isIdempotent === true) {\n idempotentMembers.push(name);\n }\n }\n return idempotentMembers;\n });\n\n memoizedProperty(this, 'hasEventOutput', function() {\n var output = self.output;\n return hasEventStream(output);\n });\n}\n\nfunction hasEventStream(topLevelShape) {\n var members = topLevelShape.members;\n var payload = topLevelShape.payload;\n\n if (!topLevelShape.members) {\n return false;\n }\n\n if (payload) {\n var payloadMember = members[payload];\n return payloadMember.isEventStream;\n }\n\n // check if any member is an event stream\n for (var name in members) {\n if (!members.hasOwnProperty(name)) {\n if (members[name].isEventStream === true) {\n return true;\n }\n }\n }\n return false;\n}\n\n/**\n * @api private\n */\nmodule.exports = Operation;\n","module.exports = {\n //provide realtime clock for performance measurement\n now: function now() {\n if (typeof performance !== 'undefined' && typeof performance.now === 'function') {\n return performance.now();\n }\n return Date.now();\n }\n};\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['iot'] = {};\nAWS.Iot = Service.defineService('iot', ['2015-05-28']);\nObject.defineProperty(apiLoader.services['iot'], '2015-05-28', {\n get: function get() {\n var model = require('../apis/iot-2015-05-28.min.json');\n model.paginators = require('../apis/iot-2015-05-28.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.Iot;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['applicationautoscaling'] = {};\nAWS.ApplicationAutoScaling = Service.defineService('applicationautoscaling', ['2016-02-06']);\nObject.defineProperty(apiLoader.services['applicationautoscaling'], '2016-02-06', {\n get: function get() {\n var model = require('../apis/application-autoscaling-2016-02-06.min.json');\n model.paginators = require('../apis/application-autoscaling-2016-02-06.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ApplicationAutoScaling;\n","var util = require('./util');\nvar regionConfig = require('./region_config_data.json');\n\nfunction generateRegionPrefix(region) {\n if (!region) return null;\n\n var parts = region.split('-');\n if (parts.length < 3) return null;\n return parts.slice(0, parts.length - 2).join('-') + '-*';\n}\n\nfunction derivedKeys(service) {\n var region = service.config.region;\n var regionPrefix = generateRegionPrefix(region);\n var endpointPrefix = service.api.endpointPrefix;\n\n return [\n [region, endpointPrefix],\n [regionPrefix, endpointPrefix],\n [region, '*'],\n [regionPrefix, '*'],\n ['*', endpointPrefix],\n ['*', '*']\n ].map(function(item) {\n return item[0] && item[1] ? item.join('/') : null;\n });\n}\n\nfunction applyConfig(service, config) {\n util.each(config, function(key, value) {\n if (key === 'globalEndpoint') return;\n if (service.config[key] === undefined || service.config[key] === null) {\n service.config[key] = value;\n }\n });\n}\n\nfunction configureEndpoint(service) {\n var keys = derivedKeys(service);\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!key) continue;\n\n if (Object.prototype.hasOwnProperty.call(regionConfig.rules, key)) {\n var config = regionConfig.rules[key];\n if (typeof config === 'string') {\n config = regionConfig.patterns[config];\n }\n\n // set dualstack endpoint\n if (service.config.useDualstack && util.isDualstackAvailable(service)) {\n config = util.copy(config);\n config.endpoint = config.endpoint.replace(\n /{service}\\.({region}\\.)?/,\n '{service}.dualstack.{region}.'\n );\n }\n\n // set global endpoint\n service.isGlobalEndpoint = !!config.globalEndpoint;\n if (config.signingRegion) {\n service.signingRegion = config.signingRegion;\n }\n\n // signature version\n if (!config.signatureVersion) config.signatureVersion = 'v4';\n\n // merge config\n applyConfig(service, config);\n return;\n }\n }\n}\n\nfunction getEndpointSuffix(region) {\n var regionRegexes = {\n '^(us|eu|ap|sa|ca|me)\\\\-\\\\w+\\\\-\\\\d+$': 'amazonaws.com',\n '^cn\\\\-\\\\w+\\\\-\\\\d+$': 'amazonaws.com.cn',\n '^us\\\\-gov\\\\-\\\\w+\\\\-\\\\d+$': 'amazonaws.com',\n '^us\\\\-iso\\\\-\\\\w+\\\\-\\\\d+$': 'c2s.ic.gov',\n '^us\\\\-isob\\\\-\\\\w+\\\\-\\\\d+$': 'sc2s.sgov.gov'\n };\n var defaultSuffix = 'amazonaws.com';\n var regexes = Object.keys(regionRegexes);\n for (var i = 0; i < regexes.length; i++) {\n var regionPattern = RegExp(regexes[i]);\n var dnsSuffix = regionRegexes[regexes[i]];\n if (regionPattern.test(region)) return dnsSuffix;\n }\n return defaultSuffix;\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n configureEndpoint: configureEndpoint,\n getEndpointSuffix: getEndpointSuffix\n};\n","var AWS = require('../core');\nvar Translator = require('./translator');\nvar DynamoDBSet = require('./set');\n\n/**\n * The document client simplifies working with items in Amazon DynamoDB\n * by abstracting away the notion of attribute values. This abstraction\n * annotates native JavaScript types supplied as input parameters, as well\n * as converts annotated response data to native JavaScript types.\n *\n * ## Marshalling Input and Unmarshalling Response Data\n *\n * The document client affords developers the use of native JavaScript types\n * instead of `AttributeValue`s to simplify the JavaScript development\n * experience with Amazon DynamoDB. JavaScript objects passed in as parameters\n * are marshalled into `AttributeValue` shapes required by Amazon DynamoDB.\n * Responses from DynamoDB are unmarshalled into plain JavaScript objects\n * by the `DocumentClient`. The `DocumentClient`, does not accept\n * `AttributeValue`s in favor of native JavaScript types.\n *\n * | JavaScript Type | DynamoDB AttributeValue |\n * |:----------------------------------------------------------------------:|-------------------------|\n * | String | S |\n * | Number | N |\n * | Boolean | BOOL |\n * | null | NULL |\n * | Array | L |\n * | Object | M |\n * | Buffer, File, Blob, ArrayBuffer, DataView, and JavaScript typed arrays | B |\n *\n * ## Support for Sets\n *\n * The `DocumentClient` offers a convenient way to create sets from\n * JavaScript Arrays. The type of set is inferred from the first element\n * in the array. DynamoDB supports string, number, and binary sets. To\n * learn more about supported types see the\n * [Amazon DynamoDB Data Model Documentation](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html)\n * For more information see {AWS.DynamoDB.DocumentClient.createSet}\n *\n */\nAWS.DynamoDB.DocumentClient = AWS.util.inherit({\n\n /**\n * Creates a DynamoDB document client with a set of configuration options.\n *\n * @option options params [map] An optional map of parameters to bind to every\n * request sent by this service object.\n * @option options service [AWS.DynamoDB] An optional pre-configured instance\n * of the AWS.DynamoDB service object to use for requests. The object may\n * bound parameters used by the document client.\n * @option options convertEmptyValues [Boolean] set to true if you would like\n * the document client to convert empty values (0-length strings, binary\n * buffers, and sets) to be converted to NULL types when persisting to\n * DynamoDB.\n * @option options wrapNumbers [Boolean] Set to true to return numbers as a\n * NumberValue object instead of converting them to native JavaScript numbers.\n * This allows for the safe round-trip transport of numbers of arbitrary size.\n * @see AWS.DynamoDB.constructor\n *\n */\n constructor: function DocumentClient(options) {\n var self = this;\n self.options = options || {};\n self.configure(self.options);\n },\n\n /**\n * @api private\n */\n configure: function configure(options) {\n var self = this;\n self.service = options.service;\n self.bindServiceObject(options);\n self.attrValue = options.attrValue =\n self.service.api.operations.putItem.input.members.Item.value.shape;\n },\n\n /**\n * @api private\n */\n bindServiceObject: function bindServiceObject(options) {\n var self = this;\n options = options || {};\n\n if (!self.service) {\n self.service = new AWS.DynamoDB(options);\n } else {\n var config = AWS.util.copy(self.service.config);\n self.service = new self.service.constructor.__super__(config);\n self.service.config.params =\n AWS.util.merge(self.service.config.params || {}, options.params);\n }\n },\n\n /**\n * @api private\n */\n makeServiceRequest: function(operation, params, callback) {\n var self = this;\n var request = self.service[operation](params);\n self.setupRequest(request);\n self.setupResponse(request);\n if (typeof callback === 'function') {\n request.send(callback);\n }\n return request;\n },\n\n /**\n * @api private\n */\n serviceClientOperationsMap: {\n batchGet: 'batchGetItem',\n batchWrite: 'batchWriteItem',\n delete: 'deleteItem',\n get: 'getItem',\n put: 'putItem',\n query: 'query',\n scan: 'scan',\n update: 'updateItem',\n transactGet: 'transactGetItems',\n transactWrite: 'transactWriteItems'\n },\n\n /**\n * Returns the attributes of one or more items from one or more tables\n * by delegating to `AWS.DynamoDB.batchGetItem()`.\n *\n * Supply the same parameters as {AWS.DynamoDB.batchGetItem} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.batchGetItem\n * @example Get items from multiple tables\n * var params = {\n * RequestItems: {\n * 'Table-1': {\n * Keys: [\n * {\n * HashKey: 'haskey',\n * NumberRangeKey: 1\n * }\n * ]\n * },\n * 'Table-2': {\n * Keys: [\n * { foo: 'bar' },\n * ]\n * }\n * }\n * };\n *\n * var documentClient = new AWS.DynamoDB.DocumentClient();\n *\n * documentClient.batchGet(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n *\n */\n batchGet: function(params, callback) {\n var operation = this.serviceClientOperationsMap['batchGet'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Puts or deletes multiple items in one or more tables by delegating\n * to `AWS.DynamoDB.batchWriteItem()`.\n *\n * Supply the same parameters as {AWS.DynamoDB.batchWriteItem} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.batchWriteItem\n * @example Write to and delete from a table\n * var params = {\n * RequestItems: {\n * 'Table-1': [\n * {\n * DeleteRequest: {\n * Key: { HashKey: 'someKey' }\n * }\n * },\n * {\n * PutRequest: {\n * Item: {\n * HashKey: 'anotherKey',\n * NumAttribute: 1,\n * BoolAttribute: true,\n * ListAttribute: [1, 'two', false],\n * MapAttribute: { foo: 'bar' }\n * }\n * }\n * }\n * ]\n * }\n * };\n *\n * var documentClient = new AWS.DynamoDB.DocumentClient();\n *\n * documentClient.batchWrite(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n *\n */\n batchWrite: function(params, callback) {\n var operation = this.serviceClientOperationsMap['batchWrite'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Deletes a single item in a table by primary key by delegating to\n * `AWS.DynamoDB.deleteItem()`\n *\n * Supply the same parameters as {AWS.DynamoDB.deleteItem} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.deleteItem\n * @example Delete an item from a table\n * var params = {\n * TableName : 'Table',\n * Key: {\n * HashKey: 'hashkey',\n * NumberRangeKey: 1\n * }\n * };\n *\n * var documentClient = new AWS.DynamoDB.DocumentClient();\n *\n * documentClient.delete(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n *\n */\n delete: function(params, callback) {\n var operation = this.serviceClientOperationsMap['delete'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Returns a set of attributes for the item with the given primary key\n * by delegating to `AWS.DynamoDB.getItem()`.\n *\n * Supply the same parameters as {AWS.DynamoDB.getItem} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.getItem\n * @example Get an item from a table\n * var params = {\n * TableName : 'Table',\n * Key: {\n * HashKey: 'hashkey'\n * }\n * };\n *\n * var documentClient = new AWS.DynamoDB.DocumentClient();\n *\n * documentClient.get(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n *\n */\n get: function(params, callback) {\n var operation = this.serviceClientOperationsMap['get'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Creates a new item, or replaces an old item with a new item by\n * delegating to `AWS.DynamoDB.putItem()`.\n *\n * Supply the same parameters as {AWS.DynamoDB.putItem} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.putItem\n * @example Create a new item in a table\n * var params = {\n * TableName : 'Table',\n * Item: {\n * HashKey: 'haskey',\n * NumAttribute: 1,\n * BoolAttribute: true,\n * ListAttribute: [1, 'two', false],\n * MapAttribute: { foo: 'bar'},\n * NullAttribute: null\n * }\n * };\n *\n * var documentClient = new AWS.DynamoDB.DocumentClient();\n *\n * documentClient.put(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n *\n */\n put: function(params, callback) {\n var operation = this.serviceClientOperationsMap['put'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Edits an existing item's attributes, or adds a new item to the table if\n * it does not already exist by delegating to `AWS.DynamoDB.updateItem()`.\n *\n * Supply the same parameters as {AWS.DynamoDB.updateItem} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.updateItem\n * @example Update an item with expressions\n * var params = {\n * TableName: 'Table',\n * Key: { HashKey : 'hashkey' },\n * UpdateExpression: 'set #a = :x + :y',\n * ConditionExpression: '#a < :MAX',\n * ExpressionAttributeNames: {'#a' : 'Sum'},\n * ExpressionAttributeValues: {\n * ':x' : 20,\n * ':y' : 45,\n * ':MAX' : 100,\n * }\n * };\n *\n * var documentClient = new AWS.DynamoDB.DocumentClient();\n *\n * documentClient.update(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n *\n */\n update: function(params, callback) {\n var operation = this.serviceClientOperationsMap['update'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Returns one or more items and item attributes by accessing every item\n * in a table or a secondary index.\n *\n * Supply the same parameters as {AWS.DynamoDB.scan} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.scan\n * @example Scan the table with a filter expression\n * var params = {\n * TableName : 'Table',\n * FilterExpression : 'Year = :this_year',\n * ExpressionAttributeValues : {':this_year' : 2015}\n * };\n *\n * var documentClient = new AWS.DynamoDB.DocumentClient();\n *\n * documentClient.scan(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n *\n */\n scan: function(params, callback) {\n var operation = this.serviceClientOperationsMap['scan'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Directly access items from a table by primary key or a secondary index.\n *\n * Supply the same parameters as {AWS.DynamoDB.query} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.query\n * @example Query an index\n * var params = {\n * TableName: 'Table',\n * IndexName: 'Index',\n * KeyConditionExpression: 'HashKey = :hkey and RangeKey > :rkey',\n * ExpressionAttributeValues: {\n * ':hkey': 'key',\n * ':rkey': 2015\n * }\n * };\n *\n * var documentClient = new AWS.DynamoDB.DocumentClient();\n *\n * documentClient.query(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n *\n */\n query: function(params, callback) {\n var operation = this.serviceClientOperationsMap['query'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Synchronous write operation that groups up to 10 action requests\n *\n * Supply the same parameters as {AWS.DynamoDB.transactWriteItems} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.transactWriteItems\n * @example Get items from multiple tables\n * var params = {\n * TransactItems: [{\n * Put: {\n * TableName : 'Table0',\n * Item: {\n * HashKey: 'haskey',\n * NumAttribute: 1,\n * BoolAttribute: true,\n * ListAttribute: [1, 'two', false],\n * MapAttribute: { foo: 'bar'},\n * NullAttribute: null\n * }\n * }\n * }, {\n * Update: {\n * TableName: 'Table1',\n * Key: { HashKey : 'hashkey' },\n * UpdateExpression: 'set #a = :x + :y',\n * ConditionExpression: '#a < :MAX',\n * ExpressionAttributeNames: {'#a' : 'Sum'},\n * ExpressionAttributeValues: {\n * ':x' : 20,\n * ':y' : 45,\n * ':MAX' : 100,\n * }\n * }\n * }]\n * };\n *\n * documentClient.transactWrite(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n */\n transactWrite: function(params, callback) {\n var operation = this.serviceClientOperationsMap['transactWrite'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Atomically retrieves multiple items from one or more tables (but not from indexes)\n * in a single account and region.\n *\n * Supply the same parameters as {AWS.DynamoDB.transactGetItems} with\n * `AttributeValue`s substituted by native JavaScript types.\n *\n * @see AWS.DynamoDB.transactGetItems\n * @example Get items from multiple tables\n * var params = {\n * TransactItems: [{\n * Get: {\n * TableName : 'Table0',\n * Key: {\n * HashKey: 'hashkey0'\n * }\n * }\n * }, {\n * Get: {\n * TableName : 'Table1',\n * Key: {\n * HashKey: 'hashkey1'\n * }\n * }\n * }]\n * };\n *\n * documentClient.transactGet(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n */\n transactGet: function(params, callback) {\n var operation = this.serviceClientOperationsMap['transactGet'];\n return this.makeServiceRequest(operation, params, callback);\n },\n\n /**\n * Creates a set of elements inferring the type of set from\n * the type of the first element. Amazon DynamoDB currently supports\n * the number sets, string sets, and binary sets. For more information\n * about DynamoDB data types see the documentation on the\n * [Amazon DynamoDB Data Model](http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DataModel.html#DataModel.DataTypes).\n *\n * @param list [Array] Collection to represent your DynamoDB Set\n * @param options [map]\n * * **validate** [Boolean] set to true if you want to validate the type\n * of each element in the set. Defaults to `false`.\n * @example Creating a number set\n * var documentClient = new AWS.DynamoDB.DocumentClient();\n *\n * var params = {\n * Item: {\n * hashkey: 'hashkey'\n * numbers: documentClient.createSet([1, 2, 3]);\n * }\n * };\n *\n * documentClient.put(params, function(err, data) {\n * if (err) console.log(err);\n * else console.log(data);\n * });\n *\n */\n createSet: function(list, options) {\n options = options || {};\n return new DynamoDBSet(list, options);\n },\n\n /**\n * @api private\n */\n getTranslator: function() {\n return new Translator(this.options);\n },\n\n /**\n * @api private\n */\n setupRequest: function setupRequest(request) {\n var self = this;\n var translator = self.getTranslator();\n var operation = request.operation;\n var inputShape = request.service.api.operations[operation].input;\n request._events.validate.unshift(function(req) {\n req.rawParams = AWS.util.copy(req.params);\n req.params = translator.translateInput(req.rawParams, inputShape);\n });\n },\n\n /**\n * @api private\n */\n setupResponse: function setupResponse(request) {\n var self = this;\n var translator = self.getTranslator();\n var outputShape = self.service.api.operations[request.operation].output;\n request.on('extractData', function(response) {\n response.data = translator.translateOutput(response.data, outputShape);\n });\n\n var response = request.response;\n response.nextPage = function(cb) {\n var resp = this;\n var req = resp.request;\n var config;\n var service = req.service;\n var operation = req.operation;\n try {\n config = service.paginationConfig(operation, true);\n } catch (e) { resp.error = e; }\n\n if (!resp.hasNextPage()) {\n if (cb) cb(resp.error, null);\n else if (resp.error) throw resp.error;\n return null;\n }\n\n var params = AWS.util.copy(req.rawParams);\n if (!resp.nextPageTokens) {\n return cb ? cb(null, null) : null;\n } else {\n var inputTokens = config.inputToken;\n if (typeof inputTokens === 'string') inputTokens = [inputTokens];\n for (var i = 0; i < inputTokens.length; i++) {\n params[inputTokens[i]] = resp.nextPageTokens[i];\n }\n return self[operation](params, cb);\n }\n };\n }\n\n});\n\n/**\n * @api private\n */\nmodule.exports = AWS.DynamoDB.DocumentClient;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return map(objectKeys(obj), function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (isArray(obj[k])) {\n return map(obj[k], function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n\nvar isArray = Array.isArray || function (xs) {\n return Object.prototype.toString.call(xs) === '[object Array]';\n};\n\nfunction map (xs, f) {\n if (xs.map) return xs.map(f);\n var res = [];\n for (var i = 0; i < xs.length; i++) {\n res.push(f(xs[i], i));\n }\n return res;\n}\n\nvar objectKeys = Object.keys || function (obj) {\n var res = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) res.push(key);\n }\n return res;\n};\n","var util = require('../core').util;\n\nfunction typeOf(data) {\n if (data === null && typeof data === 'object') {\n return 'null';\n } else if (data !== undefined && isBinary(data)) {\n return 'Binary';\n } else if (data !== undefined && data.constructor) {\n return data.wrapperName || util.typeName(data.constructor);\n } else if (data !== undefined && typeof data === 'object') {\n // this object is the result of Object.create(null), hence the absence of a\n // defined constructor\n return 'Object';\n } else {\n return 'undefined';\n }\n}\n\nfunction isBinary(data) {\n var types = [\n 'Buffer', 'File', 'Blob', 'ArrayBuffer', 'DataView',\n 'Int8Array', 'Uint8Array', 'Uint8ClampedArray',\n 'Int16Array', 'Uint16Array', 'Int32Array', 'Uint32Array',\n 'Float32Array', 'Float64Array'\n ];\n if (util.isNode()) {\n var Stream = util.stream.Stream;\n if (util.Buffer.isBuffer(data) || data instanceof Stream) {\n return true;\n }\n }\n\n for (var i = 0; i < types.length; i++) {\n if (data !== undefined && data.constructor) {\n if (util.isType(data, types[i])) return true;\n if (util.typeName(data.constructor) === types[i]) return true;\n }\n }\n\n return false;\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n typeOf: typeOf,\n isBinary: isBinary\n};\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['ec2'] = {};\nAWS.EC2 = Service.defineService('ec2', ['2013-06-15*', '2013-10-15*', '2014-02-01*', '2014-05-01*', '2014-06-15*', '2014-09-01*', '2014-10-01*', '2015-03-01*', '2015-04-15*', '2015-10-01*', '2016-04-01*', '2016-09-15*', '2016-11-15']);\nrequire('../lib/services/ec2');\nObject.defineProperty(apiLoader.services['ec2'], '2016-11-15', {\n get: function get() {\n var model = require('../apis/ec2-2016-11-15.min.json');\n model.paginators = require('../apis/ec2-2016-11-15.paginators.json').pagination;\n model.waiters = require('../apis/ec2-2016-11-15.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.EC2;\n","var Int64 = require('./int64').Int64;\n\nvar splitMessage = require('./split-message').splitMessage;\n\nvar BOOLEAN_TAG = 'boolean';\nvar BYTE_TAG = 'byte';\nvar SHORT_TAG = 'short';\nvar INT_TAG = 'integer';\nvar LONG_TAG = 'long';\nvar BINARY_TAG = 'binary';\nvar STRING_TAG = 'string';\nvar TIMESTAMP_TAG = 'timestamp';\nvar UUID_TAG = 'uuid';\n\n/**\n * @api private\n *\n * @param {Buffer} headers\n */\nfunction parseHeaders(headers) {\n var out = {};\n var position = 0;\n while (position < headers.length) {\n var nameLength = headers.readUInt8(position++);\n var name = headers.slice(position, position + nameLength).toString();\n position += nameLength;\n switch (headers.readUInt8(position++)) {\n case 0 /* boolTrue */:\n out[name] = {\n type: BOOLEAN_TAG,\n value: true\n };\n break;\n case 1 /* boolFalse */:\n out[name] = {\n type: BOOLEAN_TAG,\n value: false\n };\n break;\n case 2 /* byte */:\n out[name] = {\n type: BYTE_TAG,\n value: headers.readInt8(position++)\n };\n break;\n case 3 /* short */:\n out[name] = {\n type: SHORT_TAG,\n value: headers.readInt16BE(position)\n };\n position += 2;\n break;\n case 4 /* integer */:\n out[name] = {\n type: INT_TAG,\n value: headers.readInt32BE(position)\n };\n position += 4;\n break;\n case 5 /* long */:\n out[name] = {\n type: LONG_TAG,\n value: new Int64(headers.slice(position, position + 8))\n };\n position += 8;\n break;\n case 6 /* byteArray */:\n var binaryLength = headers.readUInt16BE(position);\n position += 2;\n out[name] = {\n type: BINARY_TAG,\n value: headers.slice(position, position + binaryLength)\n };\n position += binaryLength;\n break;\n case 7 /* string */:\n var stringLength = headers.readUInt16BE(position);\n position += 2;\n out[name] = {\n type: STRING_TAG,\n value: headers.slice(\n position,\n position + stringLength\n ).toString()\n };\n position += stringLength;\n break;\n case 8 /* timestamp */:\n out[name] = {\n type: TIMESTAMP_TAG,\n value: new Date(\n new Int64(headers.slice(position, position + 8))\n .valueOf()\n )\n };\n position += 8;\n break;\n case 9 /* uuid */:\n var uuidChars = headers.slice(position, position + 16)\n .toString('hex');\n position += 16;\n out[name] = {\n type: UUID_TAG,\n value: uuidChars.substr(0, 8) + '-' +\n uuidChars.substr(8, 4) + '-' +\n uuidChars.substr(12, 4) + '-' +\n uuidChars.substr(16, 4) + '-' +\n uuidChars.substr(20)\n };\n break;\n default:\n throw new Error('Unrecognized header type tag');\n }\n }\n return out;\n}\n\nfunction parseMessage(message) {\n var parsed = splitMessage(message);\n return { headers: parseHeaders(parsed.headers), body: parsed.body };\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n parseMessage: parseMessage\n};\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['elastictranscoder'] = {};\nAWS.ElasticTranscoder = Service.defineService('elastictranscoder', ['2012-09-25']);\nObject.defineProperty(apiLoader.services['elastictranscoder'], '2012-09-25', {\n get: function get() {\n var model = require('../apis/elastictranscoder-2012-09-25.min.json');\n model.paginators = require('../apis/elastictranscoder-2012-09-25.paginators.json').pagination;\n model.waiters = require('../apis/elastictranscoder-2012-09-25.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ElasticTranscoder;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['cur'] = {};\nAWS.CUR = Service.defineService('cur', ['2017-01-06']);\nObject.defineProperty(apiLoader.services['cur'], '2017-01-06', {\n get: function get() {\n var model = require('../apis/cur-2017-01-06.min.json');\n model.paginators = require('../apis/cur-2017-01-06.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CUR;\n","var Hmac = require('./browserHmac');\nvar Md5 = require('./browserMd5');\nvar Sha1 = require('./browserSha1');\nvar Sha256 = require('./browserSha256');\n\n/**\n * @api private\n */\nmodule.exports = exports = {\n createHash: function createHash(alg) {\n alg = alg.toLowerCase();\n if (alg === 'md5') {\n return new Md5();\n } else if (alg === 'sha256') {\n return new Sha256();\n } else if (alg === 'sha1') {\n return new Sha1();\n }\n\n throw new Error('Hash algorithm ' + alg + ' is not supported in the browser SDK');\n },\n createHmac: function createHmac(alg, key) {\n alg = alg.toLowerCase();\n if (alg === 'md5') {\n return new Hmac(Md5, key);\n } else if (alg === 'sha256') {\n return new Hmac(Sha256, key);\n } else if (alg === 'sha1') {\n return new Hmac(Sha1, key);\n }\n\n throw new Error('HMAC algorithm ' + alg + ' is not supported in the browser SDK');\n },\n createSign: function() {\n throw new Error('createSign is not implemented in the browser');\n }\n };\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['marketplacecommerceanalytics'] = {};\nAWS.MarketplaceCommerceAnalytics = Service.defineService('marketplacecommerceanalytics', ['2015-07-01']);\nObject.defineProperty(apiLoader.services['marketplacecommerceanalytics'], '2015-07-01', {\n get: function get() {\n var model = require('../apis/marketplacecommerceanalytics-2015-07-01.min.json');\n model.paginators = require('../apis/marketplacecommerceanalytics-2015-07-01.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.MarketplaceCommerceAnalytics;\n","var AWS = require('../core');\nvar rdsutil = require('./rdsutil');\nrequire('../rds/signer');\n /**\n * @api private\n */\n var crossRegionOperations = ['copyDBSnapshot', 'createDBInstanceReadReplica', 'createDBCluster', 'copyDBClusterSnapshot', 'startDBInstanceAutomatedBackupsReplication'];\n\n AWS.util.update(AWS.RDS.prototype, {\n /**\n * @api private\n */\n setupRequestListeners: function setupRequestListeners(request) {\n rdsutil.setupRequestListeners(this, request, crossRegionOperations);\n },\n });\n","var Collection = require('./collection');\nvar Operation = require('./operation');\nvar Shape = require('./shape');\nvar Paginator = require('./paginator');\nvar ResourceWaiter = require('./resource_waiter');\nvar metadata = require('../../apis/metadata.json');\n\nvar util = require('../util');\nvar property = util.property;\nvar memoizedProperty = util.memoizedProperty;\n\nfunction Api(api, options) {\n var self = this;\n api = api || {};\n options = options || {};\n options.api = this;\n\n api.metadata = api.metadata || {};\n\n var serviceIdentifier = options.serviceIdentifier;\n delete options.serviceIdentifier;\n\n property(this, 'isApi', true, false);\n property(this, 'apiVersion', api.metadata.apiVersion);\n property(this, 'endpointPrefix', api.metadata.endpointPrefix);\n property(this, 'signingName', api.metadata.signingName);\n property(this, 'globalEndpoint', api.metadata.globalEndpoint);\n property(this, 'signatureVersion', api.metadata.signatureVersion);\n property(this, 'jsonVersion', api.metadata.jsonVersion);\n property(this, 'targetPrefix', api.metadata.targetPrefix);\n property(this, 'protocol', api.metadata.protocol);\n property(this, 'timestampFormat', api.metadata.timestampFormat);\n property(this, 'xmlNamespaceUri', api.metadata.xmlNamespace);\n property(this, 'abbreviation', api.metadata.serviceAbbreviation);\n property(this, 'fullName', api.metadata.serviceFullName);\n property(this, 'serviceId', api.metadata.serviceId);\n if (serviceIdentifier && metadata[serviceIdentifier]) {\n property(this, 'xmlNoDefaultLists', metadata[serviceIdentifier].xmlNoDefaultLists, false);\n }\n\n memoizedProperty(this, 'className', function() {\n var name = api.metadata.serviceAbbreviation || api.metadata.serviceFullName;\n if (!name) return null;\n\n name = name.replace(/^Amazon|AWS\\s*|\\(.*|\\s+|\\W+/g, '');\n if (name === 'ElasticLoadBalancing') name = 'ELB';\n return name;\n });\n\n function addEndpointOperation(name, operation) {\n if (operation.endpointoperation === true) {\n property(self, 'endpointOperation', util.string.lowerFirst(name));\n }\n if (operation.endpointdiscovery && !self.hasRequiredEndpointDiscovery) {\n property(\n self,\n 'hasRequiredEndpointDiscovery',\n operation.endpointdiscovery.required === true\n );\n }\n }\n\n property(this, 'operations', new Collection(api.operations, options, function(name, operation) {\n return new Operation(name, operation, options);\n }, util.string.lowerFirst, addEndpointOperation));\n\n property(this, 'shapes', new Collection(api.shapes, options, function(name, shape) {\n return Shape.create(shape, options);\n }));\n\n property(this, 'paginators', new Collection(api.paginators, options, function(name, paginator) {\n return new Paginator(name, paginator, options);\n }));\n\n property(this, 'waiters', new Collection(api.waiters, options, function(name, waiter) {\n return new ResourceWaiter(name, waiter, options);\n }, util.string.lowerFirst));\n\n if (options.documentation) {\n property(this, 'documentation', api.documentation);\n property(this, 'documentationUrl', api.documentationUrl);\n }\n}\n\n/**\n * @api private\n */\nmodule.exports = Api;\n","/**\n * Takes in a buffer of event messages and splits them into individual messages.\n * @param {Buffer} buffer\n * @api private\n */\nfunction eventMessageChunker(buffer) {\n /** @type Buffer[] */\n var messages = [];\n var offset = 0;\n\n while (offset < buffer.length) {\n var totalLength = buffer.readInt32BE(offset);\n\n // create new buffer for individual message (shares memory with original)\n var message = buffer.slice(offset, totalLength + offset);\n // increment offset to it starts at the next message\n offset += totalLength;\n\n messages.push(message);\n }\n\n return messages;\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n eventMessageChunker: eventMessageChunker\n};\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['codedeploy'] = {};\nAWS.CodeDeploy = Service.defineService('codedeploy', ['2014-10-06']);\nObject.defineProperty(apiLoader.services['codedeploy'], '2014-10-06', {\n get: function get() {\n var model = require('../apis/codedeploy-2014-10-06.min.json');\n model.paginators = require('../apis/codedeploy-2014-10-06.paginators.json').pagination;\n model.waiters = require('../apis/codedeploy-2014-10-06.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.CodeDeploy;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['sts'] = {};\nAWS.STS = Service.defineService('sts', ['2011-06-15']);\nrequire('../lib/services/sts');\nObject.defineProperty(apiLoader.services['sts'], '2011-06-15', {\n get: function get() {\n var model = require('../apis/sts-2011-06-15.min.json');\n model.paginators = require('../apis/sts-2011-06-15.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.STS;\n","var AWS = require('./core');\n\n/**\n * Represents your AWS security credentials, specifically the\n * {accessKeyId}, {secretAccessKey}, and optional {sessionToken}.\n * Creating a `Credentials` object allows you to pass around your\n * security information to configuration and service objects.\n *\n * Note that this class typically does not need to be constructed manually,\n * as the {AWS.Config} and {AWS.Service} classes both accept simple\n * options hashes with the three keys. These structures will be converted\n * into Credentials objects automatically.\n *\n * ## Expiring and Refreshing Credentials\n *\n * Occasionally credentials can expire in the middle of a long-running\n * application. In this case, the SDK will automatically attempt to\n * refresh the credentials from the storage location if the Credentials\n * class implements the {refresh} method.\n *\n * If you are implementing a credential storage location, you\n * will want to create a subclass of the `Credentials` class and\n * override the {refresh} method. This method allows credentials to be\n * retrieved from the backing store, be it a file system, database, or\n * some network storage. The method should reset the credential attributes\n * on the object.\n *\n * @!attribute expired\n * @return [Boolean] whether the credentials have been expired and\n * require a refresh. Used in conjunction with {expireTime}.\n * @!attribute expireTime\n * @return [Date] a time when credentials should be considered expired. Used\n * in conjunction with {expired}.\n * @!attribute accessKeyId\n * @return [String] the AWS access key ID\n * @!attribute secretAccessKey\n * @return [String] the AWS secret access key\n * @!attribute sessionToken\n * @return [String] an optional AWS session token\n */\nAWS.Credentials = AWS.util.inherit({\n /**\n * A credentials object can be created using positional arguments or an options\n * hash.\n *\n * @overload AWS.Credentials(accessKeyId, secretAccessKey, sessionToken=null)\n * Creates a Credentials object with a given set of credential information\n * as positional arguments.\n * @param accessKeyId [String] the AWS access key ID\n * @param secretAccessKey [String] the AWS secret access key\n * @param sessionToken [String] the optional AWS session token\n * @example Create a credentials object with AWS credentials\n * var creds = new AWS.Credentials('akid', 'secret', 'session');\n * @overload AWS.Credentials(options)\n * Creates a Credentials object with a given set of credential information\n * as an options hash.\n * @option options accessKeyId [String] the AWS access key ID\n * @option options secretAccessKey [String] the AWS secret access key\n * @option options sessionToken [String] the optional AWS session token\n * @example Create a credentials object with AWS credentials\n * var creds = new AWS.Credentials({\n * accessKeyId: 'akid', secretAccessKey: 'secret', sessionToken: 'session'\n * });\n */\n constructor: function Credentials() {\n // hide secretAccessKey from being displayed with util.inspect\n AWS.util.hideProperties(this, ['secretAccessKey']);\n\n this.expired = false;\n this.expireTime = null;\n this.refreshCallbacks = [];\n if (arguments.length === 1 && typeof arguments[0] === 'object') {\n var creds = arguments[0].credentials || arguments[0];\n this.accessKeyId = creds.accessKeyId;\n this.secretAccessKey = creds.secretAccessKey;\n this.sessionToken = creds.sessionToken;\n } else {\n this.accessKeyId = arguments[0];\n this.secretAccessKey = arguments[1];\n this.sessionToken = arguments[2];\n }\n },\n\n /**\n * @return [Integer] the number of seconds before {expireTime} during which\n * the credentials will be considered expired.\n */\n expiryWindow: 15,\n\n /**\n * @return [Boolean] whether the credentials object should call {refresh}\n * @note Subclasses should override this method to provide custom refresh\n * logic.\n */\n needsRefresh: function needsRefresh() {\n var currentTime = AWS.util.date.getDate().getTime();\n var adjustedTime = new Date(currentTime + this.expiryWindow * 1000);\n\n if (this.expireTime && adjustedTime > this.expireTime) {\n return true;\n } else {\n return this.expired || !this.accessKeyId || !this.secretAccessKey;\n }\n },\n\n /**\n * Gets the existing credentials, refreshing them if they are not yet loaded\n * or have expired. Users should call this method before using {refresh},\n * as this will not attempt to reload credentials when they are already\n * loaded into the object.\n *\n * @callback callback function(err)\n * When this callback is called with no error, it means either credentials\n * do not need to be refreshed or refreshed credentials information has\n * been loaded into the object (as the `accessKeyId`, `secretAccessKey`,\n * and `sessionToken` properties).\n * @param err [Error] if an error occurred, this value will be filled\n */\n get: function get(callback) {\n var self = this;\n if (this.needsRefresh()) {\n this.refresh(function(err) {\n if (!err) self.expired = false; // reset expired flag\n if (callback) callback(err);\n });\n } else if (callback) {\n callback();\n }\n },\n\n /**\n * @!method getPromise()\n * Returns a 'thenable' promise.\n * Gets the existing credentials, refreshing them if they are not yet loaded\n * or have expired. Users should call this method before using {refresh},\n * as this will not attempt to reload credentials when they are already\n * loaded into the object.\n *\n * Two callbacks can be provided to the `then` method on the returned promise.\n * The first callback will be called if the promise is fulfilled, and the second\n * callback will be called if the promise is rejected.\n * @callback fulfilledCallback function()\n * Called if the promise is fulfilled. When this callback is called, it\n * means either credentials do not need to be refreshed or refreshed\n * credentials information has been loaded into the object (as the\n * `accessKeyId`, `secretAccessKey`, and `sessionToken` properties).\n * @callback rejectedCallback function(err)\n * Called if the promise is rejected.\n * @param err [Error] if an error occurred, this value will be filled\n * @return [Promise] A promise that represents the state of the `get` call.\n * @example Calling the `getPromise` method.\n * var promise = credProvider.getPromise();\n * promise.then(function() { ... }, function(err) { ... });\n */\n\n /**\n * @!method refreshPromise()\n * Returns a 'thenable' promise.\n * Refreshes the credentials. Users should call {get} before attempting\n * to forcibly refresh credentials.\n *\n * Two callbacks can be provided to the `then` method on the returned promise.\n * The first callback will be called if the promise is fulfilled, and the second\n * callback will be called if the promise is rejected.\n * @callback fulfilledCallback function()\n * Called if the promise is fulfilled. When this callback is called, it\n * means refreshed credentials information has been loaded into the object\n * (as the `accessKeyId`, `secretAccessKey`, and `sessionToken` properties).\n * @callback rejectedCallback function(err)\n * Called if the promise is rejected.\n * @param err [Error] if an error occurred, this value will be filled\n * @return [Promise] A promise that represents the state of the `refresh` call.\n * @example Calling the `refreshPromise` method.\n * var promise = credProvider.refreshPromise();\n * promise.then(function() { ... }, function(err) { ... });\n */\n\n /**\n * Refreshes the credentials. Users should call {get} before attempting\n * to forcibly refresh credentials.\n *\n * @callback callback function(err)\n * When this callback is called with no error, it means refreshed\n * credentials information has been loaded into the object (as the\n * `accessKeyId`, `secretAccessKey`, and `sessionToken` properties).\n * @param err [Error] if an error occurred, this value will be filled\n * @note Subclasses should override this class to reset the\n * {accessKeyId}, {secretAccessKey} and optional {sessionToken}\n * on the credentials object and then call the callback with\n * any error information.\n * @see get\n */\n refresh: function refresh(callback) {\n this.expired = false;\n callback();\n },\n\n /**\n * @api private\n * @param callback\n */\n coalesceRefresh: function coalesceRefresh(callback, sync) {\n var self = this;\n if (self.refreshCallbacks.push(callback) === 1) {\n self.load(function onLoad(err) {\n AWS.util.arrayEach(self.refreshCallbacks, function(callback) {\n if (sync) {\n callback(err);\n } else {\n // callback could throw, so defer to ensure all callbacks are notified\n AWS.util.defer(function () {\n callback(err);\n });\n }\n });\n self.refreshCallbacks.length = 0;\n });\n }\n },\n\n /**\n * @api private\n * @param callback\n */\n load: function load(callback) {\n callback();\n }\n});\n\n/**\n * @api private\n */\nAWS.Credentials.addPromisesToClass = function addPromisesToClass(PromiseDependency) {\n this.prototype.getPromise = AWS.util.promisifyMethod('get', PromiseDependency);\n this.prototype.refreshPromise = AWS.util.promisifyMethod('refresh', PromiseDependency);\n};\n\n/**\n * @api private\n */\nAWS.Credentials.deletePromisesFromClass = function deletePromisesFromClass() {\n delete this.prototype.getPromise;\n delete this.prototype.refreshPromise;\n};\n\nAWS.util.addPromises(AWS.Credentials);\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['sqs'] = {};\nAWS.SQS = Service.defineService('sqs', ['2012-11-05']);\nrequire('../lib/services/sqs');\nObject.defineProperty(apiLoader.services['sqs'], '2012-11-05', {\n get: function get() {\n var model = require('../apis/sqs-2012-11-05.min.json');\n model.paginators = require('../apis/sqs-2012-11-05.paginators.json').pagination;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.SQS;\n","function AcceptorStateMachine(states, state) {\n this.currentState = state || null;\n this.states = states || {};\n}\n\nAcceptorStateMachine.prototype.runTo = function runTo(finalState, done, bindObject, inputError) {\n if (typeof finalState === 'function') {\n inputError = bindObject; bindObject = done;\n done = finalState; finalState = null;\n }\n\n var self = this;\n var state = self.states[self.currentState];\n state.fn.call(bindObject || self, inputError, function(err) {\n if (err) {\n if (state.fail) self.currentState = state.fail;\n else return done ? done.call(bindObject, err) : null;\n } else {\n if (state.accept) self.currentState = state.accept;\n else return done ? done.call(bindObject) : null;\n }\n if (self.currentState === finalState) {\n return done ? done.call(bindObject, err) : null;\n }\n\n self.runTo(finalState, done, bindObject, err);\n });\n};\n\nAcceptorStateMachine.prototype.addState = function addState(name, acceptState, failState, fn) {\n if (typeof acceptState === 'function') {\n fn = acceptState; acceptState = null; failState = null;\n } else if (typeof failState === 'function') {\n fn = failState; failState = null;\n }\n\n if (!this.currentState) this.currentState = name;\n this.states[name] = { accept: acceptState, fail: failState, fn: fn };\n return this;\n};\n\n/**\n * @api private\n */\nmodule.exports = AcceptorStateMachine;\n","var util = require('../util');\nvar Rest = require('./rest');\nvar Json = require('./json');\nvar JsonBuilder = require('../json/builder');\nvar JsonParser = require('../json/parser');\n\nfunction populateBody(req) {\n var builder = new JsonBuilder();\n var input = req.service.api.operations[req.operation].input;\n\n if (input.payload) {\n var params = {};\n var payloadShape = input.members[input.payload];\n params = req.params[input.payload];\n if (params === undefined) return;\n\n if (payloadShape.type === 'structure') {\n req.httpRequest.body = builder.build(params, payloadShape);\n applyContentTypeHeader(req);\n } else { // non-JSON payload\n req.httpRequest.body = params;\n if (payloadShape.type === 'binary' || payloadShape.isStreaming) {\n applyContentTypeHeader(req, true);\n }\n }\n } else {\n var body = builder.build(req.params, input);\n if (body !== '{}' || req.httpRequest.method !== 'GET') { //don't send empty body for GET method\n req.httpRequest.body = body;\n }\n applyContentTypeHeader(req);\n }\n}\n\nfunction applyContentTypeHeader(req, isBinary) {\n var operation = req.service.api.operations[req.operation];\n var input = operation.input;\n\n if (!req.httpRequest.headers['Content-Type']) {\n var type = isBinary ? 'binary/octet-stream' : 'application/json';\n req.httpRequest.headers['Content-Type'] = type;\n }\n}\n\nfunction buildRequest(req) {\n Rest.buildRequest(req);\n\n // never send body payload on HEAD/DELETE\n if (['HEAD', 'DELETE'].indexOf(req.httpRequest.method) < 0) {\n populateBody(req);\n }\n}\n\nfunction extractError(resp) {\n Json.extractError(resp);\n}\n\nfunction extractData(resp) {\n Rest.extractData(resp);\n\n var req = resp.request;\n var operation = req.service.api.operations[req.operation];\n var rules = req.service.api.operations[req.operation].output || {};\n var parser;\n var hasEventOutput = operation.hasEventOutput;\n\n if (rules.payload) {\n var payloadMember = rules.members[rules.payload];\n var body = resp.httpResponse.body;\n if (payloadMember.isEventStream) {\n parser = new JsonParser();\n resp.data[payload] = util.createEventStream(\n AWS.HttpClient.streamsApiVersion === 2 ? resp.httpResponse.stream : body,\n parser,\n payloadMember\n );\n } else if (payloadMember.type === 'structure' || payloadMember.type === 'list') {\n var parser = new JsonParser();\n resp.data[rules.payload] = parser.parse(body, payloadMember);\n } else if (payloadMember.type === 'binary' || payloadMember.isStreaming) {\n resp.data[rules.payload] = body;\n } else {\n resp.data[rules.payload] = payloadMember.toType(body);\n }\n } else {\n var data = resp.data;\n Json.extractData(resp);\n resp.data = util.merge(data, resp.data);\n }\n}\n\n/**\n * @api private\n */\nmodule.exports = {\n buildRequest: buildRequest,\n extractError: extractError,\n extractData: extractData\n};\n","import mod from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewPromotion.vue?vue&type=style&index=0&lang=css&\"; export default mod; export * from \"-!../../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ViewPromotion.vue?vue&type=style&index=0&lang=css&\"","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['elasticache'] = {};\nAWS.ElastiCache = Service.defineService('elasticache', ['2012-11-15*', '2014-03-24*', '2014-07-15*', '2014-09-30*', '2015-02-02']);\nObject.defineProperty(apiLoader.services['elasticache'], '2015-02-02', {\n get: function get() {\n var model = require('../apis/elasticache-2015-02-02.min.json');\n model.paginators = require('../apis/elasticache-2015-02-02.paginators.json').pagination;\n model.waiters = require('../apis/elasticache-2015-02-02.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ElastiCache;\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['elasticbeanstalk'] = {};\nAWS.ElasticBeanstalk = Service.defineService('elasticbeanstalk', ['2010-12-01']);\nObject.defineProperty(apiLoader.services['elasticbeanstalk'], '2010-12-01', {\n get: function get() {\n var model = require('../apis/elasticbeanstalk-2010-12-01.min.json');\n model.paginators = require('../apis/elasticbeanstalk-2010-12-01.paginators.json').pagination;\n model.waiters = require('../apis/elasticbeanstalk-2010-12-01.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.ElasticBeanstalk;\n","var hashUtils = require('./browserHashUtils');\n\n/**\n * @api private\n */\nfunction Hmac(hashCtor, secret) {\n this.hash = new hashCtor();\n this.outer = new hashCtor();\n\n var inner = bufferFromSecret(hashCtor, secret);\n var outer = new Uint8Array(hashCtor.BLOCK_SIZE);\n outer.set(inner);\n\n for (var i = 0; i < hashCtor.BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n\n this.hash.update(inner);\n this.outer.update(outer);\n\n // Zero out the copied key buffer.\n for (var i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n}\n\n/**\n * @api private\n */\nmodule.exports = exports = Hmac;\n\nHmac.prototype.update = function (toHash) {\n if (hashUtils.isEmptyData(toHash) || this.error) {\n return this;\n }\n\n try {\n this.hash.update(hashUtils.convertToBuffer(toHash));\n } catch (e) {\n this.error = e;\n }\n\n return this;\n};\n\nHmac.prototype.digest = function (encoding) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n\n return this.outer.digest(encoding);\n};\n\nfunction bufferFromSecret(hashCtor, secret) {\n var input = hashUtils.convertToBuffer(secret);\n if (input.byteLength > hashCtor.BLOCK_SIZE) {\n var bufferHash = new hashCtor;\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n var buffer = new Uint8Array(hashCtor.BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n","require('../lib/node_loader');\nvar AWS = require('../lib/core');\nvar Service = AWS.Service;\nvar apiLoader = AWS.apiLoader;\n\napiLoader.services['ses'] = {};\nAWS.SES = Service.defineService('ses', ['2010-12-01']);\nObject.defineProperty(apiLoader.services['ses'], '2010-12-01', {\n get: function get() {\n var model = require('../apis/email-2010-12-01.min.json');\n model.paginators = require('../apis/email-2010-12-01.paginators.json').pagination;\n model.waiters = require('../apis/email-2010-12-01.waiters2.json').waiters;\n return model;\n },\n enumerable: true,\n configurable: true\n});\n\nmodule.exports = AWS.SES;\n"],"sourceRoot":""}