def create_url(self, path, params={}, opts={}):
if opts:<EOL><INDENT>warnings.warn('<STR_LIT>',<EOL>DeprecationWarning, stacklevel=<NUM_LIT:2>)<EOL><DEDENT>params = params or opts<EOL>if self._shard_strategy == SHARD_STRATEGY_CRC:<EOL><INDENT>crc = zlib.crc32(path.encode('<STR_LIT:utf-8>')) & <NUM_LIT><EOL>index = crc % len(self._domains)  <EOL>domain = self._domains[index]<EOL><DEDENT>elif self._shard_strategy == SHARD_STRATEGY_CYCLE:<EOL><INDENT>domain = self._domains[self._shard_next_index]<EOL>self._shard_next_index = (<EOL>self._shard_next_index + <NUM_LIT:1>) % len(self._domains)<EOL><DEDENT>else:<EOL><INDENT>domain = self._domains[<NUM_LIT:0>]<EOL><DEDENT>scheme = "<STR_LIT>" if self._use_https else "<STR_LIT:http>"<EOL>url_obj = UrlHelper(<EOL>domain,<EOL>path,<EOL>scheme,<EOL>sign_key=self._sign_key,<EOL>include_library_param=self._include_library_param,<EOL>params=params)<EOL>return str(url_obj)<EOL>
Create URL with supplied path and `opts` parameters dict.

Parameters
----------
path : str
opts : dict
    Dictionary specifying URL parameters. Non-imgix parameters are
    added to the URL unprocessed. For a complete list of imgix
    supported parameters, visit https://docs.imgix.com/apis/url .
    (default {})

Returns
-------
str
    imgix URL