;ELC   
;;; Compiled
;;; in Emacs version 25.3.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(require 'cl-lib)
#@45 Cache of shell pattern and its translation.
(defvar editorconfig-fnmatch--cache-hash (make-hash-table :test 'equal) (#$ . 428))
#@40 Regular expression for left brace ({).
(defconst editorconfig-fnmatch--left-brace-regexp "\\(^\\|[^\\]\\){" (#$ . 562))
#@41 Regular expression for right brace (}).
(defconst editorconfig-fnmatch--right-brace-regexp "\\(^\\|[^\\]\\)}" (#$ . 688))
#@55 Regular expression for numaric range (like {-3..+3}).
(defconst editorconfig-fnmatch--numeric-range-regexp "\\([+-]?[0-9]+\\)\\.\\.\\([+-]?[0-9]+\\)" (#$ . 816))
#@50 Return how many times REGEXP is found in STRING.
(defalias 'editorconfig-fnmatch--match-num #[(regexp string) "\303\304	\n\"\203 T\n\303\225\305O\202 )\207" [num regexp string 0 string-match nil] 3 (#$ . 984)])
#@562 Test whether NAME match PATTERN.

Matching ignores case if `case-fold-search' is non-nil.

PATTERN should be a shell glob pattern, and some zsh-like wildcard matchings can
be used:

*           Matches any string of characters, except path separators (/)
**          Matches any string of characters
?           Matches any single character
[name]      Matches any single character in name
[^name]     Matches any single character not in name
{s1,s2,s3}  Matches any of the strings given (separated by commas)
{min..max}  Matches any number between min and max
(defalias 'editorconfig-fnmatch-p #[(name pattern) "\306!\211@	A@\307\n\f\"G\310\205\201 \311\211\211\211\211\312W\203} 8\313T\f\"@A@\314!\312H\315U\204q W\204q W\203t \311T\211\2023 ..\207" [pattern translated re num-groups name match editorconfig-fnmatch-translate string-match t nil 0 match-string string-to-number 48 num-groups-len pattern-matched max-num min-num matched-num matched-num-str num-group index --dotimes-limit--] 6 (#$ . 1209)])
#@132 Translate a shell PATTERN to a regular expression.

Translation result will be cached, so same translation will not be done twice.
(defalias 'editorconfig-fnmatch-translate #[(pattern) "\303	\"\211\206 \304\305!	#)\207" [pattern editorconfig-fnmatch--cache-hash cached gethash puthash editorconfig-fnmatch--do-translate] 5 (#$ . 2296)])
#@224 Translate a shell PATTERN to a regular expression.

Set NESTED to t when this function is called from itself.

This function is called from `editorconfig-fnmatch-translate', when no cached
translation is found for PATTERN.
(defalias 'editorconfig-fnmatch--do-translate #[(pattern &optional nested) "\306G\306\307\211\211\310	\"\310\n\"U\307\211\211\211\211\211?@ABCDEFGHHGW\203C\204b \311\312H#\203b H\306\224=\203b \313D\314\315\306\"!C\"D\306\225H\307C\202- HH@HTH\316@\317\"\203\235 H\211?GW\203\223 ?H\317U\203\223 \313D\320\"D\202\372\313D\321\"D\202\372\316@\322\"\203\257 \313D\323\"D\202\372\316@\324\"\203ME\203\306 \313D\325\"D\202\372H?\307?GW\203?H\326U\204\204?H\327U\203\371 ?SH\330U\204\371 \331\202\314 ?T\211?\202\316 \203 \313D\332H?TO\333QC\"D?\334\\H\202\372HGW\203@HH\335>\203@HTH\313D\336\"D\202G\313D\337\"D\331E\202\372\316@\340\"\203nE\203d\313D\341\"D\202\372\313D\342\"D\202\372\316@\326\"\203\203\313D\343\"D\307E\202\372\316@\344\"\203YH?\307?GW\203\242?H\345U\203\247C\203\325\f\204\325?H\346=\203\276C\204\276\331\202\221?H\330=\205\312C?C?T\211?\202\223\f\204;?GW\203;H?OI\311JI\"\211\203\313A\347\350\315\351I\"\315\334I\"D\"C\"A\313D\352\"D\2022\353I\331\"K\313D\354\355K@\"C\"D\313AKA@\"A)?TH)\202\372B\203O\313D\356\"DFTF\202\372\313D\357\"D\202\372\316@\346\"\203\201F\306V\203wC\204w\313D\360\"D\202\372\313D\361\"D\202\372\316@\345\"\203\256F\306V\203\244C\204\244\313D\362\"DFSF\202\372\313D\363\"D\202\372\316@\327\"\203\346H\364\\GX\203\334H\211\364\\O\365\230\203\334\313D\366\"DH\364\\H\202\372\313D\367\"D\202\372@\330U\204\372\313D\314\370@!!C\"D@\330U\203C\203\313D\371\"DC?C\202- \307C\202- L\204)\372\313D\373\"BD\374\375D\376#A.D\207" [pattern editorconfig-fnmatch--left-brace-regexp editorconfig-fnmatch--right-brace-regexp num-range has-comma has-slash 0 nil editorconfig-fnmatch--match-num string-match "[^]\\*?[{},/\\-]+" append regexp-quote match-string eql 42 (".*") ("[^/]*") 63 (".") 91 ("\\[") 93 47 92 t "\\[" "\\]" 2 (33 94) ("[^") ("[") 45 ("-") ("\\-") ("]") 123 125 44 mapcar string-to-number 1 ("\\([+-]?[0-9]+\\)") editorconfig-fnmatch--do-translate format "{%s}" ("\\(?:") ("{") ("\\|") ("\\,") ("\\)") ("}") 3 "**/" ("\\(?:/\\|/.*/\\)") ("/") char-to-string ("\\\\") "^" ("\\'") mapconcat identity "" pos current-char numeric-groups matching-braces is-escaped result in-brackets brace-level length index pattern-sub editorconfig-fnmatch--numeric-range-regexp inner nested] 14 (#$ . 2645)])
(provide 'editorconfig-fnmatch)
