UserDetailsAwareConfigurer<AuthenticationManagerBuilder,UserDetailsManager>jdbcAuthenticationjdbcAuthentication()InMemoryUserDetailsManagerConfigurer<>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configurers/provisioning/InMemoryUserDetailsManagerConfigurer.classInMemoryUserDetailsManagerConfigurer<AuthenticationManagerBuilder>UserDetailsManagerConfigurer<AuthenticationManagerBuilder,InMemoryUserDetailsManagerConfigurer<AuthenticationManagerBuilder>>UserDetailsServiceConfigurer<AuthenticationManagerBuilder,InMemoryUserDetailsManagerConfigurer<AuthenticationManagerBuilder>,UserDetailsManager>AbstractDaoAuthenticationConfigurer<AuthenticationManagerBuilder,InMemoryUserDetailsManagerConfigurer<AuthenticationManagerBuilder>,UserDetailsManager>inMemoryAuthenticationinMemoryAuthentication()eraseCredentials(boolean)authenticationEventPublisherauthenticationEventPublisher(org.springframework.security.authentication.AuthenticationEventPublisher)parentAuthenticationManagerparentAuthenticationManager(org.springframework.security.authentication.AuthenticationManager)AuthenticationManagerBuilder(org.springframework.security.config.annotation.ObjectPostProcessor)org.springframework.security.config.annotation.authentication.configurationAuthenticationConfiguration/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configuration/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configuration/AuthenticationConfiguration.classsetObjectPostProcessorsetObjectPostProcessor(org.springframework.security.config.annotation.ObjectPostProcessor)List<GlobalAuthenticationConfigurerAdapter>SequencedCollection<GlobalAuthenticationConfigurerAdapter>Collection<GlobalAuthenticationConfigurerAdapter>Iterable<GlobalAuthenticationConfigurerAdapter>setGlobalAuthenticationConfigurerssetGlobalAuthenticationConfigurers(java.util.List)getAuthenticationManagergetAuthenticationManager()initializeAuthenticationProviderBeanManagerConfigurerinitializeAuthenticationProviderBeanManagerConfigurer(org.springframework.context.ApplicationContext)initializeUserDetailsBeanManagerConfigurerinitializeUserDetailsBeanManagerConfigurer(org.springframework.context.ApplicationContext)enableGlobalAuthenticationAutowiredConfigurerenableGlobalAuthenticationAutowiredConfigurer(org.springframework.context.ApplicationContext)authenticationManagerBuilderauthenticationManagerBuilder(org.springframework.security.config.annotation.ObjectPostProcessor,org.springframework.context.ApplicationContext)AuthenticationConfiguration()EnableGlobalAuthentication/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configuration/EnableGlobalAuthentication.classGlobalAuthenticationConfigurerAdapter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configuration/GlobalAuthenticationConfigurerAdapter.classconfigure(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder)init(org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder)100GlobalAuthenticationConfigurerAdapter()InitializeAuthenticationProviderBeanManagerConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configuration/InitializeAuthenticationProviderBeanManagerConfigurer.class2147478547InitializeAuthenticationProviderBeanManagerConfigurer(org.springframework.context.ApplicationContext)DEFAULT_ORDERInitializeUserDetailsBeanManagerConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configuration/InitializeUserDetailsBeanManagerConfigurer.class2147478647InitializeUserDetailsBeanManagerConfigurer(org.springframework.context.ApplicationContext)ContextSourceBuilder/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configurers/ldap/LdapAuthenticationProviderConfigurer$ContextSourceBuilder.classContextSourceBuilder<>url(java.lang.String)root(java.lang.String)portport(int)managerPasswordmanagerPassword(java.lang.String)managerDnmanagerDn(java.lang.String)ldifldif(java.lang.String)PasswordCompareConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configurers/ldap/LdapAuthenticationProviderConfigurer$PasswordCompareConfigurer.classPasswordCompareConfigurer<>passwordAttributepasswordAttribute(java.lang.String)passwordEncoder(org.springframework.security.crypto.password.PasswordEncoder)LdapAuthenticationProviderConfigurerSecurityConfigurerAdapter<AuthenticationManager,B>SecurityConfigurer<AuthenticationManager,B>configure(org.springframework.security.config.annotation.authentication.ProviderManagerBuilder)init(org.springframework.security.config.annotation.authentication.ProviderManagerBuilder)setBuilder(org.springframework.security.config.annotation.authentication.ProviderManagerBuilder)SecurityConfigurerAdapter<AuthenticationManager,B>()ProviderManagerBuilder<B>passwordComparepasswordCompare()userSearchFilteruserSearchFilter(java.lang.String)userSearchBaseuserSearchBase(java.lang.String)rolePrefixrolePrefix(java.lang.String)groupSearchFiltergroupSearchFilter(java.lang.String)groupSearchSubtreegroupSearchSubtree(boolean)groupSearchBasegroupSearchBase(java.lang.String)groupRoleAttributegroupRoleAttribute(java.lang.String)org.springframework.security.ldap.userdetailsUserDetailsContextMapperuserDetailsContextMapperuserDetailsContextMapper(org.springframework.security.ldap.userdetails.UserDetailsContextMapper)userDnPatternsuserDnPatterns(java.lang.String[])contextSourcecontextSource()org.springframework.ldap.core.supportBaseLdapPathContextSourcecontextSource(org.springframework.ldap.core.support.BaseLdapPathContextSource)getAuthoritiesMappergetAuthoritiesMapper()authoritiesMapperauthoritiesMapper(org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper)LdapAuthoritiesPopulatorldapAuthoritiesPopulatorldapAuthoritiesPopulator(org.springframework.security.ldap.userdetails.LdapAuthoritiesPopulator)LdapAuthenticationProviderConfigurer()InMemoryUserDetailsManagerConfigurerUserDetailsManagerConfigurer<B,InMemoryUserDetailsManagerConfigurer>UserDetailsServiceConfigurer<B,InMemoryUserDetailsManagerConfigurer,UserDetailsManager>AbstractDaoAuthenticationConfigurer<B,InMemoryUserDetailsManagerConfigurer,UserDetailsManager>UserDetailsAwareConfigurer<B,UserDetailsManager>getUserDetailsServicegetUserDetailsService()UserDetailsAwareConfigurerUserDetailsAwareConfigurer()UserDetailsAwareConfigurer<B,UserDetailsManager>()userDetailsPasswordManageruserDetailsPasswordManager(org.springframework.security.core.userdetails.UserDetailsPasswordService)AbstractDaoAuthenticationConfigurerAbstractDaoAuthenticationConfigurer(org.springframework.security.core.userdetails.UserDetailsService)AbstractDaoAuthenticationConfigurer<B,InMemoryUserDetailsManagerConfigurer,UserDetailsManager>(org.springframework.security.provisioning.UserDetailsManager)initUserDetailsServiceinitUserDetailsService()UserDetailsServiceConfigurerUserDetailsServiceConfigurer(org.springframework.security.core.userdetails.UserDetailsService)UserDetailsServiceConfigurer<B,InMemoryUserDetailsManagerConfigurer,UserDetailsManager>(org.springframework.security.provisioning.UserDetailsManager)UserDetailsBuilder<>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/authentication/configurers/provisioning/UserDetailsManagerConfigurer$UserDetailsBuilder.classwithUserwithUser(java.lang.String)withUser(org.springframework.security.core.userdetails.User.UserBuilder)withUser(org.springframework.security.core.userdetails.UserDetails)UserDetailsManagerConfigurerUserDetailsManagerConfigurer(org.springframework.security.provisioning.UserDetailsManager)UserDetailsManagerConfigurer<B,InMemoryUserDetailsManagerConfigurer>(org.springframework.security.provisioning.UserDetailsManager)InMemoryUserDetailsManagerConfigurer()JdbcUserDetailsManagerConfigurerUserDetailsManagerConfigurer<B,JdbcUserDetailsManagerConfigurer>UserDetailsServiceConfigurer<B,JdbcUserDetailsManagerConfigurer,UserDetailsManager>AbstractDaoAuthenticationConfigurer<B,JdbcUserDetailsManagerConfigurer,UserDetailsManager>AbstractDaoAuthenticationConfigurer<B,JdbcUserDetailsManagerConfigurer,UserDetailsManager>(org.springframework.security.provisioning.UserDetailsManager)UserDetailsServiceConfigurer<B,JdbcUserDetailsManagerConfigurer,UserDetailsManager>(org.springframework.security.provisioning.UserDetailsManager)UserDetailsManagerConfigurer<B,JdbcUserDetailsManagerConfigurer>(org.springframework.security.provisioning.UserDetailsManager)getDatabasePopulatorgetDatabasePopulator()withDefaultSchemawithDefaultSchema()userCacheuserCache(org.springframework.security.core.userdetails.UserCache)groupAuthoritiesByUsernamegroupAuthoritiesByUsername(java.lang.String)authoritiesByUsernameQueryauthoritiesByUsernameQuery(java.lang.String)usersByUsernameQueryusersByUsernameQuery(java.lang.String)dataSourcedataSource(javax.sql.DataSource)JdbcUserDetailsManagerConfigurer()JdbcUserDetailsManagerConfigurer(org.springframework.security.provisioning.JdbcUserDetailsManager)UserDetailsBuilderdisableddisabled(boolean)credentialsExpiredcredentialsExpired(boolean)accountLockedaccountLocked(boolean)accountExpiredaccountExpired(boolean)authoritiesauthorities(java.lang.String[])authorities(java.util.List)GrantedAuthority[]authorities(org.springframework.security.core.GrantedAuthority[])rolesroles(java.lang.String[])UserDetailsServiceConfigurer<B,C,UserDetailsManager>AbstractDaoAuthenticationConfigurer<B,C,UserDetailsManager>AbstractDaoAuthenticationConfigurer<B,C,UserDetailsManager>(org.springframework.security.provisioning.UserDetailsManager)UserDetailsServiceConfigurer<B,C,UserDetailsManager>(org.springframework.security.provisioning.UserDetailsManager)UserDetailsAwareConfigurer<B,U>UserDetailsAwareConfigurer<B,U>()DaoAuthenticationConfigurerAbstractDaoAuthenticationConfigurer<B,DaoAuthenticationConfigurer,U>AbstractDaoAuthenticationConfigurer<B,DaoAuthenticationConfigurer,U>(org.springframework.security.core.userdetails.UserDetailsService)DaoAuthenticationConfigurer(org.springframework.security.core.userdetails.UserDetailsService)AbstractDaoAuthenticationConfigurer<B,C,U>AbstractDaoAuthenticationConfigurer<B,C,U>(org.springframework.security.core.userdetails.UserDetailsService)org.springframework.security.config.annotation.configurationObjectPostProcessorConfiguration/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/configuration/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/configuration/ObjectPostProcessorConfiguration.classObjectPostProcessor<>objectPostProcessor(org.springframework.beans.factory.config.AutowireCapableBeanFactory)ObjectPostProcessorConfiguration()HttpSecurityBuilderHaddFilter(jakarta.servlet.Filter)addFilterBeforeaddFilterBefore(jakarta.servlet.Filter,java.lang.Class)addFilterAfteraddFilterAfter(jakarta.servlet.Filter,java.lang.Class)SecurityConfigurer<DefaultSecurityFilterChain,H>org.springframework.security.config.annotation.web.buildersRequestMatcherConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/builders/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/builders/HttpSecurity$RequestMatcherConfigurer.classAbstractRequestMatcherRegistry<RequestMatcherConfigurer>AbstractRequestMatcherRegistry<RequestMatcherConfigurer>()/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/builders/HttpSecurity.classRequestMatcherConfigurer(org.springframework.context.ApplicationContext)matchersHttpSecurityHttpSecurityBuilder<HttpSecurity>securityMatchersecurityMatcher(java.lang.String[])securityMatcher(org.springframework.security.web.util.matcher.RequestMatcher)Customizer<RequestMatcherConfigurer>securityMatcherssecurityMatchers(org.springframework.security.config.Customizer)securityMatchers()addFilterAtaddFilterAt(jakarta.servlet.Filter,java.lang.Class)authenticationManager(org.springframework.security.authentication.AuthenticationManager)PasswordManagementConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/PasswordManagementConfigurer.classAbstractHttpConfigurer<PasswordManagementConfigurer<HttpSecurity>,HttpSecurity>Customizer<PasswordManagementConfigurer<HttpSecurity>>passwordManagementpasswordManagement(org.springframework.security.config.Customizer)HttpBasicConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/HttpBasicConfigurer.classAbstractHttpConfigurer<HttpBasicConfigurer<HttpSecurity>,HttpSecurity>Customizer<HttpBasicConfigurer<HttpSecurity>>httpBasichttpBasic(org.springframework.security.config.Customizer)HttpBasicConfigurer<>httpBasic()ChannelRequestMatcherRegistry<>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/ChannelSecurityConfigurer$ChannelRequestMatcherRegistry.classRequiresChannelUrl<>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/ChannelSecurityConfigurer$RequiresChannelUrl.classChannelSecurityConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/ChannelSecurityConfigurer.classAbstractHttpConfigurer<ChannelSecurityConfigurer<HttpSecurity>,HttpSecurity>AbstractConfigAttributeRequestMatcherRegistry<RequiresChannelUrl<>>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/AbstractConfigAttributeRequestMatcherRegistry.classAbstractRequestMatcherRegistry<RequiresChannelUrl<>>Customizer<ChannelRequestMatcherRegistry<>>requiresChannelrequiresChannel(org.springframework.security.config.Customizer)AbstractConfigAttributeRequestMatcherRegistry<>ChannelSecurityConfigurer<>requiresChannel()org.springframework.security.config.annotation.web.configurers.oauth2.server.resourceOAuth2ResourceServerConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/server/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurer.classAbstractHttpConfigurer<OAuth2ResourceServerConfigurer<HttpSecurity>,HttpSecurity>Customizer<OAuth2ResourceServerConfigurer<HttpSecurity>>oauth2ResourceServeroauth2ResourceServer(org.springframework.security.config.Customizer)OAuth2ResourceServerConfigurer<>oauth2ResourceServer()org.springframework.security.config.annotation.web.configurers.oauth2.clientOAuth2ClientConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2ClientConfigurer.classAbstractHttpConfigurer<OAuth2ClientConfigurer<HttpSecurity>,HttpSecurity>Customizer<OAuth2ClientConfigurer<HttpSecurity>>oauth2Clientoauth2Client(org.springframework.security.config.Customizer)OAuth2ClientConfigurer<>oauth2Client()OidcLogoutConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/OidcLogoutConfigurer.classAbstractHttpConfigurer<OidcLogoutConfigurer<HttpSecurity>,HttpSecurity>Customizer<OidcLogoutConfigurer<HttpSecurity>>oidcLogoutoidcLogout(org.springframework.security.config.Customizer)OidcLogoutConfigurer<>oidcLogout()OAuth2LoginConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2LoginConfigurer.classorg.springframework.security.oauth2.client.webOAuth2LoginAuthenticationFilterAbstractAuthenticationFilterConfigurer<HttpSecurity,OAuth2LoginConfigurer<HttpSecurity>,OAuth2LoginAuthenticationFilter>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/AbstractAuthenticationFilterConfigurer.classAbstractHttpConfigurer<OAuth2LoginConfigurer<HttpSecurity>,HttpSecurity>Customizer<OAuth2LoginConfigurer<HttpSecurity>>oauth2Loginoauth2Login(org.springframework.security.config.Customizer)OAuth2LoginConfigurer<>AbstractAuthenticationFilterConfigurer<>oauth2Login()org.springframework.security.config.annotation.web.configurers.saml2Saml2MetadataConfigurer<>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/saml2/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/saml2/Saml2MetadataConfigurer.classSaml2MetadataConfigurer<HttpSecurity>Saml2LogoutConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/saml2/Saml2LogoutConfigurer.classAbstractHttpConfigurer<Saml2LogoutConfigurer<HttpSecurity>,HttpSecurity>saml2Metadatasaml2Metadata()Customizer<Saml2MetadataConfigurer<HttpSecurity>>saml2Metadata(org.springframework.security.config.Customizer)Saml2LogoutConfigurer<>saml2Logoutsaml2Logout()Customizer<Saml2LogoutConfigurer<HttpSecurity>>saml2Logout(org.springframework.security.config.Customizer)Saml2LoginConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/saml2/Saml2LoginConfigurer.classorg.springframework.security.saml2.provider.service.web.authenticationSaml2WebSsoAuthenticationFilterAbstractAuthenticationFilterConfigurer<HttpSecurity,Saml2LoginConfigurer<HttpSecurity>,Saml2WebSsoAuthenticationFilter>AbstractHttpConfigurer<Saml2LoginConfigurer<HttpSecurity>,HttpSecurity>Customizer<Saml2LoginConfigurer<HttpSecurity>>saml2Loginsaml2Login(org.springframework.security.config.Customizer)Saml2LoginConfigurer<>saml2Login()FormLoginConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/FormLoginConfigurer.classAbstractAuthenticationFilterConfigurer<HttpSecurity,FormLoginConfigurer<HttpSecurity>,UsernamePasswordAuthenticationFilter>AbstractHttpConfigurer<FormLoginConfigurer<HttpSecurity>,HttpSecurity>Customizer<FormLoginConfigurer<HttpSecurity>>formLoginformLogin(org.springframework.security.config.Customizer)FormLoginConfigurer<>formLogin()AnonymousConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/AnonymousConfigurer.classAbstractHttpConfigurer<AnonymousConfigurer<HttpSecurity>,HttpSecurity>Customizer<AnonymousConfigurer<HttpSecurity>>anonymous(org.springframework.security.config.Customizer)AnonymousConfigurer<>logout(org.springframework.security.config.Customizer)csrf(org.springframework.security.config.Customizer)csrf()ServletApiConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/ServletApiConfigurer.classAbstractHttpConfigurer<ServletApiConfigurer<HttpSecurity>,HttpSecurity>Customizer<ServletApiConfigurer<HttpSecurity>>servletApiservletApi(org.springframework.security.config.Customizer)ServletApiConfigurer<>servletApi()securityContextsecurityContext(org.springframework.security.config.Customizer)securityContext()ExceptionHandlingConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/ExceptionHandlingConfigurer.classAbstractHttpConfigurer<ExceptionHandlingConfigurer<HttpSecurity>,HttpSecurity>Customizer<ExceptionHandlingConfigurer<HttpSecurity>>exceptionHandlingexceptionHandling(org.springframework.security.config.Customizer)ExceptionHandlingConfigurer<>exceptionHandling()RequestCacheConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/RequestCacheConfigurer.classAbstractHttpConfigurer<RequestCacheConfigurer<HttpSecurity>,HttpSecurity>Customizer<RequestCacheConfigurer<HttpSecurity>>requestCacherequestCache(org.springframework.security.config.Customizer)RequestCacheConfigurer<>requestCache()authorizeHttpRequestsauthorizeHttpRequests(org.springframework.security.config.Customizer)authorizeHttpRequests()ExpressionInterceptUrlRegistry<>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurer$ExpressionInterceptUrlRegistry.classExpressionUrlAuthorizationConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurer.classAbstractInterceptUrlConfigurer<ExpressionUrlAuthorizationConfigurer<HttpSecurity>,HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/AbstractInterceptUrlConfigurer.classAbstractHttpConfigurer<ExpressionUrlAuthorizationConfigurer<HttpSecurity>,HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/ExpressionUrlAuthorizationConfigurer$AuthorizedUrl.classAbstractInterceptUrlRegistry<ExpressionInterceptUrlRegistry<>,AuthorizedUrl<>>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/AbstractInterceptUrlConfigurer$AbstractInterceptUrlRegistry.classAbstractConfigAttributeRequestMatcherRegistry<AuthorizedUrl<>>Customizer<ExpressionInterceptUrlRegistry<>>authorizeRequestsauthorizeRequests(org.springframework.security.config.Customizer)AbstractInterceptUrlRegistry<>AbstractInterceptUrlConfigurer<>ExpressionUrlAuthorizationConfigurer<>authorizeRequests()RememberMeConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/RememberMeConfigurer.classAbstractHttpConfigurer<RememberMeConfigurer<HttpSecurity>,HttpSecurity>Customizer<RememberMeConfigurer<HttpSecurity>>rememberMe(org.springframework.security.config.Customizer)RememberMeConfigurer<>X509Configurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/X509Configurer.classAbstractHttpConfigurer<X509Configurer<HttpSecurity>,HttpSecurity>Customizer<X509Configurer<HttpSecurity>>x509x509(org.springframework.security.config.Customizer)X509Configurer<>x509()JeeConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/JeeConfigurer.classAbstractHttpConfigurer<JeeConfigurer<HttpSecurity>,HttpSecurity>Customizer<JeeConfigurer<HttpSecurity>>jeejee(org.springframework.security.config.Customizer)JeeConfigurer<>jee()PortMapperConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/PortMapperConfigurer.classAbstractHttpConfigurer<PortMapperConfigurer<HttpSecurity>,HttpSecurity>Customizer<PortMapperConfigurer<HttpSecurity>>portMapperportMapper(org.springframework.security.config.Customizer)PortMapperConfigurer<>portMapper()SessionManagementConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/SessionManagementConfigurer.classAbstractHttpConfigurer<SessionManagementConfigurer<HttpSecurity>,HttpSecurity>Customizer<SessionManagementConfigurer<HttpSecurity>>sessionManagementsessionManagement(org.springframework.security.config.Customizer)SessionManagementConfigurer<>sessionManagement()CorsConfigurer<HttpSecurity>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/CorsConfigurer.classAbstractHttpConfigurer<CorsConfigurer<HttpSecurity>,HttpSecurity>Customizer<CorsConfigurer<HttpSecurity>>corscors(org.springframework.security.config.Customizer)CorsConfigurer<>cors()headers(org.springframework.security.config.Customizer)headers()HttpSecurity(org.springframework.security.config.annotation.ObjectPostProcessor,org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder,java.util.Map)IgnoredRequestConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/builders/WebSecurity$IgnoredRequestConfigurer.classAbstractRequestMatcherRegistry<IgnoredRequestConfigurer>AbstractRequestMatcherRegistry<IgnoredRequestConfigurer>()IgnoredRequestConfigurer(org.springframework.context.ApplicationContext)WebSecurity/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/builders/WebSecurity.classAbstractConfiguredSecurityBuilder<Filter,WebSecurity>AbstractSecurityBuilder<Filter>SecurityBuilder<Filter>AbstractSecurityBuilder<Filter>()AbstractConfiguredSecurityBuilder<Filter,WebSecurity>(org.springframework.security.config.annotation.ObjectPostProcessor,boolean)AbstractConfiguredSecurityBuilder<Filter,WebSecurity>(org.springframework.security.config.annotation.ObjectPostProcessor)getFilterChainDecoratorgetFilterChainDecorator()setServletContextsetServletContext(jakarta.servlet.ServletContext)requestRejectedHandlerrequestRejectedHandler(org.springframework.security.web.firewall.RequestRejectedHandler)postBuildActionpostBuildAction(java.lang.Runnable)getPrivilegeEvaluatorgetPrivilegeEvaluator()SecurityExpressionHandler<>SecurityExpressionHandler<FilterInvocation>getExpressionHandlergetExpressionHandler()expressionHandlerexpressionHandler(org.springframework.security.access.expression.SecurityExpressionHandler)privilegeEvaluatorprivilegeEvaluator(org.springframework.security.web.access.WebInvocationPrivilegeEvaluator)? extends SecurityFilterChainSecurityBuilder<? extends SecurityFilterChain>addSecurityFilterChainBuilderaddSecurityFilterChainBuilder(org.springframework.security.config.annotation.SecurityBuilder)debug(boolean)httpFirewallhttpFirewall(org.springframework.security.web.firewall.HttpFirewall)ignoringignoring()WebSecurity(org.springframework.security.config.annotation.ObjectPostProcessor)org.springframework.security.config.annotation.web.configurationEnableWebSecurity/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configuration/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configuration/EnableWebSecurity.classdebug()HttpSecurityConfiguration/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configuration/HttpSecurityConfiguration.classhttpSecurityhttpSecurity()"org.springframework.security.config.annotation.web.configuration.HttpSecurityConfiguration.httpSecurity"org.springframework.security.config.annotation.web.configuration.HttpSecurityConfiguration.httpSecurity"prototype"prototypesetContentNegotiationStrategysetContentNegotiationStrategy(org.springframework.web.accept.ContentNegotiationStrategy)setSecurityContextHolderStrategysetSecurityContextHolderStrategy(org.springframework.security.core.context.SecurityContextHolderStrategy)setAuthenticationConfigurationsetAuthenticationConfiguration(org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration)HttpSecurityConfiguration()OAuth2ImportSelector/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configuration/OAuth2ImportSelector.classOAuth2ImportSelector()SpringWebMvcImportSelector/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configuration/SpringWebMvcImportSelector.classSpringWebMvcImportSelector()WebSecurityConfiguration/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.classconversionServicePostProcessorconversionServicePostProcessor()List<WebSecurityCustomizer>SequencedCollection<WebSecurityCustomizer>Collection<WebSecurityCustomizer>Iterable<WebSecurityCustomizer>setWebSecurityCustomizerssetWebSecurityCustomizers(java.util.List)List<SecurityFilterChain>SequencedCollection<SecurityFilterChain>Collection<SecurityFilterChain>Iterable<SecurityFilterChain>setFilterChainssetFilterChains(java.util.List)setFilterChainProxySecurityConfigurersetFilterChainProxySecurityConfigurer(org.springframework.security.config.annotation.ObjectPostProcessor,org.springframework.beans.factory.config.ConfigurableListableBeanFactory)privilegeEvaluator()"springSecurityFilterChain"springSecurityFilterChainspringSecurityFilterChain()webSecurityExpressionHandlerwebSecurityExpressionHandler()delegatingApplicationListenerdelegatingApplicationListener()WebSecurityConfiguration()WebSecurityCustomizer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configuration/WebSecurityCustomizer.classcustomize(org.springframework.security.config.annotation.web.builders.WebSecurity)AbstractAuthenticationFilterConfigurerAbstractHttpConfigurer<T,B>SecurityConfigurerAdapter<DefaultSecurityFilterChain,B>SecurityConfigurer<DefaultSecurityFilterChain,B>setBuilder(org.springframework.security.config.annotation.web.HttpSecurityBuilder)SecurityConfigurerAdapter<DefaultSecurityFilterChain,B>()AbstractHttpConfigurer<T,B>()HttpSecurityBuilder<B>updateAccessDefaultsupdateAccessDefaults(org.springframework.security.config.annotation.web.HttpSecurityBuilder)updateAuthenticationDefaultsupdateAuthenticationDefaults()getFailureUrlgetFailureUrl()getLoginProcessingUrlgetLoginProcessingUrl()getAuthenticationEntryPointgetAuthenticationEntryPoint()getLoginPagegetLoginPage()setAuthenticationFiltersetAuthenticationFilter(org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter)getAuthenticationFiltergetAuthenticationFilter()isCustomLoginPageisCustomLoginPage()loginPageloginPage(java.lang.String)getAuthenticationEntryPointMatchergetAuthenticationEntryPointMatcher(org.springframework.security.config.annotation.web.HttpSecurityBuilder)registerAuthenticationEntryPointregisterAuthenticationEntryPoint(org.springframework.security.config.annotation.web.HttpSecurityBuilder,org.springframework.security.web.AuthenticationEntryPoint)registerDefaultAuthenticationEntryPointregisterDefaultAuthenticationEntryPoint(org.springframework.security.config.annotation.web.HttpSecurityBuilder)failureHandlerfailureHandler(org.springframework.security.web.authentication.AuthenticationFailureHandler)failureUrlfailureUrl(java.lang.String)successHandlersuccessHandler(org.springframework.security.web.authentication.AuthenticationSuccessHandler)AuthenticationDetailsSource<HttpServletRequest,?>authenticationDetailsSourceauthenticationDetailsSource(org.springframework.security.authentication.AuthenticationDetailsSource)createLoginProcessingUrlMatchercreateLoginProcessingUrlMatcher(java.lang.String)loginProcessingUrlloginProcessingUrl(java.lang.String)defaultSuccessUrldefaultSuccessUrl(java.lang.String,boolean)defaultSuccessUrl(java.lang.String)AbstractAuthenticationFilterConfigurer(org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter,java.lang.String)AbstractAuthenticationFilterConfigurer()UrlMapping/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/AbstractConfigAttributeRequestMatcherRegistry$UrlMapping.classgetConfigAttrsgetConfigAttrs()getRequestMatchergetRequestMatcher()UrlMapping(org.springframework.security.web.util.matcher.RequestMatcher,java.util.Collection)AbstractConfigAttributeRequestMatcherRegistryAbstractRequestMatcherRegistry<C>AbstractRequestMatcherRegistry<C>()LinkedHashMap<RequestMatcher,Collection<ConfigAttribute>>HashMap<RequestMatcher,Collection<ConfigAttribute>>AbstractMap<RequestMatcher,Collection<ConfigAttribute>>Map<RequestMatcher,Collection<ConfigAttribute>>SequencedMap<RequestMatcher,Collection<ConfigAttribute>>createRequestMapcreateRequestMap()addMapping(int,org.springframework.security.config.annotation.web.configurers.AbstractConfigAttributeRequestMatcherRegistry.UrlMapping)chainRequestMatchersInternalchainRequestMatchersInternal(java.util.List)addMapping(org.springframework.security.config.annotation.web.configurers.AbstractConfigAttributeRequestMatcherRegistry.UrlMapping)List<UrlMapping>SequencedCollection<UrlMapping>Collection<UrlMapping>Iterable<UrlMapping>getUrlMappingsgetUrlMappings()AbstractConfigAttributeRequestMatcherRegistry()AbstractInterceptUrlRegistryAbstractConfigAttributeRequestMatcherRegistry<T>AbstractRequestMatcherRegistry<T>AbstractRequestMatcherRegistry<T>()AbstractConfigAttributeRequestMatcherRegistry<T>()filterSecurityInterceptorOncePerRequestfilterSecurityInterceptorOncePerRequest(boolean)accessDecisionManageraccessDecisionManager(org.springframework.security.access.AccessDecisionManager)AbstractInterceptUrlRegistry()AbstractInterceptUrlConfigurerAbstractHttpConfigurer<C,H>SecurityConfigurerAdapter<DefaultSecurityFilterChain,H>SecurityConfigurerAdapter<DefaultSecurityFilterChain,H>()AbstractHttpConfigurer<C,H>()HttpSecurityBuilder<H>AccessDecisionVoter<?>List<AccessDecisionVoter<?>>SequencedCollection<AccessDecisionVoter<?>>Collection<AccessDecisionVoter<?>>Iterable<AccessDecisionVoter<?>>getDecisionVotersgetDecisionVoters(org.springframework.security.config.annotation.web.HttpSecurityBuilder)createMetadataSourcecreateMetadataSource(org.springframework.security.config.annotation.web.HttpSecurityBuilder)AbstractInterceptUrlConfigurer()AnonymousConfigurerAbstractHttpConfigurer<AnonymousConfigurer,H>AbstractHttpConfigurer<AnonymousConfigurer,H>()authenticationFilterauthenticationFilter(org.springframework.security.web.authentication.AnonymousAuthenticationFilter)List<GrantedAuthority>SequencedCollection<GrantedAuthority>principalprincipal(java.lang.Object)key(java.lang.String)AnonymousConfigurer()AuthorizationManagerRequestMatcherRegistryAbstractRequestMatcherRegistry<AuthorizedUrl>AbstractRequestMatcherRegistry<AuthorizedUrl>()shouldFilterAllDispatcherTypesshouldFilterAllDispatcherTypes(boolean)AuthorizeHttpRequestsConfigurerAbstractHttpConfigurer<AuthorizeHttpRequestsConfigurer,H>AbstractHttpConfigurer<AuthorizeHttpRequestsConfigurer,H>()addFirst(org.springframework.security.web.util.matcher.RequestMatcher,org.springframework.security.authorization.AuthorizationManager)getRegistrygetRegistry()AuthorizeHttpRequestsConfigurer(org.springframework.context.ApplicationContext)permitAllAuthorizationManagerChannelRequestMatcherRegistryAbstractConfigAttributeRequestMatcherRegistry<RequiresChannelUrl>AbstractRequestMatcherRegistry<RequiresChannelUrl>AbstractRequestMatcherRegistry<RequiresChannelUrl>()AbstractConfigAttributeRequestMatcherRegistry<RequiresChannelUrl>()redirectStrategyredirectStrategy(org.springframework.security.web.RedirectStrategy)List<ChannelProcessor>SequencedCollection<ChannelProcessor>Collection<ChannelProcessor>Iterable<ChannelProcessor>channelProcessorschannelProcessors(java.util.List)RequiresChannelUrlrequiresInsecurerequiresInsecure()requiresSecurerequiresSecure()RequiresChannelUrl(java.util.List)ChannelSecurityConfigurerAbstractHttpConfigurer<ChannelSecurityConfigurer,H>AbstractHttpConfigurer<ChannelSecurityConfigurer,H>()ChannelSecurityConfigurer(org.springframework.context.ApplicationContext)CorsConfigurerAbstractHttpConfigurer<CorsConfigurer,H>AbstractHttpConfigurer<CorsConfigurer,H>()configurationSourceconfigurationSource(org.springframework.web.cors.CorsConfigurationSource)CorsConfigurer()CsrfConfigurerAbstractHttpConfigurer<CsrfConfigurer,H>AbstractHttpConfigurer<CsrfConfigurer,H>()sessionAuthenticationStrategysessionAuthenticationStrategy(org.springframework.security.web.authentication.session.SessionAuthenticationStrategy)ignoringRequestMatchersignoringRequestMatchers(java.lang.String[])ignoringRequestMatchers(org.springframework.security.web.util.matcher.RequestMatcher[])csrfTokenRequestHandlercsrfTokenRequestHandler(org.springframework.security.web.csrf.CsrfTokenRequestHandler)requireCsrfProtectionMatcherrequireCsrfProtectionMatcher(org.springframework.security.web.util.matcher.RequestMatcher)csrfTokenRepositorycsrfTokenRepository(org.springframework.security.web.csrf.CsrfTokenRepository)CsrfConfigurer(org.springframework.context.ApplicationContext)ExceptionHandlingConfigurerAbstractHttpConfigurer<ExceptionHandlingConfigurer,H>AbstractHttpConfigurer<ExceptionHandlingConfigurer,H>()getAuthenticationEntryPoint(org.springframework.security.config.annotation.web.HttpSecurityBuilder)getAccessDeniedHandlergetAccessDeniedHandler(org.springframework.security.config.annotation.web.HttpSecurityBuilder)getAccessDeniedHandler()defaultAuthenticationEntryPointFordefaultAuthenticationEntryPointFor(org.springframework.security.web.AuthenticationEntryPoint,org.springframework.security.web.util.matcher.RequestMatcher)authenticationEntryPointauthenticationEntryPoint(org.springframework.security.web.AuthenticationEntryPoint)defaultAccessDeniedHandlerFordefaultAccessDeniedHandlerFor(org.springframework.security.web.access.AccessDeniedHandler,org.springframework.security.web.util.matcher.RequestMatcher)accessDeniedHandleraccessDeniedHandler(org.springframework.security.web.access.AccessDeniedHandler)accessDeniedPageaccessDeniedPage(java.lang.String)ExceptionHandlingConfigurer()access(java.lang.String)hasIpAddresshasIpAddress(java.lang.String)ExpressionInterceptUrlRegistryAbstractInterceptUrlRegistry<ExpressionInterceptUrlRegistry,AuthorizedUrl>AbstractConfigAttributeRequestMatcherRegistry<AuthorizedUrl>AbstractInterceptUrlConfigurer<ExpressionUrlAuthorizationConfigurer,H>AbstractHttpConfigurer<ExpressionUrlAuthorizationConfigurer,H>AbstractConfigAttributeRequestMatcherRegistry<AuthorizedUrl>()AbstractInterceptUrlRegistry<ExpressionInterceptUrlRegistry,AuthorizedUrl>()ExpressionUrlAuthorizationConfigurerAbstractHttpConfigurer<ExpressionUrlAuthorizationConfigurer,H>()AbstractInterceptUrlConfigurer<ExpressionUrlAuthorizationConfigurer,H>()ExpressionUrlAuthorizationConfigurer(org.springframework.context.ApplicationContext)FormLoginConfigurerAbstractAuthenticationFilterConfigurer<H,FormLoginConfigurer,UsernamePasswordAuthenticationFilter>AbstractHttpConfigurer<FormLoginConfigurer,H>AbstractHttpConfigurer<FormLoginConfigurer,H>()setAuthenticationFilter(org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter)AbstractAuthenticationFilterConfigurer<H,FormLoginConfigurer,UsernamePasswordAuthenticationFilter>(org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter,java.lang.String)AbstractAuthenticationFilterConfigurer<H,FormLoginConfigurer,UsernamePasswordAuthenticationFilter>()successForwardUrlsuccessForwardUrl(java.lang.String)failureForwardUrlfailureForwardUrl(java.lang.String)passwordParameterpasswordParameter(java.lang.String)usernameParameterusernameParameter(java.lang.String)FormLoginConfigurer()CacheControlConfigContentSecurityPolicyConfigreportOnlyreportOnly()policyDirectivespolicyDirectives(java.lang.String)ContentTypeOptionsConfigCrossOriginEmbedderPolicyConfigpolicypolicy(org.springframework.security.web.header.writers.CrossOriginEmbedderPolicyHeaderWriter.CrossOriginEmbedderPolicy)CrossOriginEmbedderPolicyConfig()CrossOriginOpenerPolicyConfigpolicy(org.springframework.security.web.header.writers.CrossOriginOpenerPolicyHeaderWriter.CrossOriginOpenerPolicy)CrossOriginOpenerPolicyConfig()CrossOriginResourcePolicyConfigpolicy(org.springframework.security.web.header.writers.CrossOriginResourcePolicyHeaderWriter.CrossOriginResourcePolicy)CrossOriginResourcePolicyConfig()FeaturePolicyConfigFrameOptionsConfigHpkpConfigreportUrireportUri(java.lang.String)reportUri(java.net.URI)reportOnly(boolean)includeSubDomainsincludeSubDomains(boolean)maxAgeInSecondsmaxAgeInSeconds(long)addSha256PinsaddSha256Pins(java.lang.String[])withPinswithPins(java.util.Map)HstsConfigpreloadpreload(boolean)requestMatcherrequestMatcher(org.springframework.security.web.util.matcher.RequestMatcher)PermissionsPolicyConfigpolicy(java.lang.String)ReferrerPolicyConfigpolicy(org.springframework.security.web.header.writers.ReferrerPolicyHeaderWriter.ReferrerPolicy)XXssConfigheaderValueheaderValue(org.springframework.security.web.header.writers.XXssProtectionHeaderWriter.HeaderValue)AbstractHttpConfigurer<HeadersConfigurer,H>AbstractHttpConfigurer<HeadersConfigurer,H>()HttpBasicConfigurerAbstractHttpConfigurer<HttpBasicConfigurer,B>AbstractHttpConfigurer<HttpBasicConfigurer,B>()realmNamerealmName(java.lang.String)HttpBasicConfigurer()JeeConfigurerAbstractHttpConfigurer<JeeConfigurer,H>AbstractHttpConfigurer<JeeConfigurer,H>()j2eePreAuthenticatedProcessingFilterj2eePreAuthenticatedProcessingFilter(org.springframework.security.web.authentication.preauth.j2ee.J2eePreAuthenticatedProcessingFilter)org.springframework.security.core.userdetailsAuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken>/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/AuthenticationUserDetailsService.classauthenticatedUserDetailsServiceauthenticatedUserDetailsService(org.springframework.security.core.userdetails.AuthenticationUserDetailsService)mappableAuthoritiesmappableAuthorities(java.util.Set)mappableRolesmappableRoles(java.lang.String[])mappableAuthorities(java.lang.String[])JeeConfigurer()AbstractHttpConfigurer<LogoutConfigurer,H>AbstractHttpConfigurer<LogoutConfigurer,H>()PasswordManagementConfigurerAbstractHttpConfigurer<PasswordManagementConfigurer,B>PasswordManagementConfigurer<>AbstractHttpConfigurer<PasswordManagementConfigurer,B>()changePasswordPagechangePasswordPage(java.lang.String)PasswordManagementConfigurer()HttpPortMapping/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/PortMapperConfigurer$HttpPortMapping.classmapsTomapsTo(int)PortMapperConfigurerAbstractHttpConfigurer<PortMapperConfigurer,H>AbstractHttpConfigurer<PortMapperConfigurer,H>()HttpPortMapping<>http(int)portMapper(org.springframework.security.web.PortMapper)PortMapperConfigurer()RememberMeConfigurerAbstractHttpConfigurer<RememberMeConfigurer,H>AbstractHttpConfigurer<RememberMeConfigurer,H>()alwaysRememberalwaysRemember(boolean)rememberMeServicesrememberMeServices(org.springframework.security.web.authentication.RememberMeServices)authenticationSuccessHandlerauthenticationSuccessHandler(org.springframework.security.web.authentication.AuthenticationSuccessHandler)rememberMeCookieDomainrememberMeCookieDomain(java.lang.String)rememberMeCookieNamerememberMeCookieName(java.lang.String)rememberMeParameterrememberMeParameter(java.lang.String)tokenRepositorytokenRepository(org.springframework.security.web.authentication.rememberme.PersistentTokenRepository)useSecureCookieuseSecureCookie(boolean)tokenValiditySecondstokenValiditySeconds(int)RememberMeConfigurer()RequestCacheConfigurerAbstractHttpConfigurer<RequestCacheConfigurer,H>AbstractHttpConfigurer<RequestCacheConfigurer,H>()requestCache(org.springframework.security.web.savedrequest.RequestCache)RequestCacheConfigurer()AbstractHttpConfigurer<SecurityContextConfigurer,H>AbstractHttpConfigurer<SecurityContextConfigurer,H>()ServletApiConfigurerAbstractHttpConfigurer<ServletApiConfigurer,H>AbstractHttpConfigurer<ServletApiConfigurer,H>()ServletApiConfigurer()ConcurrencyControlConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/SessionManagementConfigurer$ConcurrencyControlConfigurer.classConcurrencyControlConfigurer<>sessionRegistrysessionRegistry(org.springframework.security.core.session.SessionRegistry)maxSessionsPreventsLoginmaxSessionsPreventsLogin(boolean)expiredSessionStrategyexpiredSessionStrategy(org.springframework.security.web.session.SessionInformationExpiredStrategy)expiredUrlexpiredUrl(java.lang.String)maximumSessionsmaximumSessions(int)SessionFixationConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/SessionManagementConfigurer$SessionFixationConfigurer.classmigrateSessionmigrateSession()newSessionnewSession()SessionFixationConfigurer()SessionManagementConfigurerAbstractHttpConfigurer<SessionManagementConfigurer,H>AbstractHttpConfigurer<SessionManagementConfigurer,H>()getSessionCreationPolicygetSessionCreationPolicy()getSessionAuthenticationFailureHandlergetSessionAuthenticationFailureHandler()getExpiredSessionStrategygetExpiredSessionStrategy()getInvalidSessionStrategygetInvalidSessionStrategy()Customizer<ConcurrencyControlConfigurer>sessionConcurrencysessionConcurrency(org.springframework.security.config.Customizer)Customizer<SessionFixationConfigurer>sessionFixationsessionFixation(org.springframework.security.config.Customizer)SessionFixationConfigurer<>sessionFixation()addSessionAuthenticationStrategyaddSessionAuthenticationStrategy(org.springframework.security.web.authentication.session.SessionAuthenticationStrategy)sessionCreationPolicysessionCreationPolicy(org.springframework.security.config.http.SessionCreationPolicy)enableSessionUrlRewritingenableSessionUrlRewriting(boolean)sessionAuthenticationFailureHandlersessionAuthenticationFailureHandler(org.springframework.security.web.authentication.AuthenticationFailureHandler)sessionAuthenticationErrorUrlsessionAuthenticationErrorUrl(java.lang.String)invalidSessionStrategyinvalidSessionStrategy(org.springframework.security.web.session.InvalidSessionStrategy)requireExplicitAuthenticationStrategyrequireExplicitAuthenticationStrategy(boolean)invalidSessionUrlinvalidSessionUrl(java.lang.String)SessionManagementConfigurer()X509ConfigurerAbstractHttpConfigurer<X509Configurer,H>AbstractHttpConfigurer<X509Configurer,H>()subjectPrincipalRegexsubjectPrincipalRegex(java.lang.String)authenticationUserDetailsServiceauthenticationUserDetailsService(org.springframework.security.core.userdetails.AuthenticationUserDetailsService)AuthenticationDetailsSource<HttpServletRequest,PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails>x509PrincipalExtractorx509PrincipalExtractor(org.springframework.security.web.authentication.preauth.x509.X509PrincipalExtractor)x509AuthenticationFilterx509AuthenticationFilter(org.springframework.security.web.authentication.preauth.x509.X509AuthenticationFilter)X509Configurer()AuthorizationCodeGrantConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2ClientConfigurer$AuthorizationCodeGrantConfigurer.classorg.springframework.security.oauth2.client.endpointOAuth2AuthorizationCodeGrantRequestOAuth2AccessTokenResponseClientOAuth2AccessTokenResponseClient<OAuth2AuthorizationCodeGrantRequest>AuthorizationCodeGrantConfigurer<>accessTokenResponseClientaccessTokenResponseClient(org.springframework.security.oauth2.client.endpoint.OAuth2AccessTokenResponseClient)authorizationRedirectStrategyauthorizationRedirectStrategy(org.springframework.security.web.RedirectStrategy)org.springframework.security.oauth2.core.endpointOAuth2AuthorizationRequestAuthorizationRequestRepositoryAuthorizationRequestRepository<OAuth2AuthorizationRequest>authorizationRequestRepositoryauthorizationRequestRepository(org.springframework.security.oauth2.client.web.AuthorizationRequestRepository)OAuth2AuthorizationRequestResolverauthorizationRequestResolverauthorizationRequestResolver(org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestResolver)OAuth2ClientConfigurerAbstractHttpConfigurer<OAuth2ClientConfigurer,B>AbstractHttpConfigurer<OAuth2ClientConfigurer,B>()Customizer<AuthorizationCodeGrantConfigurer>authorizationCodeGrantauthorizationCodeGrant(org.springframework.security.config.Customizer)authorizationCodeGrant()org.springframework.security.oauth2.clientOAuth2AuthorizedClientServiceauthorizedClientServiceauthorizedClientService(org.springframework.security.oauth2.client.OAuth2AuthorizedClientService)OAuth2AuthorizedClientRepositoryauthorizedClientRepositoryauthorizedClientRepository(org.springframework.security.oauth2.client.web.OAuth2AuthorizedClientRepository)org.springframework.security.oauth2.client.registrationClientRegistrationRepositoryclientRegistrationRepositoryclientRegistrationRepository(org.springframework.security.oauth2.client.registration.ClientRegistrationRepository)OAuth2ClientConfigurer()AuthorizationEndpointConfig/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2LoginConfigurer$AuthorizationEndpointConfig.classAuthorizationEndpointConfig<>baseUribaseUri(java.lang.String)RedirectionEndpointConfig/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2LoginConfigurer$RedirectionEndpointConfig.classRedirectionEndpointConfig<>TokenEndpointConfig/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2LoginConfigurer$TokenEndpointConfig.classTokenEndpointConfig<>UserInfoEndpointConfig/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/OAuth2LoginConfigurer$UserInfoEndpointConfig.classUserInfoEndpointConfig<>userAuthoritiesMapperuserAuthoritiesMapper(org.springframework.security.core.authority.mapping.GrantedAuthoritiesMapper)org.springframework.security.oauth2.client.oidc.userinfoOidcUserRequestorg.springframework.security.oauth2.core.oidc.userOidcUserorg.springframework.security.oauth2.client.userinfoOAuth2UserServiceOAuth2UserService<OidcUserRequest,OidcUser>oidcUserServiceoidcUserService(org.springframework.security.oauth2.client.userinfo.OAuth2UserService)OAuth2UserRequestorg.springframework.security.oauth2.core.userOAuth2UserOAuth2UserService<OAuth2UserRequest,OAuth2User>userService(org.springframework.security.oauth2.client.userinfo.OAuth2UserService)OAuth2LoginConfigurerAbstractAuthenticationFilterConfigurer<B,OAuth2LoginConfigurer,OAuth2LoginAuthenticationFilter>AbstractHttpConfigurer<OAuth2LoginConfigurer,B>AbstractHttpConfigurer<OAuth2LoginConfigurer,B>()setAuthenticationFilter(org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter)AbstractAuthenticationFilterConfigurer<B,OAuth2LoginConfigurer,OAuth2LoginAuthenticationFilter>(org.springframework.security.oauth2.client.web.OAuth2LoginAuthenticationFilter,java.lang.String)AbstractAuthenticationFilterConfigurer<B,OAuth2LoginConfigurer,OAuth2LoginAuthenticationFilter>()Customizer<UserInfoEndpointConfig>userInfoEndpointuserInfoEndpoint(org.springframework.security.config.Customizer)userInfoEndpoint()Customizer<RedirectionEndpointConfig>redirectionEndpointredirectionEndpoint(org.springframework.security.config.Customizer)redirectionEndpoint()Customizer<TokenEndpointConfig>tokenEndpointtokenEndpoint(org.springframework.security.config.Customizer)tokenEndpoint()Customizer<AuthorizationEndpointConfig>authorizationEndpointauthorizationEndpoint(org.springframework.security.config.Customizer)authorizationEndpoint()org.springframework.security.oauth2.client.oidc.sessionOidcSessionRegistryoidcSessionRegistryoidcSessionRegistry(org.springframework.security.oauth2.client.oidc.session.OidcSessionRegistry)OAuth2LoginConfigurer()BackChannelLogoutConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/client/OidcLogoutConfigurer$BackChannelLogoutConfigurer.classBackChannelLogoutConfigurer()OidcLogoutConfigurerAbstractHttpConfigurer<OidcLogoutConfigurer,B>AbstractHttpConfigurer<OidcLogoutConfigurer,B>()Customizer<BackChannelLogoutConfigurer>backChannelbackChannel(org.springframework.security.config.Customizer)OidcLogoutConfigurer()JwtConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurer$JwtConfigurer.classgetAuthenticationManager(org.springframework.security.config.annotation.web.HttpSecurityBuilder)getAuthenticationProvidergetAuthenticationProvider()org.springframework.security.oauth2.jwtJwtDecodergetJwtDecodergetJwtDecoder()Jwt? extends AbstractAuthenticationTokenConverter<Jwt,? extends AbstractAuthenticationToken>getJwtAuthenticationConvertergetJwtAuthenticationConverter()JwtConfigurer<>jwtAuthenticationConverterjwtAuthenticationConverter(org.springframework.core.convert.converter.Converter)jwkSetUrijwkSetUri(java.lang.String)decoderdecoder(org.springframework.security.oauth2.jwt.JwtDecoder)JwtConfigurer(org.springframework.context.ApplicationContext)OpaqueTokenConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/oauth2/server/resource/OAuth2ResourceServerConfigurer$OpaqueTokenConfigurer.classorg.springframework.security.oauth2.server.resource.introspectionOpaqueTokenAuthenticationConvertergetAuthenticationConvertergetAuthenticationConverter()OpaqueTokenIntrospectorgetIntrospectorgetIntrospector()OpaqueTokenConfigurer<>authenticationConverterauthenticationConverter(org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenAuthenticationConverter)introspectorintrospector(org.springframework.security.oauth2.server.resource.introspection.OpaqueTokenIntrospector)introspectionClientCredentialsintrospectionClientCredentials(java.lang.String,java.lang.String)introspectionUriintrospectionUri(java.lang.String)OpaqueTokenConfigurer(org.springframework.context.ApplicationContext)OAuth2ResourceServerConfigurerAbstractHttpConfigurer<OAuth2ResourceServerConfigurer,H>AbstractHttpConfigurer<OAuth2ResourceServerConfigurer,H>()org.springframework.security.oauth2.server.resource.webBearerTokenResolvergetBearerTokenResolvergetBearerTokenResolver()Customizer<OpaqueTokenConfigurer>opaqueTokenopaqueToken(org.springframework.security.config.Customizer)opaqueToken()Customizer<JwtConfigurer>jwtjwt(org.springframework.security.config.Customizer)jwt()bearerTokenResolverbearerTokenResolver(org.springframework.security.oauth2.server.resource.web.BearerTokenResolver)AuthenticationManagerResolver<HttpServletRequest>authenticationManagerResolverauthenticationManagerResolver(org.springframework.security.authentication.AuthenticationManagerResolver)OAuth2ResourceServerConfigurer(org.springframework.context.ApplicationContext)Saml2LoginConfigurerAbstractAuthenticationFilterConfigurer<B,Saml2LoginConfigurer,Saml2WebSsoAuthenticationFilter>AbstractHttpConfigurer<Saml2LoginConfigurer,B>AbstractHttpConfigurer<Saml2LoginConfigurer,B>()setAuthenticationFilter(org.springframework.security.saml2.provider.service.web.authentication.Saml2WebSsoAuthenticationFilter)AbstractAuthenticationFilterConfigurer<B,Saml2LoginConfigurer,Saml2WebSsoAuthenticationFilter>(org.springframework.security.saml2.provider.service.web.authentication.Saml2WebSsoAuthenticationFilter,java.lang.String)AbstractAuthenticationFilterConfigurer<B,Saml2LoginConfigurer,Saml2WebSsoAuthenticationFilter>()org.springframework.security.saml2.provider.service.registrationRelyingPartyRegistrationRepositoryrelyingPartyRegistrationRepositoryrelyingPartyRegistrationRepository(org.springframework.security.config.annotation.web.HttpSecurityBuilder)authenticationRequestUriauthenticationRequestUri(java.lang.String)Saml2AuthenticationRequestResolverauthenticationRequestResolverauthenticationRequestResolver(org.springframework.security.saml2.provider.service.web.authentication.Saml2AuthenticationRequestResolver)relyingPartyRegistrationRepository(org.springframework.security.saml2.provider.service.registration.RelyingPartyRegistrationRepository)authenticationConverter(org.springframework.security.web.authentication.AuthenticationConverter)Saml2LoginConfigurer()LogoutRequestConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/saml2/Saml2LogoutConfigurer$LogoutRequestConfigurer.classorg.springframework.security.saml2.provider.service.web.authentication.logoutSaml2LogoutRequestRepositoryLogoutRequestConfigurer<>logoutRequestRepositorylogoutRequestRepository(org.springframework.security.saml2.provider.service.web.authentication.logout.Saml2LogoutRequestRepository)Saml2LogoutRequestResolverlogoutRequestResolverlogoutRequestResolver(org.springframework.security.saml2.provider.service.web.authentication.logout.Saml2LogoutRequestResolver)org.springframework.security.saml2.provider.service.authentication.logoutSaml2LogoutRequestValidatorlogoutRequestValidatorlogoutRequestValidator(org.springframework.security.saml2.provider.service.authentication.logout.Saml2LogoutRequestValidator)LogoutRequestConfigurer()LogoutResponseConfigurer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/annotation/web/configurers/saml2/Saml2LogoutConfigurer$LogoutResponseConfigurer.classSaml2LogoutResponseResolverLogoutResponseConfigurer<>logoutResponseResolverlogoutResponseResolver(org.springframework.security.saml2.provider.service.web.authentication.logout.Saml2LogoutResponseResolver)Saml2LogoutResponseValidatorlogoutResponseValidatorlogoutResponseValidator(org.springframework.security.saml2.provider.service.authentication.logout.Saml2LogoutResponseValidator)LogoutResponseConfigurer()Saml2LogoutConfigurerAbstractHttpConfigurer<Saml2LogoutConfigurer,H>AbstractHttpConfigurer<Saml2LogoutConfigurer,H>()Customizer<LogoutResponseConfigurer>logoutResponselogoutResponse(org.springframework.security.config.Customizer)logoutResponse()Customizer<LogoutRequestConfigurer>logoutRequestlogoutRequest(org.springframework.security.config.Customizer)logoutRequest()Saml2LogoutConfigurer(org.springframework.context.ApplicationContext)Saml2MetadataConfigurerSaml2LogoutConfigurer<H>AbstractHttpConfigurer<Saml2LogoutConfigurer<H>,H>AbstractHttpConfigurer<Saml2LogoutConfigurer<H>,H>()org.springframework.security.saml2.provider.service.metadataSaml2MetadataResponseResolvermetadataResponseResolvermetadataResponseResolver(org.springframework.security.saml2.provider.service.metadata.Saml2MetadataResponseResolver)metadataUrlmetadataUrl(java.lang.String)Saml2MetadataConfigurer(org.springframework.context.ApplicationContext)org.springframework.security.config.httpSessionCreationPolicy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/http/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar/org/springframework/security/config/http/SessionCreationPolicy.classEnum<SessionCreationPolicy>Comparable<SessionCreationPolicy>compareTo(org.springframework.security.config.http.SessionCreationPolicy)EnumDesc<SessionCreationPolicy>DynamicConstantDesc<SessionCreationPolicy>Optional<EnumDesc<SessionCreationPolicy>>Class<SessionCreationPolicy>Enum<SessionCreationPolicy>(java.lang.String,int)SessionCreationPolicy[]STATELESSIF_REQUIREDorg.springframework.security.contextDelegatingApplicationListener/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/context/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/context/DelegatingApplicationListener.classaddListener(org.springframework.context.event.SmartApplicationListener)DelegatingApplicationListener()org.springframework.security.coreAuthentication/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/Authentication.classAuthenticationException/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/AuthenticationException.classAuthenticationException(java.lang.String)AuthenticationException(java.lang.String,java.lang.Throwable)CredentialsContainer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/CredentialsContainer.classGrantedAuthority/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/GrantedAuthority.classorg.springframework.security.core.authorityGrantedAuthoritiesContainer/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/authority/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/authority/GrantedAuthoritiesContainer.classgetGrantedAuthoritiesgetGrantedAuthorities()SimpleGrantedAuthority/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/authority/SimpleGrantedAuthority.classSimpleGrantedAuthority(java.lang.String)org.springframework.security.core.authority.mappingGrantedAuthoritiesMapper/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/authority/mapping/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/authority/mapping/GrantedAuthoritiesMapper.classmapAuthoritiesmapAuthorities(java.util.Collection)org.springframework.security.core.contextDeferredSecurityContext/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/context/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/context/DeferredSecurityContext.classSupplier<SecurityContext>isGeneratedisGenerated()SecurityContext/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/context/SecurityContext.classsetAuthenticationsetAuthentication(org.springframework.security.core.Authentication)getAuthenticationgetAuthentication()SecurityContextHolder/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/context/SecurityContextHolder.classcreateEmptyContextcreateEmptyContext()getContextHolderStrategygetContextHolderStrategy()setContextHolderStrategysetContextHolderStrategy(org.springframework.security.core.context.SecurityContextHolderStrategy)setStrategyNamesetStrategyName(java.lang.String)setDeferredContextsetDeferredContext(java.util.function.Supplier)setContextsetContext(org.springframework.security.core.context.SecurityContext)getInitializeCountgetInitializeCount()getDeferredContextgetDeferredContext()clearContextclearContext()SecurityContextHolder()SYSTEM_PROPERTYMODE_GLOBALMODE_INHERITABLETHREADLOCALMODE_THREADLOCALSecurityContextHolderStrategy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/context/SecurityContextHolderStrategy.classorg.springframework.security.core.sessionSessionInformation/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/session/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/session/SessionInformation.classrefreshLastRequestrefreshLastRequest()isExpiredisExpired()getLastRequestgetLastRequest()expireNowexpireNow()SessionInformation(java.lang.Object,java.lang.String,java.util.Date)SessionRegistry/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/session/SessionRegistry.classremoveSessionInformationremoveSessionInformation(java.lang.String)registerNewSessionregisterNewSession(java.lang.String,java.lang.Object)refreshLastRequest(java.lang.String)getSessionInformationgetSessionInformation(java.lang.String)List<SessionInformation>SequencedCollection<SessionInformation>Collection<SessionInformation>Iterable<SessionInformation>getAllSessionsgetAllSessions(java.lang.Object,boolean)getAllPrincipalsgetAllPrincipals()AuthenticationUserDetailsServiceloadUserDetailsloadUserDetails(org.springframework.security.core.Authentication)UserBuilder/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/User$UserBuilder.classauthorities(java.util.Collection)Function<String,String>passwordEncoder(java.util.function.Function)username(java.lang.String)/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/User.classwithUserDetailswithUserDetails(org.springframework.security.core.userdetails.UserDetails)withDefaultPasswordEncoderwithDefaultPasswordEncoder()withUsernamewithUsername(java.lang.String)User(java.lang.String,java.lang.String,boolean,boolean,boolean,boolean,java.util.Collection)User(java.lang.String,java.lang.String,java.util.Collection)UserCache/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/UserCache.classremoveUserFromCacheremoveUserFromCache(java.lang.String)putUserInCacheputUserInCache(org.springframework.security.core.userdetails.UserDetails)getUserFromCachegetUserFromCache(java.lang.String)UserDetails/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/UserDetails.classUserDetailsPasswordService/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/UserDetailsPasswordService.classupdatePasswordupdatePassword(org.springframework.security.core.userdetails.UserDetails,java.lang.String)UserDetailsService/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/UserDetailsService.classUsernameNotFoundException/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/UsernameNotFoundException.classUsernameNotFoundException(java.lang.String,java.lang.Throwable)UsernameNotFoundException(java.lang.String)org.springframework.security.core.userdetails.jdbcJdbcDaoImpl/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/jdbc/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/core/userdetails/jdbc/JdbcDaoImpl.classsetEnableGroupssetEnableGroups(boolean)getEnableGroupsgetEnableGroups()setEnableAuthoritiessetEnableAuthorities(boolean)getEnableAuthoritiesgetEnableAuthorities()setUsersByUsernameQuerysetUsersByUsernameQuery(java.lang.String)isUsernameBasedPrimaryKeyisUsernameBasedPrimaryKey()setUsernameBasedPrimaryKeysetUsernameBasedPrimaryKey(boolean)getRolePrefixgetRolePrefix()setRolePrefixsetRolePrefix(java.lang.String)setGroupAuthoritiesByUsernameQuerysetGroupAuthoritiesByUsernameQuery(java.lang.String)getAuthoritiesByUsernameQuerygetAuthoritiesByUsernameQuery()setAuthoritiesByUsernameQuerysetAuthoritiesByUsernameQuery(java.lang.String)createUserDetailscreateUserDetails(java.lang.String,org.springframework.security.core.userdetails.UserDetails,java.util.List)loadGroupAuthoritiesloadGroupAuthorities(java.lang.String)loadUserAuthoritiesloadUserAuthorities(java.lang.String)List<UserDetails>SequencedCollection<UserDetails>Collection<UserDetails>Iterable<UserDetails>loadUsersByUsernameloadUsersByUsername(java.lang.String)getUsersByUsernameQuerygetUsersByUsernameQuery()addCustomAuthoritiesaddCustomAuthorities(java.lang.String,java.util.List)getMessagesgetMessages()JdbcDaoImpl()DEF_GROUP_AUTHORITIES_BY_USERNAME_QUERYDEF_AUTHORITIES_BY_USERNAME_QUERYDEF_USERS_BY_USERNAME_QUERYDEFAULT_USER_SCHEMA_DDL_LOCATIONorg.springframework.security.crypto.bcryptBCryptVersion/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/org/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/org/springframework/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/org/springframework/security/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/org/springframework/security/crypto/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/org/springframework/security/crypto/bcrypt/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/org/springframework/security/crypto/bcrypt/BCryptPasswordEncoder$BCryptVersion.classEnum<BCryptVersion>Comparable<BCryptVersion>compareTo(org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.BCryptVersion)EnumDesc<BCryptVersion>DynamicConstantDesc<BCryptVersion>Optional<EnumDesc<BCryptVersion>>Class<BCryptVersion>Enum<BCryptVersion>(java.lang.String,int)BCryptVersion[]$2B$2Y$2ABCryptPasswordEncoder/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/org/springframework/security/crypto/bcrypt/BCryptPasswordEncoder.classupgradeEncodingupgradeEncoding(java.lang.String)matches(java.lang.CharSequence,java.lang.String)encode(java.lang.CharSequence)BCryptPasswordEncoder(org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.BCryptVersion,int,java.security.SecureRandom)BCryptPasswordEncoder(org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.BCryptVersion,int)BCryptPasswordEncoder(int,java.security.SecureRandom)BCryptPasswordEncoder(org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.BCryptVersion,java.security.SecureRandom)BCryptPasswordEncoder(org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder.BCryptVersion)BCryptPasswordEncoder(int)BCryptPasswordEncoder()org.springframework.security.crypto.passwordPasswordEncoder/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/org/springframework/security/crypto/password/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar/org/springframework/security/crypto/password/PasswordEncoder.classorg.springframework.security.provisioningGroupManager/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/provisioning/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/provisioning/GroupManager.classremoveGroupAuthorityremoveGroupAuthority(java.lang.String,org.springframework.security.core.GrantedAuthority)addGroupAuthorityaddGroupAuthority(java.lang.String,org.springframework.security.core.GrantedAuthority)findGroupAuthoritiesfindGroupAuthorities(java.lang.String)removeUserFromGroupremoveUserFromGroup(java.lang.String,java.lang.String)addUserToGroupaddUserToGroup(java.lang.String,java.lang.String)renameGrouprenameGroup(java.lang.String,java.lang.String)deleteGroupdeleteGroup(java.lang.String)createGroupcreateGroup(java.lang.String,java.util.List)findUsersInGroupfindUsersInGroup(java.lang.String)findAllGroupsfindAllGroups()JdbcUserDetailsManager/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/provisioning/JdbcUserDetailsManager.classsetUserCachesetUserCache(org.springframework.security.core.userdetails.UserCache)setDeleteGroupAuthoritySqlsetDeleteGroupAuthoritySql(java.lang.String)setGroupAuthoritiesSqlsetGroupAuthoritiesSql(java.lang.String)setDeleteGroupMemberSqlsetDeleteGroupMemberSql(java.lang.String)setInsertGroupMemberSqlsetInsertGroupMemberSql(java.lang.String)setRenameGroupSqlsetRenameGroupSql(java.lang.String)setDeleteGroupMembersSqlsetDeleteGroupMembersSql(java.lang.String)setDeleteGroupAuthoritiesSqlsetDeleteGroupAuthoritiesSql(java.lang.String)setDeleteGroupSqlsetDeleteGroupSql(java.lang.String)setInsertGroupAuthoritySqlsetInsertGroupAuthoritySql(java.lang.String)setFindGroupIdSqlsetFindGroupIdSql(java.lang.String)setInsertGroupSqlsetInsertGroupSql(java.lang.String)setFindUsersInGroupSqlsetFindUsersInGroupSql(java.lang.String)setFindAllGroupsSqlsetFindAllGroupsSql(java.lang.String)setChangePasswordSqlsetChangePasswordSql(java.lang.String)setUserExistsSqlsetUserExistsSql(java.lang.String)setDeleteUserAuthoritiesSqlsetDeleteUserAuthoritiesSql(java.lang.String)setCreateAuthoritySqlsetCreateAuthoritySql(java.lang.String)setUpdateUserSqlsetUpdateUserSql(java.lang.String)setDeleteUserSqlsetDeleteUserSql(java.lang.String)setCreateUserSqlsetCreateUserSql(java.lang.String)setAuthenticationManagersetAuthenticationManager(org.springframework.security.authentication.AuthenticationManager)userExistsuserExists(java.lang.String)createNewAuthenticationcreateNewAuthentication(org.springframework.security.core.Authentication,java.lang.String)changePasswordchangePassword(java.lang.String,java.lang.String)deleteUserdeleteUser(java.lang.String)updateUserupdateUser(org.springframework.security.core.userdetails.UserDetails)createUsercreateUser(org.springframework.security.core.userdetails.UserDetails)JdbcUserDetailsManager(javax.sql.DataSource)JdbcUserDetailsManager()DEF_DELETE_GROUP_AUTHORITY_SQLDEF_GROUP_AUTHORITIES_QUERY_SQLDEF_DELETE_GROUP_MEMBER_SQLDEF_INSERT_GROUP_MEMBER_SQLDEF_RENAME_GROUP_SQLDEF_DELETE_GROUP_MEMBERS_SQLDEF_DELETE_GROUP_AUTHORITIES_SQLDEF_DELETE_GROUP_SQLDEF_INSERT_GROUP_AUTHORITY_SQLDEF_FIND_GROUP_ID_SQLDEF_INSERT_GROUP_SQLDEF_FIND_USERS_IN_GROUP_SQLDEF_FIND_GROUPS_SQLDEF_CHANGE_PASSWORD_SQLDEF_USER_EXISTS_SQLDEF_DELETE_USER_AUTHORITIES_SQLDEF_INSERT_AUTHORITY_SQLDEF_UPDATE_USER_SQLDEF_DELETE_USER_SQLDEF_CREATE_USER_SQLUserDetailsManager/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar/org/springframework/security/provisioning/UserDetailsManager.classorg.springframework.security.webAuthenticationEntryPoint/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/AuthenticationEntryPoint.classcommencecommence(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.security.core.AuthenticationException)DefaultSecurityFilterChain/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/DefaultSecurityFilterChain.classmatches(jakarta.servlet.http.HttpServletRequest)List<Filter>SequencedCollection<Filter>Collection<Filter>Iterable<Filter>getFiltersgetFilters()DefaultSecurityFilterChain(org.springframework.security.web.util.matcher.RequestMatcher,java.util.List)DefaultSecurityFilterChain(org.springframework.security.web.util.matcher.RequestMatcher,jakarta.servlet.Filter[])FilterChainDecorator/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/FilterChainProxy$FilterChainDecorator.classdecoratedecorate(jakarta.servlet.FilterChain,java.util.List)decorate(jakarta.servlet.FilterChain)FilterChainValidator/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/FilterChainProxy$FilterChainValidator.classvalidate(org.springframework.security.web.FilterChainProxy)FilterChainProxy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/FilterChainProxy.classsetRequestRejectedHandlersetRequestRejectedHandler(org.springframework.security.web.firewall.RequestRejectedHandler)setFirewallsetFirewall(org.springframework.security.web.firewall.HttpFirewall)setFilterChainDecoratorsetFilterChainDecorator(org.springframework.security.web.FilterChainProxy.FilterChainDecorator)setFilterChainValidatorsetFilterChainValidator(org.springframework.security.web.FilterChainProxy.FilterChainValidator)getFilterChainsgetFilterChains()getFilters(java.lang.String)FilterChainProxy(java.util.List)FilterChainProxy(org.springframework.security.web.SecurityFilterChain)FilterChainProxy()FilterInvocation/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/FilterInvocation.classgetRequestUrlgetRequestUrl()getHttpResponsegetHttpResponse()getHttpRequestgetHttpRequest()getFullRequestUrlgetFullRequestUrl()getChaingetChain()FilterInvocation(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,jakarta.servlet.ServletContext)FilterInvocation(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)FilterInvocation(java.lang.String,java.lang.String,java.lang.String,jakarta.servlet.ServletContext)FilterInvocation(java.lang.String,java.lang.String,java.lang.String)FilterInvocation(java.lang.String,java.lang.String)FilterInvocation(jakarta.servlet.ServletRequest,jakarta.servlet.ServletResponse,jakarta.servlet.FilterChain)DUMMY_CHAINPortMapper/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/PortMapper.classlookupHttpsPortlookupHttpsPort(java.lang.Integer)lookupHttpPortlookupHttpPort(java.lang.Integer)RedirectStrategy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/RedirectStrategy.classsendRedirect(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,java.lang.String)SecurityFilterChain/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/SecurityFilterChain.classorg.springframework.security.web.accessAccessDeniedHandler/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/AccessDeniedHandler.classhandle(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.security.access.AccessDeniedException)WebInvocationPrivilegeEvaluator/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/WebInvocationPrivilegeEvaluator.classisAllowedisAllowed(java.lang.String,java.lang.String,java.lang.String,org.springframework.security.core.Authentication)isAllowed(java.lang.String,org.springframework.security.core.Authentication)org.springframework.security.web.access.channelChannelProcessor/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/channel/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/channel/ChannelProcessor.classdecide(org.springframework.security.web.FilterInvocation,java.util.Collection)org.springframework.security.web.access.expressionExpressionBasedFilterInvocationSecurityMetadataSource/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/expression/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/expression/ExpressionBasedFilterInvocationSecurityMetadataSource.classExpressionBasedFilterInvocationSecurityMetadataSource(java.util.LinkedHashMap,org.springframework.security.access.expression.SecurityExpressionHandler)org.springframework.security.web.access.interceptDefaultFilterInvocationSecurityMetadataSource/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/intercept/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/intercept/DefaultFilterInvocationSecurityMetadataSource.classDefaultFilterInvocationSecurityMetadataSource(java.util.LinkedHashMap)FilterInvocationSecurityMetadataSource/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/intercept/FilterInvocationSecurityMetadataSource.classRequestAuthorizationContext/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/access/intercept/RequestAuthorizationContext.classgetVariablesgetVariables()RequestAuthorizationContext(jakarta.servlet.http.HttpServletRequest,java.util.Map)RequestAuthorizationContext(jakarta.servlet.http.HttpServletRequest)org.springframework.security.web.authenticationAbstractAuthenticationProcessingFilter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/AbstractAuthenticationProcessingFilter.classgetFailureHandlergetFailureHandler()getSuccessHandlergetSuccessHandler()setSecurityContextRepositorysetSecurityContextRepository(org.springframework.security.web.context.SecurityContextRepository)setAuthenticationFailureHandlersetAuthenticationFailureHandler(org.springframework.security.web.authentication.AuthenticationFailureHandler)setAuthenticationSuccessHandlersetAuthenticationSuccessHandler(org.springframework.security.web.authentication.AuthenticationSuccessHandler)setSessionAuthenticationStrategysetSessionAuthenticationStrategy(org.springframework.security.web.authentication.session.SessionAuthenticationStrategy)setAllowSessionCreationsetAllowSessionCreation(boolean)getAllowSessionCreationgetAllowSessionCreation()setAuthenticationDetailsSourcesetAuthenticationDetailsSource(org.springframework.security.authentication.AuthenticationDetailsSource)setContinueChainBeforeSuccessfulAuthenticationsetContinueChainBeforeSuccessfulAuthentication(boolean)setRememberMeServicessetRememberMeServices(org.springframework.security.web.authentication.RememberMeServices)getRememberMeServicesgetRememberMeServices()setRequiresAuthenticationRequestMatchersetRequiresAuthenticationRequestMatcher(org.springframework.security.web.util.matcher.RequestMatcher)setFilterProcessesUrlsetFilterProcessesUrl(java.lang.String)unsuccessfulAuthenticationunsuccessfulAuthentication(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.security.core.AuthenticationException)successfulAuthenticationsuccessfulAuthentication(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,jakarta.servlet.FilterChain,org.springframework.security.core.Authentication)attemptAuthenticationattemptAuthentication(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)requiresAuthenticationrequiresAuthentication(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)AbstractAuthenticationProcessingFilter(org.springframework.security.web.util.matcher.RequestMatcher,org.springframework.security.authentication.AuthenticationManager)AbstractAuthenticationProcessingFilter(java.lang.String,org.springframework.security.authentication.AuthenticationManager)AbstractAuthenticationProcessingFilter(org.springframework.security.web.util.matcher.RequestMatcher)AbstractAuthenticationProcessingFilter(java.lang.String)eventPublisherAnonymousAuthenticationFilter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/AnonymousAuthenticationFilter.classcreateAuthenticationcreateAuthentication(jakarta.servlet.http.HttpServletRequest)AnonymousAuthenticationFilter(java.lang.String,java.lang.Object,java.util.List)AnonymousAuthenticationFilter(java.lang.String)AuthenticationConverter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/AuthenticationConverter.classconvert(jakarta.servlet.http.HttpServletRequest)AuthenticationFailureHandler/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/AuthenticationFailureHandler.classonAuthenticationFailureonAuthenticationFailure(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.security.core.AuthenticationException)AuthenticationSuccessHandler/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/AuthenticationSuccessHandler.classonAuthenticationSuccessonAuthenticationSuccess(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.security.core.Authentication)onAuthenticationSuccess(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,jakarta.servlet.FilterChain,org.springframework.security.core.Authentication)RememberMeServices/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/RememberMeServices.classloginSuccessloginSuccess(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.security.core.Authentication)loginFailloginFail(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)autoLoginautoLogin(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)UsernamePasswordAuthenticationFilter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/UsernamePasswordAuthenticationFilter.classgetPasswordParametergetPasswordParameter()getUsernameParametergetUsernameParameter()setPostOnlysetPostOnly(boolean)setPasswordParametersetPasswordParameter(java.lang.String)setUsernameParametersetUsernameParameter(java.lang.String)setDetails(jakarta.servlet.http.HttpServletRequest,org.springframework.security.authentication.UsernamePasswordAuthenticationToken)obtainUsernameobtainUsername(jakarta.servlet.http.HttpServletRequest)obtainPasswordobtainPassword(jakarta.servlet.http.HttpServletRequest)UsernamePasswordAuthenticationFilter(org.springframework.security.authentication.AuthenticationManager)UsernamePasswordAuthenticationFilter()SPRING_SECURITY_FORM_PASSWORD_KEYSPRING_SECURITY_FORM_USERNAME_KEYWebAuthenticationDetails/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/WebAuthenticationDetails.classgetRemoteAddressgetRemoteAddress()WebAuthenticationDetails(java.lang.String,java.lang.String)WebAuthenticationDetails(jakarta.servlet.http.HttpServletRequest)LogoutHandler/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/logout/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/logout/LogoutHandler.classlogout(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.security.core.Authentication)LogoutSuccessHandler/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/logout/LogoutSuccessHandler.classorg.springframework.security.web.authentication.preauthAbstractPreAuthenticatedProcessingFilter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/preauth/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/preauth/AbstractPreAuthenticatedProcessingFilter.classgetPreAuthenticatedCredentialsgetPreAuthenticatedCredentials(jakarta.servlet.http.HttpServletRequest)getPreAuthenticatedPrincipalgetPreAuthenticatedPrincipal(jakarta.servlet.http.HttpServletRequest)setInvalidateSessionOnPrincipalChangesetInvalidateSessionOnPrincipalChange(boolean)setCheckForPrincipalChangessetCheckForPrincipalChanges(boolean)setContinueFilterChainOnUnsuccessfulAuthenticationsetContinueFilterChainOnUnsuccessfulAuthentication(boolean)AuthenticationDetailsSource<>getAuthenticationDetailsSourcegetAuthenticationDetailsSource()successfulAuthentication(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.security.core.Authentication)principalChangedprincipalChanged(jakarta.servlet.http.HttpServletRequest,org.springframework.security.core.Authentication)AbstractPreAuthenticatedProcessingFilter()PreAuthenticatedAuthenticationToken/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/preauth/PreAuthenticatedAuthenticationToken.classPreAuthenticatedAuthenticationToken(java.lang.Object,java.lang.Object,java.util.Collection)PreAuthenticatedAuthenticationToken(java.lang.Object,java.lang.Object)PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/preauth/PreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails.classPreAuthenticatedGrantedAuthoritiesWebAuthenticationDetails(jakarta.servlet.http.HttpServletRequest,java.util.Collection)org.springframework.security.web.authentication.preauth.j2eeJ2eePreAuthenticatedProcessingFilter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/preauth/j2ee/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/preauth/j2ee/J2eePreAuthenticatedProcessingFilter.classJ2eePreAuthenticatedProcessingFilter()org.springframework.security.web.authentication.preauth.x509X509AuthenticationFilter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/preauth/x509/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/preauth/x509/X509AuthenticationFilter.classsetPrincipalExtractorsetPrincipalExtractor(org.springframework.security.web.authentication.preauth.x509.X509PrincipalExtractor)X509AuthenticationFilter()X509PrincipalExtractor/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/preauth/x509/X509PrincipalExtractor.classextractPrincipalextractPrincipal(java.security.cert.X509Certificate)org.springframework.security.web.authentication.remembermePersistentRememberMeToken/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/rememberme/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/rememberme/PersistentRememberMeToken.classgetTokenValuegetTokenValue()getSeriesgetSeries()PersistentRememberMeToken(java.lang.String,java.lang.String,java.lang.String,java.util.Date)PersistentTokenRepository/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/rememberme/PersistentTokenRepository.classremoveUserTokensremoveUserTokens(java.lang.String)getTokenForSeriesgetTokenForSeries(java.lang.String)updateTokenupdateToken(java.lang.String,java.lang.String,java.util.Date)createNewTokencreateNewToken(org.springframework.security.web.authentication.rememberme.PersistentRememberMeToken)org.springframework.security.web.authentication.sessionSessionAuthenticationException/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/session/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/session/SessionAuthenticationException.classSessionAuthenticationException(java.lang.String)SessionAuthenticationStrategy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/authentication/session/SessionAuthenticationStrategy.classonAuthenticationonAuthentication(org.springframework.security.core.Authentication,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)org.springframework.security.web.contextHttpRequestResponseHolder/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/context/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/context/HttpRequestResponseHolder.classsetResponsesetResponse(jakarta.servlet.http.HttpServletResponse)setRequest(jakarta.servlet.http.HttpServletRequest)HttpRequestResponseHolder(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)HttpSessionSecurityContextRepository/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/context/HttpSessionSecurityContextRepository.classsetTrustResolversetTrustResolver(org.springframework.security.authentication.AuthenticationTrustResolver)setSpringSecurityContextKeysetSpringSecurityContextKey(java.lang.String)setDisableUrlRewritingsetDisableUrlRewriting(boolean)generateNewContextgenerateNewContext()containsContextcontainsContext(jakarta.servlet.http.HttpServletRequest)saveContextsaveContext(org.springframework.security.core.context.SecurityContext,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)loadDeferredContextloadDeferredContext(jakarta.servlet.http.HttpServletRequest)loadContextloadContext(org.springframework.security.web.context.HttpRequestResponseHolder)HttpSessionSecurityContextRepository()SPRING_SECURITY_CONTEXT_KEYSecurityContextRepository/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/context/SecurityContextRepository.classorg.springframework.security.web.csrfCsrfToken/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/csrf/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/csrf/CsrfToken.classgetTokengetToken()getHeaderNamegetHeaderName()CsrfTokenRepository/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/csrf/CsrfTokenRepository.classloadDeferredTokenloadDeferredToken(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)loadTokenloadToken(jakarta.servlet.http.HttpServletRequest)saveTokensaveToken(org.springframework.security.web.csrf.CsrfToken,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)generateTokengenerateToken(jakarta.servlet.http.HttpServletRequest)CsrfTokenRequestHandler/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/csrf/CsrfTokenRequestHandler.classresolveCsrfTokenValueresolveCsrfTokenValue(jakarta.servlet.http.HttpServletRequest,org.springframework.security.web.csrf.CsrfToken)Supplier<CsrfToken>handle(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,java.util.function.Supplier)CsrfTokenRequestResolver/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/csrf/CsrfTokenRequestResolver.classDeferredCsrfToken/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/csrf/DeferredCsrfToken.classorg.springframework.security.web.firewallFirewalledRequest/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/firewall/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/firewall/FirewalledRequest.classFirewalledRequest(jakarta.servlet.http.HttpServletRequest)HttpFirewall/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/firewall/HttpFirewall.classgetFirewalledResponsegetFirewalledResponse(jakarta.servlet.http.HttpServletResponse)getFirewalledRequestgetFirewalledRequest(jakarta.servlet.http.HttpServletRequest)RequestRejectedException/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/firewall/RequestRejectedException.classRequestRejectedException(java.lang.String)RequestRejectedHandler/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/firewall/RequestRejectedHandler.classhandle(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.security.web.firewall.RequestRejectedException)org.springframework.security.web.headerHeaderWriter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/HeaderWriter.classwriteHeaderswriteHeaders(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)org.springframework.security.web.header.writersCrossOriginEmbedderPolicy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/CrossOriginEmbedderPolicyHeaderWriter$CrossOriginEmbedderPolicy.classEnum<CrossOriginEmbedderPolicy>Comparable<CrossOriginEmbedderPolicy>compareTo(org.springframework.security.web.header.writers.CrossOriginEmbedderPolicyHeaderWriter.CrossOriginEmbedderPolicy)EnumDesc<CrossOriginEmbedderPolicy>DynamicConstantDesc<CrossOriginEmbedderPolicy>Optional<EnumDesc<CrossOriginEmbedderPolicy>>Class<CrossOriginEmbedderPolicy>Enum<CrossOriginEmbedderPolicy>(java.lang.String,int)getPolicygetPolicy()CrossOriginEmbedderPolicy[]REQUIRE_CORPUNSAFE_NONECrossOriginEmbedderPolicyHeaderWriter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/CrossOriginEmbedderPolicyHeaderWriter.classsetPolicysetPolicy(org.springframework.security.web.header.writers.CrossOriginEmbedderPolicyHeaderWriter.CrossOriginEmbedderPolicy)CrossOriginEmbedderPolicyHeaderWriter()CrossOriginOpenerPolicy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/CrossOriginOpenerPolicyHeaderWriter$CrossOriginOpenerPolicy.classEnum<CrossOriginOpenerPolicy>Comparable<CrossOriginOpenerPolicy>compareTo(org.springframework.security.web.header.writers.CrossOriginOpenerPolicyHeaderWriter.CrossOriginOpenerPolicy)EnumDesc<CrossOriginOpenerPolicy>DynamicConstantDesc<CrossOriginOpenerPolicy>Optional<EnumDesc<CrossOriginOpenerPolicy>>Class<CrossOriginOpenerPolicy>Enum<CrossOriginOpenerPolicy>(java.lang.String,int)CrossOriginOpenerPolicy[]SAME_ORIGINSAME_ORIGIN_ALLOW_POPUPSCrossOriginOpenerPolicyHeaderWriter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/CrossOriginOpenerPolicyHeaderWriter.classsetPolicy(org.springframework.security.web.header.writers.CrossOriginOpenerPolicyHeaderWriter.CrossOriginOpenerPolicy)CrossOriginOpenerPolicyHeaderWriter()CrossOriginResourcePolicy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/CrossOriginResourcePolicyHeaderWriter$CrossOriginResourcePolicy.classEnum<CrossOriginResourcePolicy>Comparable<CrossOriginResourcePolicy>compareTo(org.springframework.security.web.header.writers.CrossOriginResourcePolicyHeaderWriter.CrossOriginResourcePolicy)EnumDesc<CrossOriginResourcePolicy>DynamicConstantDesc<CrossOriginResourcePolicy>Optional<EnumDesc<CrossOriginResourcePolicy>>Class<CrossOriginResourcePolicy>Enum<CrossOriginResourcePolicy>(java.lang.String,int)CrossOriginResourcePolicy[]CROSS_ORIGINSAME_SITECrossOriginResourcePolicyHeaderWriter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/CrossOriginResourcePolicyHeaderWriter.classsetPolicy(org.springframework.security.web.header.writers.CrossOriginResourcePolicyHeaderWriter.CrossOriginResourcePolicy)CrossOriginResourcePolicyHeaderWriter()ReferrerPolicy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/ReferrerPolicyHeaderWriter$ReferrerPolicy.classEnum<ReferrerPolicy>Comparable<ReferrerPolicy>compareTo(org.springframework.security.web.header.writers.ReferrerPolicyHeaderWriter.ReferrerPolicy)EnumDesc<ReferrerPolicy>DynamicConstantDesc<ReferrerPolicy>Optional<EnumDesc<ReferrerPolicy>>Class<ReferrerPolicy>Enum<ReferrerPolicy>(java.lang.String,int)ReferrerPolicy[]UNSAFE_URLSTRICT_ORIGIN_WHEN_CROSS_ORIGINORIGIN_WHEN_CROSS_ORIGINSTRICT_ORIGINNO_REFERRER_WHEN_DOWNGRADENO_REFERRERReferrerPolicyHeaderWriter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/ReferrerPolicyHeaderWriter.classsetPolicy(org.springframework.security.web.header.writers.ReferrerPolicyHeaderWriter.ReferrerPolicy)ReferrerPolicyHeaderWriter(org.springframework.security.web.header.writers.ReferrerPolicyHeaderWriter.ReferrerPolicy)ReferrerPolicyHeaderWriter()HeaderValue/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/XXssProtectionHeaderWriter$HeaderValue.classEnum<HeaderValue>Comparable<HeaderValue>compareTo(org.springframework.security.web.header.writers.XXssProtectionHeaderWriter.HeaderValue)EnumDesc<HeaderValue>DynamicConstantDesc<HeaderValue>Optional<EnumDesc<HeaderValue>>Class<HeaderValue>Enum<HeaderValue>(java.lang.String,int)HeaderValue[]ENABLED_MODE_BLOCKDISABLEDXXssProtectionHeaderWriter/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/header/writers/XXssProtectionHeaderWriter.classsetHeaderValuesetHeaderValue(org.springframework.security.web.header.writers.XXssProtectionHeaderWriter.HeaderValue)XXssProtectionHeaderWriter()org.springframework.security.web.savedrequestRequestCache/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/savedrequest/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/savedrequest/RequestCache.classremoveRequestremoveRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)getMatchingRequestgetMatchingRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)getRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)saveRequestsaveRequest(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)SavedRequest/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/savedrequest/SavedRequest.classgetHeaderValuesgetHeaderValues(java.lang.String)List<Cookie>SequencedCollection<Cookie>Collection<Cookie>Iterable<Cookie>getRedirectUrlgetRedirectUrl()org.springframework.security.web.servlet.util.matcherMvcRequestMatcher/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/servlet/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/servlet/util/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/servlet/util/matcher/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/servlet/util/matcher/MvcRequestMatcher.classsetServletPathsetServletPath(java.lang.String)setMethodsetMethod(org.springframework.http.HttpMethod)matchermatcher(jakarta.servlet.http.HttpServletRequest)extractUriTemplateVariablesextractUriTemplateVariables(jakarta.servlet.http.HttpServletRequest)MvcRequestMatcher(org.springframework.web.servlet.handler.HandlerMappingIntrospector,java.lang.String)org.springframework.security.web.sessionInvalidSessionStrategy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/session/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/session/InvalidSessionStrategy.classonInvalidSessionDetectedonInvalidSessionDetected(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)SessionInformationExpiredEvent/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/session/SessionInformationExpiredEvent.classgetSessionInformation()SessionInformationExpiredEvent(org.springframework.security.core.session.SessionInformation,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)SessionInformationExpiredStrategy/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/session/SessionInformationExpiredStrategy.classonExpiredSessionDetectedonExpiredSessionDetected(org.springframework.security.web.session.SessionInformationExpiredEvent)org.springframework.security.web.util.matcherMatchResult/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/util/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/util/matcher/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/util/matcher/RequestMatcher$MatchResult.classnotMatchnotMatch()match(java.util.Map)match()isMatchisMatch()MatchResult(boolean,java.util.Map)RequestMatcher/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/util/matcher/RequestMatcher.classRequestVariablesExtractor/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar/org/springframework/security/web/util/matcher/RequestVariablesExtractor.classorg.springframework.stereotype/Users/mavdomenech/.m2/repository/org/springframework/spring-context/6.1.1/spring-context-6.1.1.jar/org/springframework/stereotype/Users/mavdomenech/.m2/repository/org/springframework/spring-context/6.1.1/spring-context-6.1.1.jar/org/springframework/stereotype/Component.class/Users/mavdomenech/.m2/repository/org/springframework/spring-context/6.1.1/spring-context-6.1.1.jar/org/springframework/stereotype/Controller.classIndexed/Users/mavdomenech/.m2/repository/org/springframework/spring-context/6.1.1/spring-context-6.1.1.jar/org/springframework/stereotype/Indexed.class/Users/mavdomenech/.m2/repository/org/springframework/spring-context/6.1.1/spring-context-6.1.1.jar/org/springframework/stereotype/Repository.class/Users/mavdomenech/.m2/repository/org/springframework/spring-context/6.1.1/spring-context-6.1.1.jar/org/springframework/stereotype/Service.classorg.springframework.uiModelMap/Users/mavdomenech/.m2/repository/org/springframework/spring-context/6.1.1/spring-context-6.1.1.jar/org/springframework/ui/Users/mavdomenech/.m2/repository/org/springframework/spring-context/6.1.1/spring-context-6.1.1.jar/org/springframework/ui/ModelMap.classcontainsAttribute(java.lang.String)mergeAttributesmergeAttributes(java.util.Map)addAllAttributesaddAllAttributes(java.util.Map)addAllAttributes(java.util.Collection)addAttribute(java.lang.Object)addAttribute(java.lang.String,java.lang.Object)ModelMap(java.lang.Object)ModelMap(java.lang.String,java.lang.Object)ModelMap()Entries/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/ConcurrentReferenceHashMap$Entries.class/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/ConcurrentReferenceHashMap$Entry.classEntry(java.lang.Object,java.lang.Object)/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/ConcurrentReferenceHashMap$Reference.classgetNextgetNext()getHashgetHash()ReferenceManager/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/ConcurrentReferenceHashMap$ReferenceManager.classReference<K,V>pollForPurgepollForPurge()createReferencecreateReference(org.springframework.util.ConcurrentReferenceHashMap.Entry,int,org.springframework.util.ConcurrentReferenceHashMap.Reference)ReferenceManager()ReferenceType/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/ConcurrentReferenceHashMap$ReferenceType.classEnum<ReferenceType>Comparable<ReferenceType>compareTo(org.springframework.util.ConcurrentReferenceHashMap.ReferenceType)EnumDesc<ReferenceType>DynamicConstantDesc<ReferenceType>Optional<EnumDesc<ReferenceType>>Class<ReferenceType>Enum<ReferenceType>(java.lang.String,int)ReferenceType[]WEAKSOFTRestructure/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/ConcurrentReferenceHashMap$Restructure.classEnum<Restructure>Comparable<Restructure>compareTo(org.springframework.util.ConcurrentReferenceHashMap.Restructure)EnumDesc<Restructure>DynamicConstantDesc<Restructure>Optional<EnumDesc<Restructure>>Class<Restructure>Enum<Restructure>(java.lang.String,int)Restructure[]WHEN_NECESSARYSegment/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/ConcurrentReferenceHashMap$Segment.classrestructureIfNecessaryrestructureIfNecessary(boolean)Task<>/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/ConcurrentReferenceHashMap$Task.classConcurrentReferenceHashMap<>doTaskdoTask(int,java.lang.Object,org.springframework.util.ConcurrentReferenceHashMap.Task)Task<T>getReference(java.lang.Object,int,org.springframework.util.ConcurrentReferenceHashMap.Restructure)Segment(int,int)Taskexecute(org.springframework.util.ConcurrentReferenceHashMap.Reference,org.springframework.util.ConcurrentReferenceHashMap.Entry)Entries<V>execute(org.springframework.util.ConcurrentReferenceHashMap.Reference,org.springframework.util.ConcurrentReferenceHashMap.Entry,org.springframework.util.ConcurrentReferenceHashMap.Entries)hasOption(org.springframework.util.ConcurrentReferenceHashMap.TaskOption)TaskOption[]Task(org.springframework.util.ConcurrentReferenceHashMap.TaskOption[])TaskOption/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/ConcurrentReferenceHashMap$TaskOption.classEnum<TaskOption>Comparable<TaskOption>compareTo(org.springframework.util.ConcurrentReferenceHashMap.TaskOption)EnumDesc<TaskOption>DynamicConstantDesc<TaskOption>Optional<EnumDesc<TaskOption>>Class<TaskOption>Enum<TaskOption>(java.lang.String,int)RESIZESKIP_IF_EMPTYRESTRUCTURE_AFTERRESTRUCTURE_BEFOREConcurrentReferenceHashMapcalculateShiftcalculateShift(int,int)purgeUnreferencedEntriespurgeUnreferencedEntries()getReference(java.lang.Object,org.springframework.util.ConcurrentReferenceHashMap.Restructure)getHash(java.lang.Object)ReferenceManager<>createReferenceManagercreateReferenceManager()Segment<>getSegmentgetSegment(int)getSegmentsSizegetSegmentsSize()getLoadFactorgetLoadFactor()ConcurrentReferenceHashMap(int,float,int,org.springframework.util.ConcurrentReferenceHashMap.ReferenceType)ConcurrentReferenceHashMap(int,float,int)ConcurrentReferenceHashMap(int,org.springframework.util.ConcurrentReferenceHashMap.ReferenceType)ConcurrentReferenceHashMap(int,int)ConcurrentReferenceHashMap(int,float)ConcurrentReferenceHashMap(int)ConcurrentReferenceHashMap()/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/MimeType.classComparable<MimeType>compareTo(org.springframework.util.MimeType)? extends MimeTypeCollection<? extends MimeType>Iterable<? extends MimeType>isPresentInisPresentIn(java.util.Collection)equalsTypeAndSubtypeequalsTypeAndSubtype(org.springframework.util.MimeType)isCompatibleWith(org.springframework.util.MimeType)includes(org.springframework.util.MimeType)getSubtypeSuffixgetSubtypeSuffix()getSubtypegetSubtype()isWildcardSubtypeisWildcardSubtype()isWildcardTypeisWildcardType()unquoteunquote(java.lang.String)MimeType(org.springframework.util.MimeType)MimeType(java.lang.String,java.lang.String,java.util.Map)MimeType(org.springframework.util.MimeType,java.util.Map)MimeType(org.springframework.util.MimeType,java.nio.charset.Charset)MimeType(java.lang.String,java.lang.String,java.nio.charset.Charset)WILDCARD_TYPEMultiValueMapList<V>Map<K,List<V>>? super List<V>? extends List<V>BiFunction<? super List<V>,? super List<V>,? extends List<V>>merge(java.lang.Object,java.util.List,java.util.function.BiFunction)BiFunction<? super K,? super List<V>,? extends List<V>>Function<? super K,? extends List<V>>replace(java.lang.Object,java.util.List)replace(java.lang.Object,java.util.List,java.util.List)putIfAbsent(java.lang.Object,java.util.List)BiConsumer<? super K,? super List<V>>Entry<K,List<V>>Set<Entry<K,List<V>>>Collection<Entry<K,List<V>>>Iterable<Entry<K,List<V>>>Collection<List<V>>Iterable<List<V>>Map<? extends K,? extends List<V>>put(java.lang.Object,java.util.List)/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/PathMatcher.classcombine(java.lang.String,java.lang.String)getPatternComparatorgetPatternComparator(java.lang.String)extractUriTemplateVariables(java.lang.String,java.lang.String)extractPathWithinPatternextractPathWithinPattern(java.lang.String,java.lang.String)matchStartmatchStart(java.lang.String,java.lang.String)match(java.lang.String,java.lang.String)isPatternisPattern(java.lang.String)StringValueResolver/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar/org/springframework/util/StringValueResolver.classresolveStringValueresolveStringValue(java.lang.String)ThrowingConsumerThrowingConsumer<>ThrowingConsumer<T>of(org.springframework.util.function.ThrowingConsumer,java.util.function.BiFunction)BiFunction<String,Exception,RuntimeException>of(org.springframework.util.function.ThrowingConsumer)throwing(java.util.function.BiFunction)accept(java.lang.Object,java.util.function.BiFunction)acceptWithExceptionacceptWithException(java.lang.Object)ThrowingSupplierof(org.springframework.util.function.ThrowingSupplier,java.util.function.BiFunction)of(org.springframework.util.function.ThrowingSupplier)get(java.util.function.BiFunction)getWithExceptiongetWithException()org.springframework.web/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/ErrorResponse$Builder.classbuild(org.springframework.context.MessageSource,java.util.Locale)/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/ErrorResponse.classpropertyproperty(java.lang.String,java.lang.Object)detailMessageArgumentsdetailMessageArguments(java.lang.Object[])detailMessageCodedetailMessageCode(java.lang.String)detaildetail(java.lang.String)instanceinstance(java.net.URI)titleMessageCodetitleMessageCode(java.lang.String)title(java.lang.String)typeMessageCodetypeMessageCode(java.lang.String)type(java.net.URI)ErrorResponsebuilder(java.lang.Throwable,org.springframework.http.ProblemDetail)builder(java.lang.Throwable,org.springframework.http.HttpStatusCode,java.lang.String)create(java.lang.Throwable,org.springframework.http.HttpStatusCode,java.lang.String)getDefaultDetailMessageCodegetDefaultDetailMessageCode(java.lang.Class,java.lang.String)getDefaultTitleMessageCodegetDefaultTitleMessageCode(java.lang.Class)getDefaultTypeMessageCodegetDefaultTypeMessageCode(java.lang.Class)updateAndGetBodyupdateAndGetBody(org.springframework.context.MessageSource,java.util.Locale)getDetailMessageArgumentsgetDetailMessageArguments(org.springframework.context.MessageSource,java.util.Locale)getDetailMessageArguments()getDetailMessageCodegetDetailMessageCode()getTitleMessageCodegetTitleMessageCode()getTypeMessageCodegetTypeMessageCode()ErrorResponseException/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/ErrorResponseException.classErrorResponseException(org.springframework.http.HttpStatusCode,org.springframework.http.ProblemDetail,java.lang.Throwable,java.lang.String,java.lang.Object[])ErrorResponseException(org.springframework.http.HttpStatusCode,org.springframework.http.ProblemDetail,java.lang.Throwable)ErrorResponseException(org.springframework.http.HttpStatusCode,java.lang.Throwable)ErrorResponseException(org.springframework.http.HttpStatusCode)HttpMediaTypeException/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/HttpMediaTypeException.classgetSupportedMediaTypesgetSupportedMediaTypes()HttpMediaTypeException(java.lang.String,java.util.List,java.lang.String,java.lang.Object[])HttpMediaTypeException(java.lang.String,java.util.List)HttpMediaTypeException(java.lang.String)HttpMediaTypeNotAcceptableException/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/HttpMediaTypeNotAcceptableException.classHttpMediaTypeNotAcceptableException(java.util.List)HttpMediaTypeNotAcceptableException(java.lang.String)org.springframework.web.acceptContentNegotiationStrategy/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/accept/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/accept/ContentNegotiationStrategy.classresolveMediaTypesresolveMediaTypes(org.springframework.web.context.request.NativeWebRequest)MEDIA_TYPE_ALL_LISTControllerMappingReflectiveProcessor/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/ControllerMappingReflectiveProcessor.classregisterReturnTypeHintsregisterReturnTypeHints(org.springframework.aot.hint.ReflectionHints,org.springframework.core.MethodParameter)registerParameterTypeHintsregisterParameterTypeHints(org.springframework.aot.hint.ReflectionHints,org.springframework.core.MethodParameter)registerMethodHintsregisterMethodHints(org.springframework.aot.hint.ReflectionHints,java.lang.reflect.Method)registerTypeHintsregisterTypeHints(org.springframework.aot.hint.ReflectionHints,java.lang.Class)getBindingRegistrargetBindingRegistrar()ControllerMappingReflectiveProcessor()DeleteMapping/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/DeleteMapping.classproducesproduces()consumesconsumes()paramsparams()path()GetMapping/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/GetMapping.classMapping/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/Mapping.classPathVariable/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/PathVariable.classPostMapping/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/PostMapping.classPutMapping/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/PutMapping.classRequestBody/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/RequestBody.classRequestMapping/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/RequestMapping.classmethod()"path"RequestMethod/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/RequestMethod.classEnum<RequestMethod>Comparable<RequestMethod>compareTo(org.springframework.web.bind.annotation.RequestMethod)EnumDesc<RequestMethod>DynamicConstantDesc<RequestMethod>Optional<EnumDesc<RequestMethod>>Class<RequestMethod>Enum<RequestMethod>(java.lang.String,int)asHttpMethodasHttpMethod()resolve(org.springframework.http.HttpMethod)RequestParam/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/RequestParam.classdefaultValuedefaultValue()ResponseBody/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/ResponseBody.classRestController/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/bind/annotation/RestController.classorg.springframework.web.contextServletContextAware/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/context/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/context/ServletContextAware.classorg.springframework.web.context.requestNativeWebRequest/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/context/request/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/context/request/NativeWebRequest.classgetNativeResponsegetNativeResponse(java.lang.Class)getNativeRequestgetNativeRequest(java.lang.Class)getNativeResponse()getNativeRequest()RequestAttributes/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/context/request/RequestAttributes.classgetSessionMutexgetSessionMutex()resolveReferenceresolveReference(java.lang.String)registerDestructionCallback(java.lang.String,java.lang.Runnable,int)getAttributeNames(int)removeAttribute(java.lang.String,int)setAttribute(java.lang.String,java.lang.Object,int)getAttribute(java.lang.String,int)REFERENCE_SESSIONREFERENCE_REQUESTSCOPE_SESSIONSCOPE_REQUESTWebRequest/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/context/request/WebRequest.classgetDescription(boolean)checkNotModifiedcheckNotModified(java.lang.String,long)checkNotModified(java.lang.String)checkNotModified(long)org.springframework.web.corsCorsConfiguration/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/cors/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/cors/CorsConfiguration.classcheckHeaderscheckHeaders(java.util.List)checkHttpMethodcheckHttpMethod(org.springframework.http.HttpMethod)checkOrigincheckOrigin(java.lang.String)combine(org.springframework.web.cors.CorsConfiguration)validateAllowCredentialsvalidateAllowCredentials()applyPermitDefaultValuesapplyPermitDefaultValues()setMaxAge(java.lang.Long)setMaxAge(java.time.Duration)getAllowCredentialsgetAllowCredentials()setAllowCredentialssetAllowCredentials(java.lang.Boolean)addExposedHeaderaddExposedHeader(java.lang.String)getExposedHeadersgetExposedHeaders()setExposedHeaderssetExposedHeaders(java.util.List)addAllowedHeaderaddAllowedHeader(java.lang.String)getAllowedHeadersgetAllowedHeaders()setAllowedHeaderssetAllowedHeaders(java.util.List)addAllowedMethodaddAllowedMethod(java.lang.String)addAllowedMethod(org.springframework.http.HttpMethod)getAllowedMethodsgetAllowedMethods()setAllowedMethodssetAllowedMethods(java.util.List)addAllowedOriginPatternaddAllowedOriginPattern(java.lang.String)getAllowedOriginPatternsgetAllowedOriginPatterns()setAllowedOriginPatternssetAllowedOriginPatterns(java.util.List)addAllowedOriginaddAllowedOrigin(java.lang.String)getAllowedOriginsgetAllowedOrigins()setAllowedOriginssetAllowedOrigins(java.util.List)CorsConfiguration(org.springframework.web.cors.CorsConfiguration)CorsConfiguration()CorsConfigurationSource/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/cors/CorsConfigurationSource.classgetCorsConfigurationgetCorsConfiguration(jakarta.servlet.http.HttpServletRequest)org.springframework.web.filterGenericFilterBean/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/filter/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/filter/GenericFilterBean.classgetFilterConfiggetFilterConfig()initFilterBeaninitFilterBean()initBeanWrapperinitBeanWrapper(org.springframework.beans.BeanWrapper)addRequiredPropertyaddRequiredProperty(java.lang.String)createEnvironment()GenericFilterBean()org.springframework.web.multipartMultipartFile/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/multipart/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/multipart/MultipartFile.classtransferTo(java.nio.file.Path)transferTo(java.io.File)getOriginalFilenamegetOriginalFilename()org.springframework.web.serverResponseStatusException/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/server/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/server/ResponseStatusException.classgetResponseHeadersgetResponseHeaders()ResponseStatusException(org.springframework.http.HttpStatusCode,java.lang.String,java.lang.Throwable,java.lang.String,java.lang.Object[])ResponseStatusException(org.springframework.http.HttpStatusCode,java.lang.String,java.lang.Throwable)ResponseStatusException(int,java.lang.String,java.lang.Throwable)ResponseStatusException(org.springframework.http.HttpStatusCode,java.lang.String)ResponseStatusException(org.springframework.http.HttpStatusCode)org.springframework.web.servletHandlerExecutionChain/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/HandlerExecutionChain.classapplyAfterConcurrentHandlingStartedapplyAfterConcurrentHandlingStarted(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)triggerAfterCompletiontriggerAfterCompletion(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,java.lang.Exception)applyPostHandleapplyPostHandle(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,org.springframework.web.servlet.ModelAndView)applyPreHandleapplyPreHandle(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)List<HandlerInterceptor>SequencedCollection<HandlerInterceptor>Collection<HandlerInterceptor>Iterable<HandlerInterceptor>getInterceptorListgetInterceptorList()HandlerInterceptor[]getInterceptorsgetInterceptors()addInterceptorsaddInterceptors(org.springframework.web.servlet.HandlerInterceptor[])addInterceptoraddInterceptor(int,org.springframework.web.servlet.HandlerInterceptor)addInterceptor(org.springframework.web.servlet.HandlerInterceptor)getHandlergetHandler()HandlerExecutionChain(java.lang.Object,java.util.List)HandlerExecutionChain(java.lang.Object,org.springframework.web.servlet.HandlerInterceptor[])HandlerExecutionChain(java.lang.Object)HandlerInterceptor/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/HandlerInterceptor.classafterCompletionafterCompletion(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,java.lang.Object,java.lang.Exception)postHandlepostHandle(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,java.lang.Object,org.springframework.web.servlet.ModelAndView)preHandlepreHandle(jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse,java.lang.Object)HandlerMapping/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/HandlerMapping.classgetHandler(jakarta.servlet.http.HttpServletRequest)usesPathPatternsusesPathPatterns()PRODUCIBLE_MEDIA_TYPES_ATTRIBUTEMATRIX_VARIABLES_ATTRIBUTEURI_TEMPLATE_VARIABLES_ATTRIBUTEINTROSPECT_TYPE_LEVEL_MAPPINGBEST_MATCHING_PATTERN_ATTRIBUTEPATH_WITHIN_HANDLER_MAPPING_ATTRIBUTELOOKUP_PATHBEST_MATCHING_HANDLER_ATTRIBUTEModelAndView/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/ModelAndView.classwasClearedwasCleared()addAllObjectsaddAllObjects(java.util.Map)addObjectaddObject(java.lang.Object)addObject(java.lang.String,java.lang.Object)setStatus(org.springframework.http.HttpStatusCode)getModelMapgetModelMap()getModelInternalgetModelInternal()isReferenceisReference()hasViewhasView()getViewgetView()setViewsetView(org.springframework.web.servlet.View)getViewNamegetViewName()setViewNamesetViewName(java.lang.String)ModelAndView(org.springframework.web.servlet.View,java.lang.String,java.lang.Object)ModelAndView(java.lang.String,java.lang.String,java.lang.Object)ModelAndView(java.lang.String,java.util.Map,org.springframework.http.HttpStatusCode)ModelAndView(java.lang.String,org.springframework.http.HttpStatusCode)ModelAndView(org.springframework.web.servlet.View,java.util.Map)ModelAndView(java.lang.String,java.util.Map)ModelAndView(org.springframework.web.servlet.View)ModelAndView(java.lang.String)ModelAndView()View/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/View.classrenderrender(java.util.Map,jakarta.servlet.http.HttpServletRequest,jakarta.servlet.http.HttpServletResponse)SELECTED_CONTENT_TYPEPATH_VARIABLESRESPONSE_STATUS_ATTRIBUTEorg.springframework.web.servlet.handlerHandlerMappingIntrospector/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/handler/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/handler/HandlerMappingIntrospector.classgetMatchableHandlerMappinggetMatchableHandlerMapping(jakarta.servlet.http.HttpServletRequest)createCacheFiltercreateCacheFilter()List<HandlerMapping>SequencedCollection<HandlerMapping>Collection<HandlerMapping>Iterable<HandlerMapping>getHandlerMappingsgetHandlerMappings()HandlerMappingIntrospector()MatchableHandlerMapping/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/handler/MatchableHandlerMapping.classmatch(jakarta.servlet.http.HttpServletRequest,java.lang.String)getPatternParsergetPatternParser()RequestMatchResult/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar/org/springframework/web/servlet/handler/RequestMatchResult.classextractUriTemplateVariables()RequestMatchResult(java.lang.String,java.lang.String,org.springframework.util.PathMatcher)RequestMatchResult(org.springframework.web.util.pattern.PathPattern,org.springframework.http.server.PathContainer)org.springframework.web.util.pattern/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/pattern/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/pattern/PathElement.classisNoMorePatternisNoMorePattern()isLiteralisLiteral()getScoregetScore()getWildcardCountgetWildcardCount()getCaptureCountgetCaptureCount()getChars()getNormalizedLengthgetNormalizedLength()matches(int,org.springframework.web.util.pattern.PathPattern.MatchingContext)PathElement(int,char)posNO_PARAMETERSCAPTURE_VARIABLE_WEIGHTWILDCARD_WEIGHTMatchingContext/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/pattern/PathPattern$MatchingContext.classpathElementValuepathElementValue(int)isSeparatorisSeparator(int)getPathMatchResultgetPathMatchResult()set(java.lang.String,java.lang.String,org.springframework.util.MultiValueMap)isMatchOptionalTrailingSeparatorisMatchOptionalTrailingSeparator()setMatchAllowExtraPathsetMatchAllowExtraPath()MatchingContext(org.springframework.http.server.PathContainer,boolean)remainingPathIndexdetermineRemainingPathextractingVariablespathLengthpathElementscandidatePathMatchInfo/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/pattern/PathPattern$PathMatchInfo.classMap<String,MultiValueMap<String,String>>getMatrixVariablesgetMatrixVariables()getUriVariablesgetUriVariables()PathMatchInfo(java.util.Map,java.util.Map)/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/pattern/PathPattern.classPathRemainingMatchInfo/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/pattern/PathPattern$PathRemainingMatchInfo.classgetPathRemaininggetPathRemaining()getPathMatchedgetPathMatched()PathRemainingMatchInfo(org.springframework.http.server.PathContainer,org.springframework.http.server.PathContainer,org.springframework.web.util.pattern.PathPattern.PathMatchInfo)PathRemainingMatchInfo(org.springframework.http.server.PathContainer,org.springframework.http.server.PathContainer)PathPatternComparable<PathPattern>compareTo(org.springframework.web.util.pattern.PathPattern)getHeadSectiongetHeadSection()computePatternStringcomputePatternString()toChainStringtoChainString()getCapturedVariableCountgetCapturedVariableCount()isCatchAllisCatchAll()combine(org.springframework.web.util.pattern.PathPattern)extractPathWithinPattern(org.springframework.http.server.PathContainer)matchStartOfPathmatchStartOfPath(org.springframework.http.server.PathContainer)matchAndExtractmatchAndExtract(org.springframework.http.server.PathContainer)matches(org.springframework.http.server.PathContainer)hasPatternSyntaxhasPatternSyntax()getPatternStringgetPatternString()PathPattern(java.lang.String,org.springframework.web.util.pattern.PathPatternParser,org.springframework.web.util.pattern.PathElement)Comparator<PathPattern>PathPatternParser/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/pattern/PathPatternParser.classinitFullPathPatterninitFullPathPattern(java.lang.String)getPathOptionsgetPathOptions()setPathOptionssetPathOptions(org.springframework.http.server.PathContainer.Options)setMatchOptionalTrailingSeparatorsetMatchOptionalTrailingSeparator(boolean)PathPatternParser()defaultInstancePatternMessage/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/pattern/PatternParseException$PatternMessage.classEnum<PatternMessage>Comparable<PatternMessage>compareTo(org.springframework.web.util.pattern.PatternParseException.PatternMessage)EnumDesc<PatternMessage>DynamicConstantDesc<PatternMessage>Optional<EnumDesc<PatternMessage>>Class<PatternMessage>Enum<PatternMessage>(java.lang.String,int)formatMessage(java.lang.Object[])PatternMessage[]CAPTURE_ALL_IS_STANDALONE_CONSTRUCTREGEX_PATTERN_SYNTAX_EXCEPTIONILLEGAL_DOUBLE_CAPTUREMISSING_REGEX_CONSTRAINTBADLY_FORMED_CAPTURE_THE_RESTNO_MORE_DATA_EXPECTED_AFTER_CAPTURE_THE_RESTILLEGAL_CHARACTER_IN_CAPTURE_DESCRIPTORILLEGAL_CHARACTER_AT_START_OF_CAPTURE_DESCRIPTORCANNOT_HAVE_ADJACENT_CAPTURESILLEGAL_NESTED_CAPTUREMISSING_OPEN_CAPTUREMISSING_CLOSE_CAPTUREPatternParseException/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar/org/springframework/web/util/pattern/PatternParseException.classgetInsertsgetInserts()getMessageTypegetMessageType()PatternParseException(java.lang.Throwable,int,char[],org.springframework.web.util.pattern.PatternParseException.PatternMessage,java.lang.Object[])PatternParseException(int,char[],org.springframework.web.util.pattern.PatternParseException.PatternMessage,java.lang.Object[])sun.awtAppContext/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/AppContext.classgetSoftReferenceValuegetSoftReferenceValue(java.lang.Object,java.util.function.Supplier)stopEventDispatchThreadsstopEventDispatchThreads()isMainContextisMainContext(sun.awt.AppContext)getAppContextgetAppContext()AppContext(java.lang.ThreadGroup)isDisposedisDisposed()Set<AppContext>Collection<AppContext>Iterable<AppContext>getAppContextsgetAppContexts()GUI_DISPOSEDDISPOSED_PROPERTY_NAMEEVENT_QUEUE_COND_KEYEVENT_QUEUE_LOCK_KEYEVENT_QUEUE_KEYComponentFactory/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/ComponentFactory.classgetMouseInfoPeergetMouseInfoPeer()getDataTransferergetDataTransferer()createRobotcreateRobot(java.awt.GraphicsDevice)getFontPeergetFontPeer(java.lang.String,int)createDragSourceContextPeercreateDragSourceContextPeer(java.awt.dnd.DragGestureEvent)createCheckboxMenuItemcreateCheckboxMenuItem(java.awt.CheckboxMenuItem)createFileDialogcreateFileDialog(java.awt.FileDialog)createMenuItemcreateMenuItem(java.awt.MenuItem)createPopupMenucreatePopupMenu(java.awt.PopupMenu)createMenucreateMenu(java.awt.Menu)createMenuBarcreateMenuBar(java.awt.MenuBar)createDialogcreateDialog(java.awt.Dialog)createWindowcreateWindow(java.awt.Window)createPanelcreatePanel(java.awt.Panel)createCanvascreateCanvas(java.awt.Canvas)createFramecreateFrame(java.awt.Frame)createChoicecreateChoice(java.awt.Choice)createTextAreacreateTextArea(java.awt.TextArea)createScrollPanecreateScrollPane(java.awt.ScrollPane)createScrollbarcreateScrollbar(java.awt.Scrollbar)createCheckboxcreateCheckbox(java.awt.Checkbox)createListcreateList(java.awt.List)createLabelcreateLabel(java.awt.Label)createTextFieldcreateTextField(java.awt.TextField)createButtoncreateButton(java.awt.Button)createTaskbarPeercreateTaskbarPeer(java.awt.Taskbar)createDesktopPeercreateDesktopPeer(java.awt.Desktop)ConstrainableGraphics/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/ConstrainableGraphics.classconstrainconstrain(int,int,int,int)DisplayChangedListener/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/DisplayChangedListener.classpaletteChangedpaletteChanged()displayChangeddisplayChanged()EventQueueItem/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/EventQueueItem.classEventQueueItem(java.awt.AWTEvent)eventRequestFocusController/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/RequestFocusController.classacceptRequestFocusacceptRequestFocus(java.awt.Component,java.awt.Component,boolean,boolean,java.awt.event.FocusEvent.Cause)sun.awt.datatransferDataTransferer/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/datatransfer/DataTransferer.class/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/datatransferLinkedHashSet<String>HashSet<String>AbstractSet<String>getPlatformMappingsForFlavorgetPlatformMappingsForFlavor(java.awt.datatransfer.DataFlavor)LinkedHashSet<DataFlavor>HashSet<DataFlavor>AbstractSet<DataFlavor>AbstractCollection<DataFlavor>Set<DataFlavor>SequencedSet<DataFlavor>getPlatformMappingsForNativegetPlatformMappingsForNative(java.lang.String)inputStreamToByteArrayinputStreamToByteArray(java.io.InputStream)setToSortedDataFlavorArraysetToSortedDataFlavorArray(java.util.Set)SortedMap<Long,?>SequencedMap<Long,?>Map<Long,?>keysToLongArraykeysToLongArray(java.util.SortedMap)getToolkitThreadBlockedHandlergetToolkitThreadBlockedHandler()processDataConversionRequestsprocessDataConversionRequests()Map<Long,DataFlavor>convertDataconvertData(java.lang.Object,java.awt.datatransfer.Transferable,long,java.util.Map,boolean)imageToStandardBytesImplimageToStandardBytesImpl(java.awt.image.RenderedImage,java.lang.String)imageToStandardBytesimageToStandardBytes(java.awt.Image,java.lang.String)imageToPlatformBytesimageToPlatformBytes(java.awt.Image,long)standardImageBytesToImagestandardImageBytesToImage(byte[],java.lang.String)platformImageBytesToImageplatformImageBytesToImage(byte[],long)URI[]dragQueryURIsdragQueryURIs(java.io.InputStream,long,java.awt.datatransfer.Transferable)dragQueryFiledragQueryFile(byte[])translateStreamtranslateStream(java.io.InputStream,java.awt.datatransfer.DataFlavor,long,java.awt.datatransfer.Transferable)translateBytestranslateBytes(byte[],java.awt.datatransfer.DataFlavor,long,java.awt.datatransfer.Transferable)ArrayList<String>convertFileListToBytesconvertFileListToBytes(java.util.ArrayList)translateTransferabletranslateTransferable(java.awt.datatransfer.Transferable,java.awt.datatransfer.DataFlavor,long)getBestCharsetForTextFormatgetBestCharsetForTextFormat(java.lang.Long,java.awt.datatransfer.Transferable)getNativeForFormatgetNativeForFormat(long)getFormatForNativeAsLonggetFormatForNativeAsLong(java.lang.String)getFlavorsForFormatsAsArraygetFlavorsForFormatsAsArray(long[],java.awt.datatransfer.FlavorTable)getFlavorsForFormatsAsSetgetFlavorsForFormatsAsSet(long[],java.awt.datatransfer.FlavorTable)Map<DataFlavor,Long>getFlavorsForFormatsgetFlavorsForFormats(long[],java.awt.datatransfer.FlavorTable)getFormatsForTransferableAsArraygetFormatsForTransferableAsArray(java.awt.datatransfer.Transferable,java.awt.datatransfer.FlavorTable)SortedMap<Long,DataFlavor>SequencedMap<Long,DataFlavor>getFormatsForFlavorsgetFormatsForFlavors(java.awt.datatransfer.DataFlavor[],java.awt.datatransfer.FlavorTable)getFormatsForTransferablegetFormatsForTransferable(java.awt.datatransfer.Transferable,java.awt.datatransfer.FlavorTable)isURIListFormatisURIListFormat(long)isImageFormatisImageFormat(long)isFileFormatisFileFormat(long)isLocaleDependentTextFormatisLocaleDependentTextFormat(long)getCharsetForTextFormatgetCharsetForTextFormat(java.lang.Long)isTextFormatisTextFormat(long)registerTextFlavorPropertiesregisterTextFlavorProperties(java.lang.String,java.lang.String,java.lang.String,java.lang.String)getDefaultUnicodeEncodinggetDefaultUnicodeEncoding()adaptFlavorMapadaptFlavorMap(java.awt.datatransfer.FlavorMap)DataTransferer()javaTextEncodingFlavorToolkitThreadBlockedHandler/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/datatransfer/ToolkitThreadBlockedHandler.classsun.awt.geomPathConsumer2D/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/geom/PathConsumer2D.class/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/geomgetNativeConsumergetNativeConsumer()pathDonepathDone()sun.awt.imagePixelConverter/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/image/PixelConverter.class/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/imagegetAlphaMaskgetAlphaMask()pixelToRgbpixelToRgb(int,java.awt.image.ColorModel)rgbToPixelrgbToPixel(int,java.awt.image.ColorModel)PixelConverter()alphaMaskFlushableCacheData/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/image/SurfaceManager$FlushableCacheData.classflush(boolean)ImageAccessor/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/image/SurfaceManager$ImageAccessor.classsetSurfaceManagersetSurfaceManager(java.awt.Image,sun.awt.image.SurfaceManager)getSurfaceManagergetSurfaceManager(java.awt.Image)ImageAccessor()SurfaceManager/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/awt/image/SurfaceManager.classgetImageScaleYgetImageScaleY(java.awt.Image)getImageScaleXgetImageScaleX(java.awt.Image)acceleratedSurfaceLostacceleratedSurfaceLost()restoreContentsrestoreContents()getPrimarySurfaceDatagetPrimarySurfaceData()setCacheDatasetCacheData(java.lang.Object,java.lang.Object)getCacheDatagetCacheData(java.lang.Object)setManagersetManager(java.awt.Image,sun.awt.image.SurfaceManager)getManagergetManager(java.awt.Image)setImageAccessorsetImageAccessor(sun.awt.image.SurfaceManager.ImageAccessor)SurfaceManager()IdentityArrayListIdentityArrayList(java.util.Collection)IdentityArrayList()IdentityArrayList(int)sun.fontCharToGlyphMapper/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/font/CharToGlyphMapper.class/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/fontisVariationSelectorisVariationSelector(int)charsToGlyphscharsToGlyphs(int,int[],int[])charsToGlyphsNScharsToGlyphsNS(int,char[],int[])charsToGlyphs(int,char[],int[])charToVariationGlyphcharToVariationGlyph(int,int)charToGlyphcharToGlyph(int)charToGlyph(char)CharToGlyphMapper()missingGlyphINVISIBLE_GLYPHSINVISIBLE_GLYPH_IDUNINITIALIZED_GLYPHVSS_ENDVSS_STARTVS_ENDVS_STARTLO_SURROGATE_ENDLO_SURROGATE_STARTHI_SURROGATE_ENDHI_SURROGATE_STARTFont2D/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/font/Font2D.classgetItalicAngle(java.awt.Font,java.awt.geom.AffineTransform,java.lang.Object,java.lang.Object)getFamilyNamegetFamilyName(java.util.Locale)getPostscriptNamegetPostscriptName()hasSupplementaryCharshasSupplementaryChars()useAAForPtSizeuseAAForPtSize(int)canDoStylecanDoStyle(int)supportsEncodingsupportsEncoding(java.lang.String)getUnitsPerEmgetUnitsPerEm()getPlatformNativeFontPtrgetPlatformNativeFontPtr()getTableBytesgetTableBytes(int)getFontMetrics(java.awt.Font,java.awt.font.FontRenderContext,float[])getStyleMetricsgetStyleMetrics(float,float[],int)getFontMetrics(java.awt.Font,java.awt.geom.AffineTransform,java.lang.Object,java.lang.Object,float[])getStrikegetStrike(sun.font.FontStrikeDesc)updateLastStrikeRefupdateLastStrikeRef(sun.font.FontStrike)getStrike(java.awt.Font,java.awt.font.FontRenderContext)getStrike(java.awt.Font,java.awt.geom.AffineTransform,java.awt.geom.AffineTransform,int,int)getStrike(java.awt.Font,java.awt.geom.AffineTransform,int,int)getStrike(java.awt.Font)createStrikecreateStrike(sun.font.FontStrikeDesc)getValidatedGlyphCodegetValidatedGlyphCode(int)getMappergetMapper()setRanksetRank(int)getRankgetRank()setStylesetStyle()setUseWeakRefssetUseWeakRefs(boolean,int)Font2D()FWEIGHT_BOLDFWEIGHT_NORMALFWIDTH_NORMALReference<FontStrike>lastFontStrikeConcurrentHashMap<FontStrikeDesc,Reference<FontStrike>>AbstractMap<FontStrikeDesc,Reference<FontStrike>>Map<FontStrikeDesc,Reference<FontStrike>>ConcurrentMap<FontStrikeDesc,Reference<FontStrike>>strikeCachemapperfontRankfullNamefamilyNameDEFAULT_RANKUNKNOWN_RANKNATIVE_RANKTYPE1_RANKTTF_RANKJRE_RANKFONT_CONFIG_RANKFont2DHandle/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/font/Font2DHandle.classFont2DHandle(sun.font.Font2D)font2DFontFamily/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/font/FontFamily.classFontFamily[]getAllFontFamiliesgetAllFontFamilies()getLocaleFamilygetLocaleFamily(java.lang.String)addLocaleNamesaddLocaleNames(sun.font.FontFamily,java.lang.String[])getClosestStylegetClosestStyle(int)getFont(int)getFontWithExactStyleMatchgetFontWithExactStyleMatch(int)setFont(sun.font.Font2D,int)getFamilyName()FontFamily(java.lang.String)FontFamily(java.lang.String,boolean,int)remove(sun.font.Font2D)getAllFamilyNamesgetAllFamilyNames()getFamily(java.lang.String)familyRanklogicalFontbolditalicitalicboldplainFontStrike/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/font/FontStrike.classgetGlyphVectorOutlinegetGlyphVectorOutline(int[],float,float)getGlyphOutlineBoundsgetGlyphOutlineBounds(int)getCodePointAdvancegetCodePointAdvance(int)getGlyphAdvancegetGlyphAdvance(int)getCharMetricsgetCharMetrics(char)getGlyphImageBoundsgetGlyphImageBounds(int,java.awt.geom.Point2D.Float,java.awt.Rectangle)getGlyphImagePtrgetGlyphImagePtr(int)getGlyphImagePtrsgetGlyphImagePtrs(int[],long[],int)FontStrike()boldnessalgoStylestrikeMetricsFontStrikeDesc/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/font/FontStrikeDesc.classFontStrikeDesc(sun.font.FontStrikeDesc)FontStrikeDesc(java.awt.geom.AffineTransform,java.awt.geom.AffineTransform,int,int,int)getFMHintIntValgetFMHintIntVal(java.lang.Object)getAAHintIntValgetAAHintIntVal(sun.font.Font2D,java.awt.Font,java.awt.font.FontRenderContext)getAAHintIntVal(java.lang.Object,sun.font.Font2D,int)FontStrikeDesc()fmHintaaHintglyphTxdevTxFRAC_METRICS_SPFRAC_METRICS_ONAA_LCD_VAA_LCD_HAA_ONFontStrikeDisposer/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/font/FontStrikeDisposer.classFontStrikeDisposer(sun.font.Font2D,sun.font.FontStrikeDesc)FontStrikeDisposer(sun.font.Font2D,sun.font.FontStrikeDesc,long)FontStrikeDisposer(sun.font.Font2D,sun.font.FontStrikeDesc,long,long[])FontStrikeDisposer(sun.font.Font2D,sun.font.FontStrikeDesc,long,int[])compdisposedpScalerContextlong[][]segLongGlyphImagessegIntGlyphImagesintGlyphImageslongGlyphImagesGlyphList/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/font/GlyphList.classgetColorGlyphDatagetColorGlyphData()isColorGlyphisColorGlyph(int)canContainColorGlyphscanContainColorGlyphs()isRGBOrderisRGBOrder()isSubPixPosisSubPixPos()getStrike()getPositionsgetPositions()usePositionsusePositions()getImagesgetImages()getGrayBitsgetGrayBits()getMetricsgetMetrics()setGlyphIndexsetGlyphIndex(int)getBounds(int)startGlyphIterationstartGlyphIteration()setFromGlyphVectorsetFromGlyphVector(sun.java2d.loops.FontInfo,java.awt.font.GlyphVector,float,float)setFromCharssetFromChars(sun.java2d.loops.FontInfo,char[],int,int,float,float)setFromStringsetFromString(sun.java2d.loops.FontInfo,java.lang.String,float,float)lcdSubPixPoslcdRGBOrdergposygposxpositionsimageschDataglyphDatamaxPosLenmaxLenlenstrikelistgraybitsmetricsglyphindexStrikeMetrics/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/font/StrikeMetrics.classconvertToUserSpaceconvertToUserSpace(java.awt.geom.AffineTransform)merge(sun.font.StrikeMetrics)StrikeMetrics(float,float,float,float,float,float,float,float,float,float)StrikeMetrics()maxAdvanceYmaxAdvanceXleadingYleadingXbaselineYbaselineXdescentYdescentXascentYascentXsun.invoke.emptyEmpty/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/invoke/empty/Empty.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/invoke/empty/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/invoke/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sunsun.invoke.util/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/invoke/util/Wrapper.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/invoke/utilEnum<Wrapper>Comparable<Wrapper>compareTo(sun.invoke.util.Wrapper)EnumDesc<Wrapper>DynamicConstantDesc<Wrapper>Optional<EnumDesc<Wrapper>>Class<Wrapper>Enum<Wrapper>(java.lang.String,int)copyArrayBoxingcopyArrayBoxing(java.lang.Object,int,java.lang.Object[],int,int)copyArrayUnboxingcopyArrayUnboxing(java.lang.Object[],int,java.lang.Object,int,int)makeArraymakeArray(int)wrap(int)wrap(java.lang.Object)forceTypeforceType(java.lang.Class,java.lang.Class)cast(java.lang.Object,java.lang.Class)primitiveSimpleNameprimitiveSimpleName()wrapperSimpleNamewrapperSimpleName()basicTypeStringbasicTypeString()isPrimitiveTypeisPrimitiveType(java.lang.Class)isWrapperTypeisWrapperType(java.lang.Class)asPrimitiveTypeasPrimitiveType(java.lang.Class)asWrapperTypeasWrapperType(java.lang.Class)wrapperTypewrapperType(java.lang.Class)wrapperType()primitiveTypeprimitiveType()forBasicTypeforBasicType(java.lang.Class)forBasicType(char)findWrapperTypefindWrapperType(java.lang.Class)forWrapperTypeforWrapperType(java.lang.Class)forPrimitiveTypeforPrimitiveType(char)forPrimitiveType(java.lang.Class)zero()isConvertibleFromisConvertibleFrom(sun.invoke.util.Wrapper)isFloatingisFloating()isUnsignedisUnsigned()isSigned()isSubwordOrIntisSubwordOrInt()isIntegralisIntegral()isNumericisNumeric()isDoubleWordisDoubleWord()isSingleWordisSingleWord()stackSlotsstackSlots()bitWidthbitWidth()detailStringdetailString()Wrapper[]VOIDOBJECTINTCHARBYTEBOOLEANsun.java2dDestSurfaceProvider/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/DestSurfaceProvider.class/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2dgetDestSurfacegetDestSurface()PollDisposable/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/Disposer$PollDisposable.classDisposer/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/Disposer.classaddObjectRecordaddObjectRecord(java.lang.Object,sun.java2d.DisposerRecord)addReferenceaddReference(java.lang.ref.Reference,sun.java2d.DisposerRecord)pollRemovepollRemove()add(java.lang.Object,sun.java2d.DisposerRecord)addRecordaddRecord(java.lang.Object,sun.java2d.DisposerRecord)addRecord(java.lang.Object,long,long)Disposer()pollingQueuerefTypePHANTOMDisposerRecord/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/DisposerRecord.classDisposerTarget/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/DisposerTarget.classgetDisposerReferentgetDisposerReferent()ReentrantContext/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/ReentrantContext.classReentrantContext()? extends ReentrantContextReference<? extends ReentrantContext>usage/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/StateTrackable$State.classcompareTo(sun.java2d.StateTrackable.State)UNTRACKABLEDYNAMICSTABLEStateTrackable/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/StateTrackable.classgetStateTrackergetStateTracker()StateTrackableDelegate/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/StateTrackableDelegate.classmarkDirtymarkDirty()removeDynamicAgentremoveDynamicAgent()addDynamicAgentaddDynamicAgent()setUntrackablesetUntrackable()setImmutablesetImmutable()createInstancecreateInstance(sun.java2d.StateTrackable.State)theTrackerIMMUTABLE_DELEGATEUNTRACKABLE_DELEGATEStateTracker/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/StateTracker.classisCurrentisCurrent()NEVER_CURRENTALWAYS_CURRENTSunGraphics2D/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/SunGraphics2D.classcopyImagecopyImage(java.awt.Image,int,int,int,int,int,int,java.awt.Color,java.awt.image.ImageObserver)transformBoundstransformBounds(java.awt.Rectangle,java.awt.geom.AffineTransform)transformShapetransformShape(java.awt.geom.AffineTransform,java.awt.Shape)transformShape(int,int,java.awt.Shape)untransformShapeuntransformShape(java.awt.Shape)transformShape(java.awt.Shape)validateCompClipvalidateCompClip()validateColorvalidateColor()cloneTransformcloneTransform()invalidateTransforminvalidateTransform()makeHintsmakeHints(java.util.Map)getSurfaceDatagetSurfaceData()getDeviceColorModelgetDeviceColorModel()getGVFontInfogetGVFontInfo(java.awt.Font,java.awt.font.FontRenderContext)getFontInfogetFontInfo()isRotatedisRotated(double[])checkFontInfocheckFontInfo(sun.java2d.loops.FontInfo,java.awt.Font,java.awt.font.FontRenderContext)getCompClipgetCompClip()intersectByAreaintersectByArea(java.awt.Shape,java.awt.Shape,boolean,boolean)cloneShapecloneShape(java.awt.Shape)intersectRectShapeintersectRectShape(java.awt.geom.Rectangle2D,java.awt.Shape,boolean,boolean)intersectShapesintersectShapes(java.awt.Shape,java.awt.Shape,boolean,boolean)validatePipevalidatePipe()invalidatePipeinvalidatePipe()constrain(int,int,int,int,sun.java2d.pipe.Region)setDevClipsetDevClip(java.awt.Rectangle)setDevClip(int,int,int,int)SunGraphics2D(sun.java2d.SurfaceData,java.awt.Color,java.awt.Color,java.awt.Font)lastCAcomplastCAblitNON_RECTILINEAR_TRANSFORM_MASKMinPenSizeSquaredMinPenSizeAASquaredMinPenSizeAANON_UNIFORM_SCALE_MASKinvalidpipedevClipusrClipclipRegionconstrainYconstrainXconstrainClipinterpolationTypestrokeHintlcdTextContrastfractionalMetricsHinttextAntialiasHintantialiasHintrenderHintfontMetricscompositestrokedefaultCompositedefaultStroketransYtransXbackgroundColorforegroundColorclipStatetransformStatestrokeStatecompositeStatepaintStateimageComploopsalphafilltextpipeshapepipeimagepipefillpipedrawpipesurfaceDatapixeleargbCLIP_DEVICECLIP_RECTANGULARCLIP_SHAPETRANSFORM_ISIDENTTRANSFORM_INT_TRANSLATETRANSFORM_ANY_TRANSLATETRANSFORM_TRANSLATESCALETRANSFORM_GENERICSTROKE_THINSTROKE_THINDASHEDSTROKE_WIDESTROKE_CUSTOMCOMP_ISCOPYCOMP_ALPHACOMP_XORCOMP_CUSTOMPAINT_OPAQUECOLORPAINT_ALPHACOLORPAINT_GRADIENTPAINT_LIN_GRADIENTPAINT_RAD_GRADIENTPAINT_TEXTUREPAINT_CUSTOMSurface/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/Surface.classSurfaceData/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/SurfaceData.classconvertToconvertTo(java.lang.Class,sun.java2d.SurfaceData)getDefaultScaleYgetDefaultScaleY()getDefaultScaleXgetDefaultScaleX()copyArea(sun.java2d.SunGraphics2D,int,int,int,int,int,int)isNullisNull(sun.java2d.SurfaceData)isOpaqueGrayisOpaqueGray(java.awt.image.IndexColorModel)checkCustomCompositecheckCustomComposite()rgbForrgbFor(int)pixelForpixelFor(java.awt.Color)pixelFor(int)useTightBBoxesuseTightBBoxes()getSurfaceTypegetSurfaceType()makeRenderLoopsmakeRenderLoops(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)getRenderLoopsgetRenderLoops(sun.java2d.SunGraphics2D)getMaskFillgetMaskFill(sun.java2d.SunGraphics2D)validatePipe(sun.java2d.SunGraphics2D)canRenderParallelogramscanRenderParallelograms(sun.java2d.SunGraphics2D)canRenderLCDTextcanRenderLCDText(sun.java2d.SunGraphics2D)getReplacementgetReplacement()getNativeOpsgetNativeOps()isSurfaceLostisSurfaceLost()setSurfaceLostsetSurfaceLost(boolean)restoreContents(java.awt.Image)getPrimarySurfaceData(java.awt.Image)makeProxyFormakeProxyFor(sun.java2d.SurfaceData)getSourceSurfaceDatagetSourceSurfaceData(java.awt.Image,int,sun.java2d.loops.CompositeType,java.awt.Color)setBlitProxyKeysetBlitProxyKey(java.lang.Object)SurfaceData(sun.java2d.StateTrackable.State)SurfaceData(sun.java2d.StateTrackableDelegate,sun.java2d.loops.SurfaceType,java.awt.image.ColorModel)SurfaceData(sun.java2d.StateTrackable.State,sun.java2d.loops.SurfaceType,java.awt.image.ColorModel)SurfaceData(sun.java2d.loops.SurfaceType,java.awt.image.ColorModel)compPermissionhavePgramSolidLoophavePgramXORLoophaveLCDLoopLOOP_NOTFOUNDLOOP_FOUNDLOOP_UNKNOWNAAClipCompViaShapeAAClipCompShapeAACompViaShapeAACompShapeclipCompTextclipCompPipecompTextcompViaShapecompShapecompPipeAAClipPaintViaShapeAAClipPaintShapeAAPaintViaShapeAAPaintShapeclipPaintTextclipPaintPipepaintTextpaintViaShapepaintShapepaintPipeAAClipColorViaShapeAAClipColorShapeAAColorViaPgramAAColorViaShapeAAColorShapeclipColorTextclipColorPipecolorTextcolorViaPgramcolorViaShapecolorPipelcdTextRendereraaTextRenderersolidTextRendereroutlineTextRenderercolorPrimitivesSurfaceDataProxy/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/SurfaceDataProxy.classupdateSurfaceDataBgupdateSurfaceDataBg(sun.java2d.SurfaceData,sun.java2d.SurfaceData,int,int,java.awt.Color)updateSurfaceDataupdateSurfaceData(sun.java2d.SurfaceData,sun.java2d.SurfaceData,int,int)replaceDatareplaceData(sun.java2d.SurfaceData,int,sun.java2d.loops.CompositeType,java.awt.Color)activateDisplayListeneractivateDisplayListener()SurfaceDataProxy(int)SurfaceDataProxy()getRetryTrackergetRetryTracker(sun.java2d.SurfaceData)validateSurfaceDatavalidateSurfaceData(sun.java2d.SurfaceData,sun.java2d.SurfaceData,int,int)isSupportedOperationisSupportedOperation(sun.java2d.SurfaceData,int,sun.java2d.loops.CompositeType,java.awt.Color)isCachingAllowedisCachingAllowed()UNCACHEDsun.java2d.cmmProfile/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/cmm/Profile.class/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/cmmgetNativePtrgetNativePtr()Profile(long)ProfileDeferralInfo/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/cmm/ProfileDeferralInfo.classProfileDeferralInfo(java.lang.String,int,int,int)profileClasssun.java2d.loopsBlit/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/Blit.class/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loopstraceWraptraceWrap()makePrimitivemakePrimitive(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)Blit(sun.java2d.SurfaceData,sun.java2d.SurfaceData,java.awt.Composite,sun.java2d.pipe.Region,int,int,int,int,int,int)Blit(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)Blit(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)getFromCachegetFromCache(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)locate(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)primTypeIDmethodSignatureCompositeType/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/CompositeType.classisDerivedFromisDerivedFrom(sun.java2d.loops.CompositeType)getUniqueIDgetUniqueID()makeUniqueIDmakeUniqueID(java.lang.String)forAlphaCompositeforAlphaComposite(java.awt.AlphaComposite)deriveSubTypederiveSubType(java.lang.String)OpaqueSrcOverNoEaSrcOverNoEaSrcNoEaAlphaXorAnyAlphaGeneralAnyDESC_ANY_ALPHADESC_SRC_OVER_NO_EADESC_SRC_NO_EADESC_ALPHA_XORDESC_DST_ATOPDESC_SRC_ATOPDESC_DST_OUTDESC_SRC_OUTDESC_DST_INDESC_SRC_INDESC_DST_OVERDESC_SRC_OVERDESC_DSTDESC_SRCDESC_CLEARDESC_XORDESC_ANYDrawGlyphList/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/DrawGlyphList.classDrawGlyphList(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,sun.font.GlyphList,int,int)DrawGlyphList(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawGlyphList(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawGlyphListAA/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/DrawGlyphListAA.classDrawGlyphListAA(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,sun.font.GlyphList,int,int)DrawGlyphListAA(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawGlyphListAA(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawGlyphListColor/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/DrawGlyphListColor.classDrawGlyphListColor(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,sun.font.GlyphList,int,int)DrawGlyphListColor(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawGlyphListLCD/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/DrawGlyphListLCD.classDrawGlyphListLCD(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,sun.font.GlyphList,int,int)DrawGlyphListLCD(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawGlyphListLCD(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawLine/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/DrawLine.classDrawLine(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,int,int,int,int)DrawLine(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawLine(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawParallelogram/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/DrawParallelogram.classDrawParallelogram(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,double,double,double,double,double,double,double,double)DrawParallelogram(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawParallelogram(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawPath/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/DrawPath.classDrawPath(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,int,int,java.awt.geom.Path2D.Float)DrawPath(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawPath(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawPolygons/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/DrawPolygons.classDrawPolygons(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,int[],int[],int[],int,int,int,boolean)DrawPolygons(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawPolygons(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawRect/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/DrawRect.classDrawRect(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,int,int,int,int)DrawRect(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)DrawRect(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)FillParallelogram/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/FillParallelogram.classFillParallelogram(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,double,double,double,double,double,double)FillParallelogram(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)FillParallelogram(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)FillPath/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/FillPath.classFillPath(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,int,int,java.awt.geom.Path2D.Float)FillPath(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)FillPath(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)FillRect/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/FillRect.classFillRect(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,int,int,int,int)FillRect(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)FillRect(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)FillSpans/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/FillSpans.classFillSpans(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,sun.java2d.pipe.SpanIterator)FillSpans(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)FillSpans(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)FontInfo/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/FontInfo.classmtxmtx(double[])FontInfo()originYoriginXpixelHeightnonInvertibleTxfontStrikeGeneralBinaryOp/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/GraphicsPrimitive$GeneralBinaryOp.classgetPrimTypeIDgetPrimTypeID()getDestTypegetDestType()getCompositeTypegetCompositeType()setPrimitivessetPrimitives(sun.java2d.loops.Blit,sun.java2d.loops.Blit,sun.java2d.loops.GraphicsPrimitive,sun.java2d.loops.Blit)GeneralUnaryOp/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/GraphicsPrimitive$GeneralUnaryOp.classsetPrimitives(sun.java2d.loops.Blit,sun.java2d.loops.GraphicsPrimitive,sun.java2d.loops.Blit)GraphicsPrimitive/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/GraphicsPrimitive.classsimplenamesimplename(sun.java2d.loops.CompositeType)simplename(sun.java2d.loops.SurfaceType)simplename(java.lang.reflect.Field[],java.lang.Object)getGeneralOpgetGeneralOp(int,sun.java2d.loops.CompositeType)convertTo(sun.java2d.loops.Blit,sun.java2d.SurfaceData,sun.java2d.SurfaceData,sun.java2d.pipe.Region,int,int,int,int)convertFromconvertFrom(sun.java2d.loops.Blit,sun.java2d.SurfaceData,int,int,int,int,sun.java2d.SurfaceData,int)convertFrom(sun.java2d.loops.Blit,sun.java2d.SurfaceData,int,int,int,int,sun.java2d.SurfaceData)createConvertercreateConverter(sun.java2d.loops.SurfaceType,sun.java2d.loops.SurfaceType)setupGeneralUnaryOpsetupGeneralUnaryOp(sun.java2d.loops.GraphicsPrimitive.GeneralUnaryOp)setupGeneralBinaryOpsetupGeneralBinaryOp(sun.java2d.loops.GraphicsPrimitive.GeneralBinaryOp)tracePrimitivetracePrimitive(java.lang.Object)tracingEnabledtracingEnabled()satisfiesSameAssatisfiesSameAs(sun.java2d.loops.GraphicsPrimitive)satisfiessatisfies(java.lang.String,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)getNativePrimgetNativePrim()GraphicsPrimitive(long,java.lang.String,int,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)GraphicsPrimitive(java.lang.String,int,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)makeUniqueID(int,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)makePrimTypeIDmakePrimTypeID()TRACECOUNTSTRACETIMESTAMPTRACELOGtraceouttracefiletraceflagsHashMap<Object,int[]>AbstractMap<Object,int[]>Map<Object,int[]>traceMapMaskFill/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/MaskFill.classcanDoParallelogramscanDoParallelograms()DrawAAPgramDrawAAPgram(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,java.awt.Composite,double,double,double,double,double,double,double,double)FillAAPgramFillAAPgram(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,java.awt.Composite,double,double,double,double,double,double)MaskFill(sun.java2d.SunGraphics2D,sun.java2d.SurfaceData,java.awt.Composite,int,int,int,int,byte[],int,int)MaskFill(long,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)MaskFill(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)MaskFill(java.lang.String,sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)locatePrimlocatePrim(sun.java2d.loops.SurfaceType,sun.java2d.loops.CompositeType,sun.java2d.loops.SurfaceType)drawPgramSignaturefillPgramSignatureRenderLoops/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/RenderLoops.classRenderLoops()drawGlyphListColorLoopdrawGlyphListLCDLoopdrawGlyphListAALoopdrawGlyphListLoopdrawParallelogramLoopfillParallelogramLoopfillSpansLoopfillPathLoopdrawPathLoopdrawPolygonsLoopdrawRectLoopfillRectLoopdrawLineLoopSurfaceType/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/loops/SurfaceType.classrgbFor(int,java.awt.image.ColorModel)pixelFor(int,java.awt.image.ColorModel)getPixelConvertergetPixelConverter()deriveSubType(java.lang.String,sun.awt.image.PixelConverter)pixelConverterOpaqueTexturePaintTexturePaintOpaqueRadialGradientPaintRadialGradientPaintOpaqueLinearGradientPaintLinearGradientPaintOpaqueGradientPaintGradientPaintOpaqueColorAnyColorAnyPaintIndex12GrayIndex8GrayByteIndexedOpaqueByteIndexedBmIntArgbBmThreeByteRgbIntBgrxIntRgbxByteIndexedByteBinary4BitByteBinary2BitByteBinary1BitUshortGrayByteGrayUshortIndexedUshort4444ArgbUshort555RgbxUshort555RgbUshort565RgbFourByteAbgrPreFourByteAbgrThreeByteBgrIntBgrIntArgbPreIntArgbIntRgbCustomAnyDcmAny4ByteAny3ByteAnyByteBinaryAnyByteAnyShortAnyIntDESC_OPAQUE_RADIAL_GRADIENT_PAINTDESC_RADIAL_GRADIENT_PAINTDESC_OPAQUE_LINEAR_GRADIENT_PAINTDESC_LINEAR_GRADIENT_PAINTDESC_OPAQUE_TEXTURE_PAINTDESC_TEXTURE_PAINTDESC_OPAQUE_GRADIENT_PAINTDESC_GRADIENT_PAINTDESC_OPAQUE_COLORDESC_ANY_COLORDESC_ANY_PAINTDESC_BYTE_BINARY_4BITDESC_BYTE_BINARY_2BITDESC_BYTE_BINARY_1BITDESC_INDEX12_GRAYDESC_INDEX8_GRAYDESC_BYTE_INDEXED_OPAQUEDESC_BYTE_INDEXED_BMDESC_INT_ARGB_BMDESC_3BYTE_RGBDESC_INT_BGRxDESC_INT_RGBxDESC_ANY_INT_DCMDESC_ANY_4BYTEDESC_ANY_3BYTEDESC_ANY_BYTEDESC_ANY_SHORTDESC_ANY_INTDESC_BYTE_INDEXEDDESC_BYTE_BINARYDESC_USHORT_GRAYDESC_USHORT_INDEXEDDESC_BYTE_GRAYDESC_USHORT_4444_ARGBDESC_USHORT_555_RGBxDESC_USHORT_555_RGBDESC_USHORT_565_RGBDESC_4BYTE_ABGR_PREDESC_4BYTE_ABGRDESC_3BYTE_BGRDESC_INT_BGRDESC_INT_ARGB_PREDESC_INT_ARGBDESC_INT_RGBsun.java2d.pipeTileState/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/AAShapePipe$TileState.class/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipecomputeBBoxcomputeBBox(double,double,double,double)computeDevBoxcomputeDevBox(int[])getAlphaTilegetAlphaTile(int)TileState()aboxAAShapePipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/AAShapePipe.classrenderTilesrenderTiles(sun.java2d.SunGraphics2D,java.awt.Shape,sun.java2d.pipe.AATileGenerator,int[],sun.java2d.pipe.AAShapePipe.TileState)renderPathrenderPath(sun.java2d.SunGraphics2D,java.awt.Shape,java.awt.BasicStroke)drawParallelogramdrawParallelogram(sun.java2d.SunGraphics2D,double,double,double,double,double,double,double,double,double,double,double,double)fillParallelogramfillParallelogram(sun.java2d.SunGraphics2D,double,double,double,double,double,double,double,double,double,double)fill(sun.java2d.SunGraphics2D,java.awt.Shape)draw(sun.java2d.SunGraphics2D,java.awt.Shape)AAShapePipe(sun.java2d.pipe.CompositePipe)outpipeRDR_ENGINEAATileGenerator/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/AATileGenerator.classgetAlpha(byte[],int,int)nextTilenextTile()getTypicalAlphagetTypicalAlpha()AlphaColorPipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/AlphaColorPipe.classendSequenceendSequence(java.lang.Object)skipTileskipTile(java.lang.Object,int,int)renderPathTilerenderPathTile(java.lang.Object,byte[],int,int,int,int,int,int)needTileneedTile(java.lang.Object,int,int,int,int)startSequencestartSequence(sun.java2d.SunGraphics2D,java.awt.Shape,java.awt.Rectangle,int[])AlphaColorPipe()CompositePipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/CompositePipe.classDrawImagePipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/DrawImagePipe.classtransformImagetransformImage(sun.java2d.SunGraphics2D,java.awt.image.BufferedImage,java.awt.image.BufferedImageOp,int,int)transformImage(sun.java2d.SunGraphics2D,java.awt.Image,java.awt.geom.AffineTransform,java.awt.image.ImageObserver)scaleImagescaleImage(sun.java2d.SunGraphics2D,java.awt.Image,int,int,int,int,int,int,int,int,java.awt.Color,java.awt.image.ImageObserver)scaleImage(sun.java2d.SunGraphics2D,java.awt.Image,int,int,int,int,java.awt.Color,java.awt.image.ImageObserver)copyImage(sun.java2d.SunGraphics2D,java.awt.Image,int,int,int,int,int,int,java.awt.Color,java.awt.image.ImageObserver)copyImage(sun.java2d.SunGraphics2D,java.awt.Image,int,int,java.awt.Color,java.awt.image.ImageObserver)LoopBasedPipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/LoopBasedPipe.classLoopPipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/LoopPipe.classgetStrokeSpansgetStrokeSpans(sun.java2d.SunGraphics2D,java.awt.Shape)getFillSSIgetFillSSI(sun.java2d.SunGraphics2D)fillPolygon(sun.java2d.SunGraphics2D,int[],int[],int)fillArc(sun.java2d.SunGraphics2D,int,int,int,int,int,int)fillOval(sun.java2d.SunGraphics2D,int,int,int,int)fillRoundRect(sun.java2d.SunGraphics2D,int,int,int,int,int,int)fillRect(sun.java2d.SunGraphics2D,int,int,int,int)drawPolygon(sun.java2d.SunGraphics2D,int[],int[],int)drawPolyline(sun.java2d.SunGraphics2D,int[],int[],int)drawArc(sun.java2d.SunGraphics2D,int,int,int,int,int,int)drawOval(sun.java2d.SunGraphics2D,int,int,int,int)drawRoundRect(sun.java2d.SunGraphics2D,int,int,int,int,int,int)drawRect(sun.java2d.SunGraphics2D,int,int,int,int)drawLine(sun.java2d.SunGraphics2D,int,int,int,int)LoopPipe()RenderEngineParallelogramPipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/ParallelogramPipe.classPixelDrawPipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/PixelDrawPipe.classPixelFillPipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/PixelFillPipe.classPixelToParallelogramConverter/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/PixelToParallelogramConverter.classfillOuterParallelogramfillOuterParallelogram(sun.java2d.SunGraphics2D,double,double,double,double,double,double,double,double,double,double,double,double,double,double)drawRectangledrawRectangle(sun.java2d.SunGraphics2D,double,double,double,double,double)fillRectanglefillRectangle(sun.java2d.SunGraphics2D,double,double,double,double)drawGeneralLinedrawGeneralLine(sun.java2d.SunGraphics2D,double,double,double,double)normalize(double)len(double,double)PixelToParallelogramConverter(sun.java2d.pipe.ShapeDrawPipe,sun.java2d.pipe.ParallelogramPipe,double,double,boolean)adjustfillnormRoundingBiasnormPositionminPenSizeoutrendererPixelToShapeConverter/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/PixelToShapeConverter.classPixelToShapeConverter(sun.java2d.pipe.ShapeDrawPipe)Region/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/Region.classfilter(sun.java2d.pipe.SpanIterator)getSpanIteratorgetSpanIterator(int[])getSpanIterator()getIteratorgetIterator()clipBoxToBoundsclipBoxToBounds(int[])getBounds(int[])encompassesXYXYencompassesXYXY(int,int,int,int)encompassesXYWHencompassesXYWH(int,int,int,int)encompassesencompasses(sun.java2d.pipe.Region)intersectsQuickCheckintersectsQuickCheck(sun.java2d.pipe.Region)intersectsQuickCheckXYXYintersectsQuickCheckXYXY(int,int,int,int)isInsideQuickCheckisInsideQuickCheck(sun.java2d.pipe.Region)isInsideXYXYisInsideXYXY(int,int,int,int)isInsideXYWHisInsideXYWH(int,int,int,int)isRectangularisRectangular()getHiYgetHiY()getHiXgetHiX()getLoYgetLoY()getLoXgetLoX()getBoundsIntersectiongetBoundsIntersection(sun.java2d.pipe.Region)getBoundsIntersectionXYXYgetBoundsIntersectionXYXY(int,int,int,int)getBoundsIntersectionXYWHgetBoundsIntersectionXYWH(int,int,int,int)getBoundsIntersection(java.awt.Rectangle)getExclusiveOrgetExclusiveOr(sun.java2d.pipe.Region)getDifferencegetDifference(sun.java2d.pipe.Region)getUniongetUnion(sun.java2d.pipe.Region)getIntersectiongetIntersection(sun.java2d.pipe.Region)getIntersectionXYXYgetIntersectionXYXY(int,int,int,int)getIntersectionXYXY(double,double,double,double)getIntersection(java.awt.geom.Rectangle2D)getIntersectionXYWHgetIntersectionXYWH(int,int,int,int)getIntersection(java.awt.Rectangle)getTranslatedRegiongetTranslatedRegion(int,int)getScaledRegiongetScaledRegion(double,double)getInstance(int[],sun.java2d.pipe.SpanIterator)getInstanceXYXYgetInstanceXYXY(int,int,int,int)getInstance(int[])getInstanceXYWHgetInstanceXYWH(int,int,int,int)getInstance(java.awt.Rectangle)getInstance(int,int,int,int,int[])getInstance(sun.java2d.pipe.Region,boolean,java.awt.Shape,java.awt.geom.AffineTransform)getInstance(sun.java2d.pipe.Region,java.awt.Shape,java.awt.geom.AffineTransform)getInstance(java.awt.Shape,java.awt.geom.AffineTransform)clipScaleclipScale(int,double)clipRoundclipRound(double)clipAddclipAdd(int,int)dimAdddimAdd(int,int)bandsWHOLE_REGIONEMPTY_REGIONRegionIterator/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/RegionIterator.classnextXBandnextXBand(int[])nextYRangenextYRange(int[])copyStateFromcopyStateFrom(sun.java2d.pipe.RegionIterator)createCopycreateCopy()RegionIterator(sun.java2d.pipe.Region)numXbandscurIndexregionRenderingEngine/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/RenderingEngine.classfeedConsumerfeedConsumer(java.awt.geom.PathIterator,sun.awt.geom.PathConsumer2D)getMinimumAAPenSizegetMinimumAAPenSize()getAATileGeneratorgetAATileGenerator(double,double,double,double,double,double,double,double,sun.java2d.pipe.Region,int[])getAATileGenerator(java.awt.Shape,java.awt.geom.AffineTransform,sun.java2d.pipe.Region,java.awt.BasicStroke,boolean,boolean,int[])strokeTostrokeTo(java.awt.Shape,java.awt.geom.AffineTransform,sun.java2d.pipe.Region,java.awt.BasicStroke,boolean,boolean,boolean,sun.awt.geom.PathConsumer2D)strokeTo(java.awt.Shape,java.awt.geom.AffineTransform,java.awt.BasicStroke,boolean,boolean,boolean,sun.awt.geom.PathConsumer2D)createStrokedShape(java.awt.Shape,float,int,int,float,float[],float)RenderingEngine()ShapeDrawPipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/ShapeDrawPipe.classShapeSpanIterator/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/ShapeSpanIterator.classgetNativeIteratorgetNativeIterator()skipDownToskipDownTo(int)nextSpannextSpan(int[])intersectClipBoxintersectClipBox(int,int,int,int)getPathBoxgetPathBox(int[])addSegmentaddSegment(int,float[])setRulesetRule(int)setOutputAreasetOutputArea(sun.java2d.pipe.Region)setOutputArea(java.awt.Rectangle)setOutputAreaXYXYsetOutputAreaXYXY(int,int,int,int)setOutputAreaXYWHsetOutputAreaXYWH(int,int,int,int)appendPolyappendPoly(int[],int[],int,int,int)appendPathappendPath(java.awt.geom.PathIterator)ShapeSpanIterator(boolean)initIDsinitIDs()SpanIterator/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/SpanIterator.classSpanShapeRenderer/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/SpanShapeRenderer.classspanClipLoopspanClipLoop(java.lang.Object,sun.java2d.pipe.SpanIterator,sun.java2d.pipe.Region,int[])renderSpansrenderSpans(sun.java2d.SunGraphics2D,sun.java2d.pipe.Region,java.awt.Shape,sun.java2d.pipe.ShapeSpanIterator)renderRectrenderRect(sun.java2d.SunGraphics2D,java.awt.geom.Rectangle2D)renderBoxrenderBox(java.lang.Object,int,int,int,int)SpanShapeRenderer()TextPipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/TextPipe.classdrawChars(sun.java2d.SunGraphics2D,char[],int,int,int,int)drawGlyphVector(sun.java2d.SunGraphics2D,java.awt.font.GlyphVector,float,float)drawString(sun.java2d.SunGraphics2D,java.lang.String,double,double)ValidatePipe/Users/mavdomenech/Projects/spring-base-project/modules/java.desktop/sun/java2d/pipe/ValidatePipe.classvalidate(sun.java2d.SunGraphics2D)ValidatePipe()sun.nio.chDirectBuffer/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/nio/ch/DirectBuffer.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/nio/ch/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/nioInterruptible/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/nio/ch/Interruptible.classinterrupt(java.lang.Thread)sun.reflect.annotationAnnotationType/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/annotation/AnnotationType.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/annotation/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflectisInheritedisInherited()retentionretention()memberDefaultsmemberDefaults()Map<String,Method>membersmembers()memberTypesmemberTypes()invocationHandlerReturnTypeinvocationHandlerReturnType(java.lang.Class)getInstance(java.lang.Class)sun.reflect.generics.factoryGenericsFactory/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/factory/GenericsFactory.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/factory/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/genericsmakeVoidmakeVoid()makeDoublemakeDouble()makeFloatmakeFloat()makeLongmakeLong()makeIntmakeInt()makeCharmakeChar()makeShortmakeShort()makeBoolmakeBool()makeBytemakeByte()makeArrayTypemakeArrayType(java.lang.reflect.Type)makeNamedTypemakeNamedType(java.lang.String)FieldTypeSignature[]makeWildcardmakeWildcard(sun.reflect.generics.tree.FieldTypeSignature[],sun.reflect.generics.tree.FieldTypeSignature[])findTypeVariablefindTypeVariable(java.lang.String)makeParameterizedTypemakeParameterizedType(java.lang.reflect.Type,java.lang.reflect.Type[],java.lang.reflect.Type)makeTypeVariablemakeTypeVariable(java.lang.String,sun.reflect.generics.tree.FieldTypeSignature[])sun.reflect.generics.repositoryAbstractRepository/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/repository/AbstractRepository.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/repositoryAbstractRepository(java.lang.String,sun.reflect.generics.factory.GenericsFactory)getReifiergetReifier()getTreegetTree()ConstructorRepository/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/repository/ConstructorRepository.classGenericDeclRepository<MethodTypeSignature>/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/repository/GenericDeclRepository.classAbstractRepository<MethodTypeSignature>AbstractRepository<MethodTypeSignature>(java.lang.String,sun.reflect.generics.factory.GenericsFactory)GenericDeclRepositoryGenericDeclRepository(java.lang.String,sun.reflect.generics.factory.GenericsFactory)GenericDeclRepository<MethodTypeSignature>(java.lang.String,sun.reflect.generics.factory.GenericsFactory)EMPTY_TYPE_VARSmake(java.lang.String,sun.reflect.generics.factory.GenericsFactory)ConstructorRepository(java.lang.String,sun.reflect.generics.factory.GenericsFactory)AbstractRepository<S>AbstractRepository<S>(java.lang.String,sun.reflect.generics.factory.GenericsFactory)MethodRepository/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/repository/MethodRepository.classsun.reflect.generics.treeArrayTypeSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/ArrayTypeSignature.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/treesun.reflect.generics.visitorTypeTreeVisitor<?>/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/visitor/TypeTreeVisitor.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/visitoraccept(sun.reflect.generics.visitor.TypeTreeVisitor)make(sun.reflect.generics.tree.TypeSignature)BaseType/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/BaseType.classBooleanSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/BooleanSignature.classmake()BottomSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/BottomSignature.classByteSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/ByteSignature.classCharSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/CharSignature.classClassSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/ClassSignature.classVisitor<?>/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/visitor/Visitor.classaccept(sun.reflect.generics.visitor.Visitor)ClassTypeSignature[]getSuperInterfacesgetSuperInterfaces()FormalTypeParameter[]getFormalTypeParametersgetFormalTypeParameters()make(sun.reflect.generics.tree.FormalTypeParameter[],sun.reflect.generics.tree.ClassTypeSignature,sun.reflect.generics.tree.ClassTypeSignature[])ClassTypeSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/ClassTypeSignature.classList<SimpleClassTypeSignature>SequencedCollection<SimpleClassTypeSignature>Collection<SimpleClassTypeSignature>Iterable<SimpleClassTypeSignature>make(java.util.List)DoubleSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/DoubleSignature.classFieldTypeSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/FieldTypeSignature.classFloatSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/FloatSignature.classFormalTypeParameter/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/FormalTypeParameter.classmake(java.lang.String,sun.reflect.generics.tree.FieldTypeSignature[])IntSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/IntSignature.classLongSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/LongSignature.classMethodTypeSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/MethodTypeSignature.classTypeSignature[]make(sun.reflect.generics.tree.FormalTypeParameter[],sun.reflect.generics.tree.TypeSignature[],sun.reflect.generics.tree.ReturnType,sun.reflect.generics.tree.FieldTypeSignature[])ReturnType/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/ReturnType.classShortSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/ShortSignature.classSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/Signature.classSimpleClassTypeSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/SimpleClassTypeSignature.classTypeArgument[]getTypeArgumentsgetTypeArguments()getDollargetDollar()make(java.lang.String,boolean,sun.reflect.generics.tree.TypeArgument[])Tree/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/Tree.classTypeArgument/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/TypeArgument.classTypeSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/TypeSignature.classTypeTree/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/TypeTree.classTypeVariableSignature/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/TypeVariableSignature.classgetIdentifiergetIdentifier()make(java.lang.String)VoidDescriptor/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/VoidDescriptor.classWildcard/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/tree/Wildcard.classmake(sun.reflect.generics.tree.FieldTypeSignature[],sun.reflect.generics.tree.FieldTypeSignature[])Reifier/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/reflect/generics/visitor/Reifier.classTypeTreeVisitor<Type>visitVoidDescriptorvisitVoidDescriptor(sun.reflect.generics.tree.VoidDescriptor)visitDoubleSignaturevisitDoubleSignature(sun.reflect.generics.tree.DoubleSignature)visitFloatSignaturevisitFloatSignature(sun.reflect.generics.tree.FloatSignature)visitLongSignaturevisitLongSignature(sun.reflect.generics.tree.LongSignature)visitIntSignaturevisitIntSignature(sun.reflect.generics.tree.IntSignature)visitCharSignaturevisitCharSignature(sun.reflect.generics.tree.CharSignature)visitShortSignaturevisitShortSignature(sun.reflect.generics.tree.ShortSignature)visitBooleanSignaturevisitBooleanSignature(sun.reflect.generics.tree.BooleanSignature)visitByteSignaturevisitByteSignature(sun.reflect.generics.tree.ByteSignature)visitBottomSignaturevisitBottomSignature(sun.reflect.generics.tree.BottomSignature)visitSimpleClassTypeSignaturevisitSimpleClassTypeSignature(sun.reflect.generics.tree.SimpleClassTypeSignature)visitWildcardvisitWildcard(sun.reflect.generics.tree.Wildcard)visitTypeVariableSignaturevisitTypeVariableSignature(sun.reflect.generics.tree.TypeVariableSignature)visitArrayTypeSignaturevisitArrayTypeSignature(sun.reflect.generics.tree.ArrayTypeSignature)visitClassTypeSignaturevisitClassTypeSignature(sun.reflect.generics.tree.ClassTypeSignature)visitFormalTypeParametervisitFormalTypeParameter(sun.reflect.generics.tree.FormalTypeParameter)getResultgetResult()make(sun.reflect.generics.factory.GenericsFactory)TypeTreeVisitorVisitorTypeTreeVisitor<T>visitMethodTypeSignaturevisitMethodTypeSignature(sun.reflect.generics.tree.MethodTypeSignature)visitClassSignaturevisitClassSignature(sun.reflect.generics.tree.ClassSignature)sun.security.utilBitArray/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/BitArray.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/securitytruncate()toBooleanArraytoBooleanArray()set(int,boolean)BitArray(boolean[])BitArray(int,byte[],int)BitArray(int,byte[])BitArray(int)Debug/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/Debug.classtoString(java.math.BigInteger)toString(byte[])toHexString(java.math.BigInteger)getPrintStreamgetPrintStream()println(java.lang.String,java.lang.String)println(java.lang.Object,java.lang.String)isVerboseisVerbose()isOnisOn(java.lang.String)HelpHelp()Debug()DerEncoder/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/DerEncoder.classencode(sun.security.util.DerOutputStream)DerInputStream/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/DerInputStream.classOptional<DerValue>getOptionalImplicitContextSpecificgetOptionalImplicitContextSpecific(int,byte)getOptionalExplicitContextSpecificgetOptionalExplicitContextSpecific(int)seeOptionalContextSpecificseeOptionalContextSpecific(int)getOptionalgetOptional(byte)atEndatEnd()getDefiniteLengthgetDefiniteLength(java.io.InputStream)getLengthgetLength(java.io.InputStream)peekBytepeekByte()DerValue[]getSet(int,boolean)getSet(int)getSequencegetSequence(int)getGeneralizedTimegetGeneralizedTime()getUTCTimegetUTCTime()getGeneralStringgetGeneralString()getIA5StringgetIA5String()getBMPStringgetBMPString()getT61StringgetT61String()getPrintableStringgetPrintableString()getUTF8StringgetUTF8String()getOIDgetOID()getNullgetNull()getOctetStringgetOctetString()getUnalignedBitStringgetUnalignedBitString()getBitStringgetBitString()getEnumeratedgetEnumerated()getPositiveBigIntegergetPositiveBigInteger()getBigIntegergetBigInteger()getInteger()getDerValuegetDerValue()DerInputStream(byte[],int,int)DerInputStream(byte[])DerInputStream(byte[],int,int,boolean)allowBERdataDerOutputStream/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/DerOutputStream.classbuf()write(sun.security.util.DerEncoder)putLengthputLength(int)putGeneralizedTimeputGeneralizedTime(java.util.Date)putUTCTimeputUTCTime(java.util.Date)putGeneralStringputGeneralString(java.lang.String)putBMPStringputBMPString(java.lang.String)putIA5StringputIA5String(java.lang.String)putT61StringputT61String(java.lang.String)putPrintableStringputPrintableString(java.lang.String)putUTF8StringputUTF8String(java.lang.String)DerEncoder[]putOrderedSetputOrderedSet(byte,sun.security.util.DerEncoder[])putOrderedSetOfputOrderedSetOf(byte,sun.security.util.DerEncoder[])putSetputSet(sun.security.util.DerValue[])putSequenceputSequence(sun.security.util.DerValue[])putOIDputOID(sun.security.util.ObjectIdentifier)putNullputNull()putOctetStringputOctetString(byte[])putTruncatedUnalignedBitStringputTruncatedUnalignedBitString(sun.security.util.BitArray)putUnalignedBitStringputUnalignedBitString(sun.security.util.BitArray)putBitStringputBitString(byte[])putIntegerputInteger(int)putInteger(java.lang.Integer)putInteger(byte[])putInteger(java.math.BigInteger)putEnumeratedputEnumerated(int)putBoolean(boolean)putDerValueputDerValue(sun.security.util.DerValue)writeImplicitwriteImplicit(byte,sun.security.util.DerOutputStream)write(byte,sun.security.util.DerOutputStream)write(byte,byte[])DerOutputStream()DerOutputStream(int)DerValue/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/DerValue.classsubssubs(byte,int)withTagwithTag(byte)resetTagresetTag(byte)createTagcreateTag(byte,boolean,byte)isPrintableStringCharisPrintableStringChar(char)toDerInputStreamtoDerInputStream()validateBMPStringvalidateBMPString()getUniversalStringgetUniversalString()getDataBytesgetDataBytes()getUnalignedBitString(boolean)getBitString(boolean)getAsStringgetAsString()getBoolean()getTaggetTag()data()DerValue(java.io.InputStream)DerValue(java.io.InputStream,boolean)DerValue(byte[],int,int,boolean,boolean)DerValue(byte[])wrap(byte,sun.security.util.DerOutputStream)DerValue(byte,byte[])DerValue(byte,byte[],boolean)DerValue(byte,java.lang.String)DerValue(java.lang.String)DerValue(byte,byte[],int,int,boolean)isConstructedisConstructed(byte)isConstructed()isContextSpecificisContextSpecific(byte)isContextSpecific()isApplicationisApplication()isUniversalisUniversal()buffertag_SetOftag_Settag_SequenceOftag_Sequencetag_BMPStringtag_UniversalStringtag_GeneralStringtag_GeneralizedTimetag_UtcTimetag_IA5Stringtag_T61Stringtag_PrintableStringtag_UTF8Stringtag_Enumeratedtag_ObjectIdtag_Nulltag_OctetStringtag_BitStringtag_Integertag_BooleanTAG_PRIVATETAG_CONTEXTTAG_APPLICATIONTAG_UNIVERSALKnownOIDs/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs.classEnum<KnownOIDs>Comparable<KnownOIDs>compareTo(sun.security.util.KnownOIDs)EnumDesc<KnownOIDs>DynamicConstantDesc<KnownOIDs>Optional<EnumDesc<KnownOIDs>>Class<KnownOIDs>Enum<KnownOIDs>(java.lang.String,int)/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$1.classregisterNamesregisterNames()/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$2.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$3.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$4.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$5.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$6.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$7.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$8.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$9.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/KnownOIDs$10.classstdNamestdName()findMatchfindMatch(java.lang.String)KnownOIDs[]BlowfishMICROSOFT_ExportApprovedJAVASOFT_JCEKeyProtectorJAVASOFT_JDKKeyProtectorSkipIPAddressITUX509_RSAORACLE_TrustedKeyUsageNETSCAPE_ExportApprovedNETSCAPE_CertSequenceNETSCAPE_CertTypeUCL_DomainComponentUCL_UserIDEd448Ed25519X448X25519OIW_SHA1withRSAOIW_SHA1withDSASHA_1DESedeOIW_SHA1withRSA_OddOIW_JDK_SHA1withDSAOIW_DSAOIW_DES_CBCECDHsect571r1sect571k1sect409r1sect409k1secp521r1secp384r1secp224r1secp224k1secp192k1secp160r2secp128r2secp128r1sect233r1sect233k1sect193r2sect193r1sect131r2sect131r1sect283r1sect283k1sect163r2secp256k1secp160k1secp160r1secp112r2secp112r1sect113r2sect113r1sect239k1sect163r1sect163k1brainpoolP512r1brainpoolP384r1brainpoolP320r1brainpoolP256r1brainpoolP224r1brainpoolP192r1brainpoolP160r1X942_DHSpecifiedSHA2withECDSASHA512withECDSASHA384withECDSASHA256withECDSASHA224withECDSASHA1withECDSAsecp256r1prime239v3prime239v2prime239v1prime192v3prime192v2secp192r1c2tnb431r1c2tnb359v1c2tnb239v3c2tnb239v2c2tnb239v1c2tnb191v3c2tnb191v2c2tnb191v1ECSHA1withDSADSARC5$CBC$PKCS5PaddingDESede$CBC$NoPaddingARCFOURRC2$CBC$PKCS5PaddingHmacSHA512$256HmacSHA512$224HmacSHA512HmacSHA384HmacSHA256HmacSHA224HmacSHA1MD5MD2SecretBagCertBagPKCS8ShroudedKeyBagPBEWithSHA1AndRC2_40PBEWithSHA1AndRC2_128PBEWithSHA1AndDESedePBEWithSHA1AndRC4_40PBEWithSHA1AndRC4_128CMSAlgorithmProtectionCertTypeX509LocalKeyIDFriendlyNameCHACHA20_POLY1305HSSLMSSignatureTimestampTokenSigningCertificateTimeStampTokenInfoSMIMECapabilityExtensionRequestIssuerAndSerialNumberExtendedCertificateAttributesUnstructuredAddressChallengePasswordCounterSignatureSigningTimeMessageDigestContentTypeUnstructuredNameEmailAddressEncryptedDataDigestedDataSignedAndEnvelopedDataEnvelopedDataJDK_OLD_SignedDataJDK_OLD_DataSignedDataDataPKCS7PBES2PBKDF2WithHmacSHA1PBEWithSHA1AndRC2PBEWithSHA1AndDESPBEWithMD5AndRC2PBEWithMD5AndDESDiffieHellmanSHA512$256withRSASHA512$224withRSASHA224withRSASHA512withRSASHA384withRSASHA256withRSARSASSA_PSSPSpecifiedMGF1OAEPSHA1withRSAMD5withRSAMD2withRSARSAPKCS1SHA3_512withRSASHA3_384withRSASHA3_256withRSASHA3_224withRSASHA3_512withECDSASHA3_384withECDSASHA3_256withECDSASHA3_224withECDSASHA3_512withDSASHA3_384withDSASHA3_256withDSASHA3_224withDSASHA512withDSASHA384withDSASHA256withDSASHA224withDSASHAKE256_LENSHAKE128_LENHmacSHA3_512HmacSHA3_384HmacSHA3_256HmacSHA3_224SHAKE256SHAKE128SHA3_512SHA3_384SHA3_256SHA3_224SHA_512$256SHA_512$224SHA_224SHA_512SHA_384SHA_256AES_256$KWP$NoPaddingAES_256$GCM$NoPaddingAES_256$KW$NoPaddingAES_256$CFB$NoPaddingAES_256$OFB$NoPaddingAES_256$CBC$NoPaddingAES_256$ECB$NoPaddingAES_192$KWP$NoPaddingAES_192$GCM$NoPaddingAES_192$KW$NoPaddingAES_192$CFB$NoPaddingAES_192$OFB$NoPaddingAES_192$CBC$NoPaddingAES_192$ECB$NoPaddingAES_128$KWP$NoPaddingAES_128$GCM$NoPaddingAES_128$KW$NoPaddingAES_128$CFB$NoPaddingAES_128$OFB$NoPaddingAES_128$CBC$NoPaddingAES_128$ECB$NoPaddingAEScaRepositoryAD_TimeStampingcaIssuersOCSPNoCheckOCSPNonceExtOCSPBasicResponseOCSPOCSPSigningKP_TimeStampingipsecUseripsecTunnelipsecEndSystememailProtectioncodeSigningclientAuthserverAuthSubjectInfoAccessAuthInfoAccessInhibitAnyPolicyFreshestCRLanyExtendedKeyUsageextendedKeyUsagePolicyConstraintsAuthorityKeyIDPolicyMappingsCE_CERT_POLICIES_ANYCertificatePoliciesCRLDistributionPointsNameConstraintsCertificateIssuerIssuingDistributionPointDeltaCRLIndicatorInvalidityDateHoldInstructionCodeReasonCodeCRLNumberBasicConstraintsIssuerAlternativeNameSubjectAlternativeNamePrivateKeyUsageKeyUsageSubjectKeyIDSubjectDirectoryAttributesDNQualifierGenerationQualifierInitialsGivenNameTitleOrgUnitNameOrgNameStreetAddressStateNameLocalityNameCountryNameSerialNumberSurnameCommonNameObjectIdentifier/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/util/ObjectIdentifier.classof(sun.security.util.KnownOIDs)ObjectIdentifier(sun.security.util.DerInputStream)ObjectIdentifier(byte[])sun.security.x509AVA/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/x509/AVA.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/x509hasRFC2253KeywordhasRFC2253Keyword()toRFC2253CanonicalStringtoRFC2253CanonicalString()toRFC2253StringtoRFC2253String(java.util.Map)toRFC2253String()toRFC1779StringtoRFC1779String(java.util.Map)toRFC1779String()AVA(sun.security.util.DerInputStream)AVA(sun.security.util.DerValue)getValueStringgetValueString()getObjectIdentifiergetObjectIdentifier()AVA(java.io.Reader,int,java.util.Map)AVA(java.io.Reader,int)AVA(java.io.Reader,java.util.Map)AVA(java.io.Reader)AVA(sun.security.util.ObjectIdentifier,sun.security.util.DerValue)oidGeneralNameInterface/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/x509/GeneralNameInterface.classsubtreeDepthsubtreeDepth()constrainsconstrains(sun.security.x509.GeneralNameInterface)NAME_SAME_TYPENAME_WIDENSNAME_NARROWSNAME_MATCHNAME_DIFF_TYPENAME_OIDNAME_IPNAME_URINAME_EDINAME_DIRECTORYNAME_X400NAME_DNSNAME_RFC822NAME_ANYRDN/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/x509/RDN.classtoRFC2253String(boolean)findAttributefindAttribute(sun.security.util.ObjectIdentifier)List<AVA>SequencedCollection<AVA>Collection<AVA>Iterable<AVA>avasavas()AVA[]RDN(sun.security.x509.AVA[])RDN(sun.security.x509.AVA)RDN(int)RDN(sun.security.util.DerValue)RDN(java.lang.String,java.lang.String,java.util.Map)RDN(java.lang.String,java.lang.String)RDN(java.lang.String,java.util.Map)RDN(java.lang.String)assertionX500Name/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/security/x509/X500Name.classasX500NameasX500Name(javax.security.auth.x500.X500Principal)asX500PrincipalasX500Principal()commonAncestorcommonAncestor(sun.security.x509.X500Name)countQuotescountQuotes(java.lang.String,int,int)getEncodedInternalgetEncodedInternal()emitemit(sun.security.util.DerOutputStream)findMostSpecificAttributefindMostSpecificAttribute(sun.security.util.ObjectIdentifier)getRFC2253CanonicalNamegetRFC2253CanonicalName()getRFC2253NamegetRFC2253Name(java.util.Map)getRFC2253Name()getRFC1779NamegetRFC1779Name(java.util.Map)getRFC1779Name()getIPgetIP()getGenerationgetGeneration()getInitialsgetInitials()getGivenNamegetGivenName()getSurnamegetSurname()getDNQualifiergetDNQualifier()getLocalitygetLocality()getCommonNamegetCommonName()getOrganizationalUnitgetOrganizationalUnit()getOrganizationgetOrganization()avaSizeavaSize()allAvasallAvas()List<RDN>SequencedCollection<RDN>Collection<RDN>Iterable<RDN>rdnsrdns()X500Name(byte[])X500Name(sun.security.util.DerInputStream)X500Name(sun.security.util.DerValue)RDN[]X500Name(sun.security.x509.RDN[])X500Name(java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lang.String)X500Name(java.lang.String,java.lang.String,java.lang.String,java.lang.String)X500Name(java.lang.String,java.lang.String)X500Name(java.lang.String,java.util.Map)X500Name(java.lang.String)userid_oidDOMAIN_COMPONENT_OIDipAddress_oidDNQUALIFIER_OIDGENERATIONQUALIFIER_OIDINITIALS_OIDGIVENNAME_OIDtitle_oidorgUnitName_oidorgName_oidstreetAddress_oidstateName_oidlocalityName_oidcountryName_oidSERIALNUMBER_OIDSURNAME_OIDcommonName_oidsun.util.localeBaseLocale/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/BaseLocale.class/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/utilgetRegiongetRegion()convertOldISOCodesconvertOldISOCodes(java.lang.String)getInstance(java.lang.String,java.lang.String,java.lang.String,java.lang.String)SEPNUM_CONSTANTSBaseLocale[]constantBaseLocalesExtension/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/Extension.classExtension(char,java.lang.String)Extension(char)CaseInsensitiveChar/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar.classCaseInsensitiveChar(char)CaseInsensitiveString/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/InternalLocaleBuilder$CaseInsensitiveString.classCaseInsensitiveString(java.lang.String)InternalLocaleBuilder/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/InternalLocaleBuilder.classremovePrivateuseVariantremovePrivateuseVariant(java.lang.String)clearExtensionsclearExtensions()setLocale(sun.util.locale.BaseLocale,sun.util.locale.LocaleExtensions)setLanguageTagsetLanguageTag(sun.util.locale.LanguageTag)setExtensionssetExtensions(java.lang.String)setExtensionsetExtension(char,java.lang.String)setUnicodeLocaleKeywordsetUnicodeLocaleKeyword(java.lang.String,java.lang.String)removeUnicodeLocaleAttributeremoveUnicodeLocaleAttribute(java.lang.String)addUnicodeLocaleAttributeaddUnicodeLocaleAttribute(java.lang.String)setVariantsetVariant(java.lang.String)setRegionsetRegion(java.lang.String)setScriptsetScript(java.lang.String)setLanguagesetLanguage(java.lang.String)InternalLocaleBuilder()LanguageTag/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/LanguageTag.classcanonicalizePrivateuseSubtagcanonicalizePrivateuseSubtag(java.lang.String)canonicalizePrivateusecanonicalizePrivateuse(java.lang.String)canonicalizeExtensionSubtagcanonicalizeExtensionSubtag(java.lang.String)canonicalizeExtensionSingletoncanonicalizeExtensionSingleton(java.lang.String)canonicalizeExtensioncanonicalizeExtension(java.lang.String)canonicalizeVariantcanonicalizeVariant(java.lang.String)canonicalizeRegioncanonicalizeRegion(java.lang.String)canonicalizeScriptcanonicalizeScript(java.lang.String)canonicalizeExtlangcanonicalizeExtlang(java.lang.String)canonicalizeLanguagecanonicalizeLanguage(java.lang.String)isPrivateuseSubtagisPrivateuseSubtag(java.lang.String)isPrivateusePrefixCharisPrivateusePrefixChar(char)isPrivateusePrefixisPrivateusePrefix(java.lang.String)isExtensionSubtagisExtensionSubtag(java.lang.String)isExtensionSingletonCharisExtensionSingletonChar(char)isExtensionSingletonisExtensionSingleton(java.lang.String)isVariantisVariant(java.lang.String)isRegionisRegion(java.lang.String)isScriptisScript(java.lang.String)isExtlangisExtlang(java.lang.String)isLanguageisLanguage(java.lang.String)getPrivateusegetPrivateuse()getExtensionsgetExtensions()getVariantsgetVariants()getExtlangsgetExtlangs()parseLocaleparseLocale(sun.util.locale.BaseLocale,sun.util.locale.LocaleExtensions)caseFoldTagcaseFoldTag(java.lang.String)parse(java.lang.String,sun.util.locale.ParseStatus)PRIVUSE_VARIANT_PREFIXUNDETERMINEDPRIVATEUSELocaleExtensions/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/LocaleExtensions.classisValidUnicodeLocaleKeyisValidUnicodeLocaleKey(java.lang.String)isValidKeyisValidKey(char)getExtensionValue(java.lang.Character)getExtension(java.lang.Character)Map<CaseInsensitiveChar,String>Set<CaseInsensitiveString>Collection<CaseInsensitiveString>Iterable<CaseInsensitiveString>Map<CaseInsensitiveString,String>LocaleExtensions(java.util.Map,java.util.Set,java.util.Map)NUMBER_THAICALENDAR_JAPANESELocaleSyntaxException/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/LocaleSyntaxException.classLocaleSyntaxException(java.lang.String,int)LocaleSyntaxException(java.lang.String)ParseStatus/Users/mavdomenech/Projects/spring-base-project/modules/java.base/sun/util/locale/ParseStatus.classgetErrorMessagegetErrorMessage()getParseLengthgetParseLength()ParseStatus()errorMsgparseLength/Users/mavdomenech/Projects/spring-base-project/.codeql-db/trap/java/diagnostics/diagnostic.trap.gz--jdk-version--javac-args@@@/Users/mavdomenech/Projects/spring-base-project/.codeql-db/log/ext/javac.args-Xprefer:source-d-classpath/Users/mavdomenech/Projects/spring-base-project/target/classes:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter-web/3.2.0/spring-boot-starter-web-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter/3.2.0/spring-boot-starter-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot/3.2.0/spring-boot-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-autoconfigure/3.2.0/spring-boot-autoconfigure-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter-logging/3.2.0/spring-boot-starter-logging-3.2.0.jar:/Users/mavdomenech/.m2/repository/ch/qos/logback/logback-classic/1.4.11/logback-classic-1.4.11.jar:/Users/mavdomenech/.m2/repository/ch/qos/logback/logback-core/1.4.11/logback-core-1.4.11.jar:/Users/mavdomenech/.m2/repository/org/apache/logging/log4j/log4j-to-slf4j/2.21.1/log4j-to-slf4j-2.21.1.jar:/Users/mavdomenech/.m2/repository/org/apache/logging/log4j/log4j-api/2.21.1/log4j-api-2.21.1.jar:/Users/mavdomenech/.m2/repository/org/slf4j/jul-to-slf4j/2.0.9/jul-to-slf4j-2.0.9.jar:/Users/mavdomenech/.m2/repository/jakarta/annotation/jakarta.annotation-api/2.1.1/jakarta.annotation-api-2.1.1.jar:/Users/mavdomenech/.m2/repository/org/yaml/snakeyaml/2.2/snakeyaml-2.2.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter-json/3.2.0/spring-boot-starter-json-3.2.0.jar:/Users/mavdomenech/.m2/repository/com/fasterxml/jackson/core/jackson-databind/2.15.3/jackson-databind-2.15.3.jar:/Users/mavdomenech/.m2/repository/com/fasterxml/jackson/core/jackson-annotations/2.15.3/jackson-annotations-2.15.3.jar:/Users/mavdomenech/.m2/repository/com/fasterxml/jackson/core/jackson-core/2.15.3/jackson-core-2.15.3.jar:/Users/mavdomenech/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jdk8/2.15.3/jackson-datatype-jdk8-2.15.3.jar:/Users/mavdomenech/.m2/repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.15.3/jackson-datatype-jsr310-2.15.3.jar:/Users/mavdomenech/.m2/repository/com/fasterxml/jackson/module/jackson-module-parameter-names/2.15.3/jackson-module-parameter-names-2.15.3.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter-tomcat/3.2.0/spring-boot-starter-tomcat-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/apache/tomcat/embed/tomcat-embed-core/10.1.16/tomcat-embed-core-10.1.16.jar:/Users/mavdomenech/.m2/repository/org/apache/tomcat/embed/tomcat-embed-websocket/10.1.16/tomcat-embed-websocket-10.1.16.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-web/6.1.1/spring-web-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-beans/6.1.1/spring-beans-6.1.1.jar:/Users/mavdomenech/.m2/repository/io/micrometer/micrometer-observation/1.12.0/micrometer-observation-1.12.0.jar:/Users/mavdomenech/.m2/repository/io/micrometer/micrometer-commons/1.12.0/micrometer-commons-1.12.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-webmvc/6.1.1/spring-webmvc-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-context/6.1.1/spring-context-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-expression/6.1.1/spring-expression-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter-data-jpa/3.2.0/spring-boot-starter-data-jpa-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter-aop/3.2.0/spring-boot-starter-aop-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/aspectj/aspectjweaver/1.9.20.1/aspectjweaver-1.9.20.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter-jdbc/3.2.0/spring-boot-starter-jdbc-3.2.0.jar:/Users/mavdomenech/.m2/repository/com/zaxxer/HikariCP/5.0.1/HikariCP-5.0.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-jdbc/6.1.1/spring-jdbc-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/hibernate/orm/hibernate-core/6.3.1.Final/hibernate-core-6.3.1.Final.jar:/Users/mavdomenech/.m2/repository/jakarta/persistence/jakarta.persistence-api/3.1.0/jakarta.persistence-api-3.1.0.jar:/Users/mavdomenech/.m2/repository/jakarta/transaction/jakarta.transaction-api/2.0.1/jakarta.transaction-api-2.0.1.jar:/Users/mavdomenech/.m2/repository/org/jboss/logging/jboss-logging/3.5.3.Final/jboss-logging-3.5.3.Final.jar:/Users/mavdomenech/.m2/repository/com/fasterxml/classmate/1.6.0/classmate-1.6.0.jar:/Users/mavdomenech/.m2/repository/org/antlr/antlr4-runtime/4.10.1/antlr4-runtime-4.10.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/data/spring-data-jpa/3.2.0/spring-data-jpa-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/data/spring-data-commons/3.2.0/spring-data-commons-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-orm/6.1.1/spring-orm-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-tx/6.1.1/spring-tx-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/slf4j/slf4j-api/2.0.9/slf4j-api-2.0.9.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-aspects/6.1.1/spring-aspects-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter-security/3.2.0/spring-boot-starter-security-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-aop/6.1.1/spring-aop-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-config/6.2.0/spring-security-config-6.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-core/6.2.0/spring-security-core-6.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-crypto/6.2.0/spring-security-crypto-6.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/security/spring-security-web/6.2.0/spring-security-web-6.2.0.jar:/Users/mavdomenech/.m2/repository/org/springframework/boot/spring-boot-starter-validation/3.2.0/spring-boot-starter-validation-3.2.0.jar:/Users/mavdomenech/.m2/repository/org/apache/tomcat/embed/tomcat-embed-el/10.1.16/tomcat-embed-el-10.1.16.jar:/Users/mavdomenech/.m2/repository/org/hibernate/validator/hibernate-validator/8.0.1.Final/hibernate-validator-8.0.1.Final.jar:/Users/mavdomenech/.m2/repository/jakarta/validation/jakarta.validation-api/3.0.2/jakarta.validation-api-3.0.2.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-core/6.1.1/spring-core-6.1.1.jar:/Users/mavdomenech/.m2/repository/org/springframework/spring-jcl/6.1.1/spring-jcl-6.1.1.jar:-sourcepath/Users/mavdomenech/Projects/spring-base-project/src/main/java:/Users/mavdomenech/Projects/spring-base-project/target/generated-sources/annotations:-s/Users/mavdomenech/Projects/spring-base-project/target/generated-sources/annotations-g-parameters--release-encodingCodeQL Java extractorAppending source destination directory /Users/mavdomenech/Projects/spring-base-project/target/generated-sources/annotations to sourcepathAnnotation processors enabledUsed annotation processorlombok.launch.AnnotationProcessorHider$AnnotationProcessorlombok.launch.AnnotationProcessorHider$ClaimingProcessorManifest-Version1.0Created-ByApache Maven Bundle Plugin 5.1.4Build-Jdk-Spec11Bundle-DescriptionJakarta Persistence 3.1 API jarBundle-DocURLhttps://www.eclipse.orgBundle-Licensehttp://www.eclipse.org/legal/epl-2.0, http://www.eclipse.org/org/documents/edl-v10.phpBundle-ManifestVersionBundle-NameJakarta Persistence API jarBundle-SymbolicNamejakarta.persistence-apiBundle-VendorEclipse FoundationBundle-Version3.1.0Export-Packagejakarta.persistence;uses:="jakarta.persistence.criteria,jakarta.persistence.metamodel,jakarta.persistence.spi";version="3.1.0",jakarta.persistence.metamodel;version="3.1.0",jakarta.persistence.spi;uses:="jakarta.persistence,javax.sql";version="3.1.0",jakarta.persistence.criteria;uses:="jakarta.persistence,jakarta.persistence.metamodel";version="3.1.0"Extension-NameImplementation-VersionImport-Packagejakarta.persistence,jakarta.persistence.criteria,jakarta.persistence.metamodel,jakarta.persistence.spi,javax.sqlRequire-Capabilityosgi.ee;filter:="(&(osgi.ee=JavaSE)(version=11))"Specification-VendorSpecification-Version3.1Apache Maven Bundle PluginBuilt-ByjenkinsBuild-Jdk11.0.2Bnd-LastModified1653588080671Jakarta Bean Validation APIhttp://www.apache.org/licenses/LICENSE-2.0.txtjakarta.validation.jakarta.validation-api3.0.2jakarta.validation;version="3.0.2";uses:="jakarta.validation.bootstrap,jakarta.validation.executable,jakarta.validation.metadata,jakarta.validation.spi,jakarta.validation.valueextraction",jakarta.validation.bootstrap;version="3.0.2";uses:="jakarta.validation",jakarta.validation.constraints;version="3.0.2";uses:="jakarta.validation",jakarta.validation.constraintvalidation;version="3.0.2",jakarta.validation.executable;version="3.0.2";uses:="jakarta.validation",jakarta.validation.groups;version="3.0.2",jakarta.validation.metadata;version="3.0.2";uses:="jakarta.validation",jakarta.validation.spi;version="3.0.2";uses:="jakarta.validation,jakarta.validation.valueextraction",jakarta.validation.valueextraction;version="3.0.2";uses:="jakarta.validation"jakarta.validation;version="[3.0,4)",jakarta.validation.bootstrap;version="[3.0,4)",jakarta.validation.executable;version="[3.0,4)",jakarta.validation.metadata;version="[3.0,4)",jakarta.validation.spi;version="[3.0,4)",jakarta.validation.valueextraction;version="[3.0,4)"osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=1.8))"ToolBnd-3.5.0.201709291849https://www.apache.org/licenses/LICENSE-2.0.txttomcat-embed-coreorg.apache.tomcat-embed-core10.1.16jakarta.security.auth.message;version="3.0";uses:="javax.security.auth,javax.security.auth.login",jakarta.security.auth.message.callback;version="3.0";uses:="javax.crypto,javax.security.auth,javax.security.auth.callback,javax.security.auth.x500",jakarta.security.auth.message.config;version="3.0";uses:="jakarta.security.auth.message,jakarta.security.auth.message.module,javax.security.auth,javax.security.auth.callback",jakarta.security.auth.message.module;version="3.0";uses:="jakarta.security.auth.message,javax.security.auth.callback",jakarta.servlet;version="6.0";uses:="jakarta.servlet.annotation,jakarta.servlet.descriptor",jakarta.servlet.annotation;version="6.0";uses:="jakarta.servlet",jakarta.servlet.descriptor;version="6.0",jakarta.servlet.http;version="6.0";uses:="jakarta.servlet",jakarta.servlet.resources;version="6.0",org.apache.catalina;uses:="jakarta.servlet,jakarta.servlet.descriptor,jakarta.servlet.http,javax.management,javax.naming,org.apache.catalina.connector,org.apache.catalina.deploy,org.apache.catalina.mapper,org.apache.catalina.startup,org.apache.juli.logging,org.apache.tomcat,org.apache.tomcat.util.descriptor.web,org.apache.tomcat.util.file,org.apache.tomcat.util.http,org.ietf.jgss";version="10.1.16",org.apache.catalina.authenticator;uses:="jakarta.security.auth.message.config,jakarta.servlet,jakarta.servlet.http,org.apache.catalina,org.apache.catalina.connector,org.apache.catalina.util,org.apache.catalina.valves,org.apache.tomcat.util.buf,org.apache.tomcat.util.descriptor.web,org.apache.tomcat.util.res,org.ietf.jgss";version="10.1.16",org.apache.catalina.authenticator.jaspic;uses:="jakarta.security.auth.message,jakarta.security.auth.message.config,jakarta.security.auth.message.module,jakarta.servlet.http,javax.security.auth,javax.security.auth.callback,org.apache.catalina,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.connector;uses:="jakarta.servlet,jakarta.servlet.http,javax.security.auth,org.apache.catalina,org.apache.catalina.core,org.apache.catalina.mapper,org.apache.catalina.util,org.apache.coyote,org.apache.tomcat.util.buf,org.apache.tomcat.util.http,org.apache.tomcat.util.net,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.core;uses:="jakarta.servlet,jakarta.servlet.descriptor,jakarta.servlet.http,javax.management,javax.naming,org.apache.catalina,org.apache.catalina.connector,org.apache.catalina.deploy,org.apache.catalina.mapper,org.apache.catalina.startup,org.apache.catalina.util,org.apache.coyote,org.apache.juli.logging,org.apache.naming,org.apache.tomcat,org.apache.tomcat.util.descriptor.web,org.apache.tomcat.util.http,org.apache.tomcat.util.http.fileupload,org.apache.tomcat.util.res,org.apache.tomcat.util.threads";version="10.1.16",org.apache.catalina.deploy;uses:="org.apache.catalina,org.apache.catalina.util,org.apache.tomcat.util.descriptor.web";version="10.1.16",org.apache.catalina.filters;uses:="jakarta.servlet,jakarta.servlet.http,org.apache.juli.logging,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.loader;uses:="org.apache.catalina,org.apache.catalina.util,org.apache.juli,org.apache.tomcat,org.apache.tomcat.util.res,org.apache.tomcat.util.security";version="10.1.16",org.apache.catalina.manager;uses:="jakarta.servlet,jakarta.servlet.http,javax.management,javax.naming,org.apache.catalina,org.apache.catalina.util,org.apache.tomcat.util.modeler,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.manager.host;uses:="jakarta.servlet,jakarta.servlet.http,org.apache.catalina,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.manager.util;uses:="jakarta.servlet.http,org.apache.catalina";version="10.1.16",org.apache.catalina.mapper;uses:="jakarta.servlet.http,org.apache.catalina,org.apache.catalina.util,org.apache.tomcat.util.buf";version="10.1.16",org.apache.catalina.mbeans;uses:="javax.management,javax.naming,org.apache.catalina,org.apache.catalina.connector,org.apache.catalina.core,org.apache.tomcat.util.descriptor.web,org.apache.tomcat.util.modeler,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.realm;uses:="javax.management,javax.naming,javax.naming.directory,javax.net.ssl,javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,org.apache.catalina,org.apache.catalina.connector,org.apache.catalina.util,org.apache.juli.logging,org.apache.tomcat.util.collections,org.apache.tomcat.util.descriptor.web,org.apache.tomcat.util.digester,org.apache.tomcat.util.res,org.ietf.jgss";version="10.1.16",org.apache.catalina.security;uses:="jakarta.servlet,org.apache.catalina";version="10.1.16",org.apache.catalina.servlets;uses:="jakarta.servlet,jakarta.servlet.http,javax.xml.parsers,javax.xml.transform,org.apache.catalina,org.apache.tomcat.util.http,org.apache.tomcat.util.http.parser,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.session;uses:="jakarta.servlet,jakarta.servlet.http,javax.sql,org.apache.catalina,org.apache.catalina.util,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.startup;uses:="jakarta.annotation,jakarta.servlet,jakarta.servlet.descriptor,javax.management,org.apache.catalina,org.apache.catalina.connector,org.apache.catalina.core,org.apache.catalina.deploy,org.apache.catalina.util,org.apache.juli.logging,org.apache.tomcat,org.apache.tomcat.util.bcel.classfile,org.apache.tomcat.util.descriptor.web,org.apache.tomcat.util.digester,org.apache.tomcat.util.file,org.apache.tomcat.util.http,org.apache.tomcat.util.res,org.xml.sax";version="10.1.16",org.apache.catalina.users;uses:="javax.naming,javax.naming.spi,javax.sql,org.apache.catalina";version="10.1.16",org.apache.catalina.util;uses:="jakarta.servlet.http,javax.management,org.apache.catalina,org.apache.juli.logging,org.apache.tomcat.util.descriptor.web,org.w3c.dom";version="10.1.16",org.apache.catalina.valves;uses:="jakarta.servlet,org.apache.catalina,org.apache.catalina.connector,org.apache.catalina.util,org.apache.juli.logging,org.apache.tomcat.util.descriptor.web,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.valves.rewrite;uses:="jakarta.servlet,org.apache.catalina,org.apache.catalina.connector,org.apache.catalina.valves,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.webresources;uses:="org.apache.catalina,org.apache.catalina.util,org.apache.juli.logging,org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.webresources.war;version="10.1.16",org.apache.coyote;uses:="jakarta.servlet,jakarta.servlet.http,javax.management,org.apache.coyote.http11,org.apache.coyote.http11.upgrade,org.apache.juli.logging,org.apache.tomcat,org.apache.tomcat.util.buf,org.apache.tomcat.util.collections,org.apache.tomcat.util.http,org.apache.tomcat.util.log,org.apache.tomcat.util.modeler,org.apache.tomcat.util.net";version="10.1.16",org.apache.coyote.ajp;uses:="jakarta.servlet,org.apache.coyote,org.apache.juli.logging,org.apache.tomcat.util.buf,org.apache.tomcat.util.net,org.apache.tomcat.util.res";version="10.1.16",org.apache.coyote.http11;uses:="jakarta.servlet,javax.management,org.apache.coyote,org.apache.coyote.http11.upgrade,org.apache.juli.logging,org.apache.tomcat.util.buf,org.apache.tomcat.util.http.parser,org.apache.tomcat.util.net,org.apache.tomcat.util.res";version="10.1.16",org.apache.coyote.http11.filters;uses:="org.apache.coyote,org.apache.coyote.http11,org.apache.juli.logging,org.apache.tomcat.util.buf,org.apache.tomcat.util.net";version="10.1.16",org.apache.coyote.http11.upgrade;uses:="jakarta.servlet,jakarta.servlet.http,org.apache.coyote,org.apache.juli.logging,org.apache.tomcat.util.modeler,org.apache.tomcat.util.net";version="10.1.16",org.apache.coyote.http2;uses:="jakarta.servlet,jakarta.servlet.http,org.apache.coyote,org.apache.coyote.http11,org.apache.coyote.http11.upgrade,org.apache.tomcat.util.http.parser,org.apache.tomcat.util.net,org.apache.tomcat.util.res";version="10.1.16",org.apache.juli;version="10.1.16",org.apache.juli.logging;version="10.1.16",org.apache.naming;uses:="javax.naming";version="10.1.16",org.apache.naming.factory;uses:="javax.naming,javax.naming.spi,javax.sql,org.apache.naming";version="10.1.16",org.apache.naming.java;uses:="javax.naming,javax.naming.spi";version="10.1.16",org.apache.tomcat;uses:="jakarta.servlet,javax.naming";version="10.1.16",org.apache.tomcat.jni;version="10.1.16",org.apache.tomcat.util;uses:="org.apache.tomcat.util.res";version="10.1.16",org.apache.tomcat.util.bcel.classfile;version="10.1.16",org.apache.tomcat.util.buf;uses:="org.apache.tomcat.util.res";version="10.1.16",org.apache.tomcat.util.codec.binary;uses:="org.apache.tomcat.util.res";version="10.1.16",org.apache.tomcat.util.collections;version="10.1.16",org.apache.tomcat.util.compat;version="10.1.16",org.apache.tomcat.util.descriptor;uses:="org.apache.juli.logging,org.apache.tomcat.util.digester,org.xml.sax,org.xml.sax.ext";version="10.1.16",org.apache.tomcat.util.descriptor.tagplugin;uses:="jakarta.servlet,org.xml.sax";version="10.1.16",org.apache.tomcat.util.descriptor.web;uses:="jakarta.servlet,jakarta.servlet.descriptor,org.apache.juli.logging,org.apache.tomcat,org.apache.tomcat.util.digester,org.apache.tomcat.util.res,org.xml.sax";version="10.1.16",org.apache.tomcat.util.digester;uses:="javax.xml.parsers,org.apache.juli.logging,org.apache.tomcat.util,org.apache.tomcat.util.res,org.xml.sax,org.xml.sax.ext";version="10.1.16",org.apache.tomcat.util.file;version="10.1.16",org.apache.tomcat.util.http;uses:="jakarta.servlet.http,org.apache.tomcat.util.buf";version="10.1.16",org.apache.tomcat.util.http.fileupload;uses:="org.apache.tomcat.util.http.fileupload.impl,org.apache.tomcat.util.http.fileupload.util";version="10.1.16",org.apache.tomcat.util.http.fileupload.disk;uses:="org.apache.tomcat.util.http.fileupload";version="10.1.16",org.apache.tomcat.util.http.fileupload.impl;uses:="org.apache.tomcat.util.http.fileupload";version="10.1.16",org.apache.tomcat.util.http.fileupload.servlet;uses:="jakarta.servlet.http,org.apache.tomcat.util.http.fileupload";version="10.1.16",org.apache.tomcat.util.http.fileupload.util;uses:="org.apache.tomcat.util.http.fileupload";version="10.1.16",org.apache.tomcat.util.http.parser;uses:="org.apache.tomcat.util.buf,org.apache.tomcat.util.http";version="10.1.16",org.apache.tomcat.util.log;uses:="org.apache.juli.logging";version="10.1.16",org.apache.tomcat.util.modeler;uses:="javax.management,javax.management.modelmbean";version="10.1.16",org.apache.tomcat.util.modeler.modules;uses:="javax.management,org.apache.tomcat.util.modeler,org.apache.tomcat.util.res";version="10.1.16",org.apache.tomcat.util.net;uses:="jakarta.servlet,javax.management,javax.net.ssl,org.apache.juli.logging,org.apache.tomcat.util.collections,org.apache.tomcat.util.net.openssl,org.apache.tomcat.util.net.openssl.ciphers,org.apache.tomcat.util.res,org.apache.tomcat.util.threads";version="10.1.16",org.apache.tomcat.util.net.openssl;uses:="javax.net.ssl,org.apache.juli.logging,org.apache.tomcat.util.net";version="10.1.16",org.apache.tomcat.util.net.openssl.ciphers;version="10.1.16",org.apache.tomcat.util.res;version="10.1.16",org.apache.tomcat.util.scan;uses:="jakarta.servlet,org.apache.tomcat";version="10.1.16",org.apache.tomcat.util.security;version="10.1.16",org.apache.tomcat.util.threads;uses:="org.apache.tomcat.util.res";version="10.1.16",org.apache.catalina.ssi;version="10.1.16"Implementation-TitleApache TomcatImplementation-VendorApache Software Foundationjakarta.annotation,jakarta.annotation.security,jakarta.ejb,jakarta.mail,jakarta.mail.internet,jakarta.persistence,jakarta.security.auth.message;version="[3.0,4)",jakarta.security.auth.message.callback;version="[3.0,4)",jakarta.security.auth.message.config;version="[3.0,4)",jakarta.security.auth.message.module;version="[3.0,4)",jakarta.servlet;version="[6.0,7)",jakarta.servlet.annotation;version="[6.0,7)",jakarta.servlet.descriptor;version="[6.0,7)",jakarta.servlet.http;version="[6.0,7)",jakarta.xml.ws,java.beans,java.io,java.lang,java.lang.annotation,java.lang.instrument,java.lang.invoke,java.lang.management,java.lang.module,java.lang.ref,java.lang.reflect,java.math,java.net,java.nio,java.nio.channels,java.nio.charset,java.nio.file,java.nio.file.attribute,java.rmi,java.security,java.security.cert,java.security.spec,java.sql,java.text,java.time,java.time.chrono,java.time.format,java.time.temporal,java.util,java.util.concurrent,java.util.concurrent.atomic,java.util.concurrent.locks,java.util.function,java.util.jar,java.util.logging,java.util.regex,java.util.stream,java.util.zip,javax.crypto,javax.crypto.spec,javax.imageio,javax.management,javax.management.loading,javax.management.modelmbean,javax.management.openmbean,javax.naming,javax.naming.directory,javax.naming.ldap,javax.naming.spi,javax.net.ssl,javax.security.auth,javax.security.auth.callback,javax.security.auth.login,javax.security.auth.spi,javax.security.auth.x500,javax.security.cert,javax.sql,javax.wsdl,javax.wsdl.extensions,javax.wsdl.extensions.soap,javax.wsdl.factory,javax.wsdl.xml,javax.xml.namespace,javax.xml.parsers,javax.xml.rpc,javax.xml.rpc.handler,javax.xml.transform,javax.xml.transform.dom,javax.xml.transform.stream,org.apache.catalina,org.apache.catalina.authenticator,org.apache.catalina.authenticator.jaspic,org.apache.catalina.connector,org.apache.catalina.core,org.apache.catalina.deploy,org.apache.catalina.filters,org.apache.catalina.loader,org.apache.catalina.manager.util,org.apache.catalina.mapper,org.apache.catalina.mbeans,org.apache.catalina.realm,org.apache.catalina.security,org.apache.catalina.session,org.apache.catalina.startup,org.apache.catalina.util,org.apache.catalina.webresources,org.apache.catalina.webresources.war,org.apache.coyote,org.apache.coyote.ajp,org.apache.coyote.http11,org.apache.coyote.http11.filters,org.apache.coyote.http11.upgrade,org.apache.juli,org.apache.juli.logging,org.apache.naming,org.apache.naming.factory,org.apache.tomcat,org.apache.tomcat.jakartaee,org.apache.tomcat.jni,org.apache.tomcat.util,org.apache.tomcat.util.buf,org.apache.tomcat.util.codec.binary,org.apache.tomcat.util.collections,org.apache.tomcat.util.compat,org.apache.tomcat.util.descriptor,org.apache.tomcat.util.descriptor.web,org.apache.tomcat.util.digester,org.apache.tomcat.util.file,org.apache.tomcat.util.http,org.apache.tomcat.util.http.fileupload.disk,org.apache.tomcat.util.http.fileupload.impl,org.apache.tomcat.util.http.fileupload.servlet,org.apache.tomcat.util.http.fileupload.util,org.apache.tomcat.util.http.parser,org.apache.tomcat.util.log,org.apache.tomcat.util.modeler,org.apache.tomcat.util.modeler.modules,org.apache.tomcat.util.net.openssl.ciphers,org.apache.tomcat.util.res,org.apache.tomcat.util.scan,org.apache.tomcat.util.security,org.apache.tomcat.util.threads,org.ietf.jgss,org.w3c.dom,org.xml.sax,org.xml.sax.ext,org.xml.sax.helpersPrivate-Packageorg.apache.naming.factory.webservices,org.apache.tomcat.util.bcel,org.apache.tomcat.util.http.fileupload.util.mime,org.apache.tomcat.util.json,org.apache.tomcat.util.net.jsseProvide-Capabilityosgi.contract;osgi.contract=JavaJASPIC;version:Version="3.0";uses:="jakarta.security.auth.message,jakarta.security.auth.message.callback,jakarta.security.auth.message.config,jakarta.security.auth.message.module",osgi.contract;osgi.contract=JavaServlet;version:Version="6.0";uses:="jakarta.servlet,jakarta.servlet.annotation,jakarta.servlet.descriptor,jakarta.servlet.http,jakarta.servlet.resources"osgi.extender;filter:="(&(osgi.extender=osgi.serviceloader.processor)(version>=1.0.0)(!(version>=2.0.0)))",osgi.serviceloader;filter:="(osgi.serviceloader=org.apache.juli.logging.Log)";osgi.serviceloader="org.apache.juli.logging.Log",osgi.contract;osgi.contract=JakartaAnnotations;filter:="(&(osgi.contract=JakartaAnnotations)(version=2.1.0))",osgi.ee;filter:="(&(osgi.ee=JavaSE)(version=11))"Specification-Title10.1X-Compile-Source-JDKX-Compile-Target-JDKjakarta/servlet/resources/Jakarta Servletjakarta/security/auth/message/config/jakarta.security.auth.message3.0Jakarta Authentication SPI for Containersjakarta/servlet/annotation/jakarta/security/auth/message/jakarta/security/auth/message/callback/jakarta/security/auth/message/module/jakarta/servlet/jakarta/servlet/descriptor/jakarta/servlet/http/Automatic-Module-Namespring.bootSpringSpring Bootspring.boot.autoconfigureSpring Boot AutoConfigureMaven JAR Plugin 3.3.0spring.data.commonsSpring Data Corespring.data.jpaSpring Data JPA17.0.9 (Oracle Corporation)spring-security-config6.2.0spring.security.configspring-security-corespring.security.corespring-security-cryptospring.security.cryptospring-security-webspring.security.webspring-aop6.1.1spring.aopspring-beansspring.beansspring-contextspring.contextspring-corespring.coreMulti-ReleaseDependenciesjdk.unsupported,org.jboss.vfsspring-expressionspring.expressionspring-jclspring.jclspring-jdbcspring.jdbcspring-txspring.txspring-webspring.webspring-webmvcspring.webmvcjava.basejava.lang.runtimejava.nio.charset.spijava.security.interfacesjava.security.specjava.text.spijava.util.concurrent.atomicjava.util.jarjava.util.regexjava.util.spijava.util.zipjavax.cryptojavax.crypto.interfacesjavax.crypto.specjavax.netjavax.net.ssljavax.security.auth.callbackjavax.security.auth.loginjavax.security.auth.spijavax.security.certcom.sun.crypto.providerjdk.crypto.cryptokicom.sun.security.ntlmjava.security.sasljava.desktopjava.loggingjava.managementjava.namingjava.rmijdk.charsetsjdk.jartooljdk.jfrjdk.jlinkjdk.netjdk.sctpjdk.internal.classfilejdk.jshelljdk.internal.classfile.attributejdk.internal.classfile.constantpooljdk.internal.classfile.instructionjdk.internal.eventjdk.incubator.vectorjdk.internal.iojdk.internal.lejava.compilerjdk.compilerjdk.internal.jimagejdk.internal.jimage.decompressorjdk.internal.jmodjava.instrumentjdk.internal.loggerjava.net.httpjava.security.jgssjdk.attachjdk.internal.vm.cijdk.nio.mapmodejdk.unsupportedjava.management.rmijdk.jpackagejdk.internal.org.objectweb.asmjdk.internal.org.objectweb.asm.commonsjdk.internal.org.objectweb.asm.treejdk.internal.org.objectweb.asm.utiljdk.internal.org.xml.saxjdk.internal.org.xml.sax.helpersjdk.internal.perfjdk.internal.jvmstatjdk.management.agentjdk.internal.platformjdk.managementjdk.naming.dnsjava.sql.rowsetjdk.dynalinkjava.prefsjava.smartcardiojdk.randomjdk.internal.util.xmljdk.internal.util.xml.implsun.netsun.net.dnssun.net.extsun.net.utiljdk.jconsolesun.net.wwwsun.net.www.protocol.httpsun.nio.cssun.nio.fssun.reflect.generics.reflectiveObjectssun.reflect.miscjava.datatransfersun.security.actionjdk.crypto.ecsun.security.internal.interfacessun.security.internal.specsun.security.jcasun.security.pkcssun.security.providerjdk.security.authsun.security.provider.certpathsun.security.rsasun.security.timestampsun.security.toolsjava.xml.cryptojdk.security.jgsssun.security.util.mathsun.security.util.math.intpolysun.security.validatorsun.util.cldrsun.util.locale.providerjdk.localedatasun.util.loggingsun.util.resourcesjava.lang.System$LoggerFinderjava.net.ContentHandlerFactoryjava.net.spi.InetAddressResolverProviderjava.net.spi.URLStreamHandlerProviderjava.nio.channels.spi.AsynchronousChannelProviderjava.nio.channels.spi.SelectorProviderjava.nio.charset.spi.CharsetProviderjava.nio.file.spi.FileSystemProviderjava.nio.file.spi.FileTypeDetectorjava.security.Providerjava.text.spi.BreakIteratorProviderjava.text.spi.CollatorProviderjava.text.spi.DateFormatProviderjava.text.spi.DateFormatSymbolsProviderjava.text.spi.DecimalFormatSymbolsProviderjava.text.spi.NumberFormatProviderjava.time.chrono.AbstractChronologyjava.time.chrono.Chronologyjava.time.zone.ZoneRulesProviderjava.util.random.RandomGeneratorjava.util.spi.CalendarDataProviderjava.util.spi.CalendarNameProviderjava.util.spi.CurrencyNameProviderjava.util.spi.LocaleNameProviderjava.util.spi.ResourceBundleControlProviderjava.util.spi.ResourceBundleProviderjava.util.spi.TimeZoneNameProviderjava.util.spi.ToolProviderjavax.security.auth.spi.LoginModulejdk.internal.io.JdkConsoleProviderjdk.internal.logger.DefaultLoggerFindersun.text.spi.JavaTimeDateTimePatternProvidersun.util.locale.provider.LocaleDataMetaInfosun.util.resources.LocaleData$CommonResourceBundleProvidersun.util.resources.LocaleData$SupplementaryResourceBundleProvidersun.util.spi.CalendarProviderjdk.internal.jrtfs.JrtFileSystemProviderjava.security.SecureRandomjava.util.Randomjava.util.SplittableRandomsun.datatransfersun.datatransfer.DesktopDatatransferServicejava.xmljava.appletjava.awt.im.spijava.awt.printjava.beans.beancontextjavax.imageiojavax.imageio.eventjavax.imageio.metadatajavax.imageio.plugins.bmpjavax.imageio.plugins.jpegjavax.imageio.plugins.tiffjavax.imageio.spijavax.imageio.streamjavax.printjavax.print.attributejavax.print.attribute.standardjavax.print.eventjavax.sound.midijavax.sound.midi.spijavax.sound.sampledjavax.sound.sampled.spijavax.swing.colorchooserjavax.swing.filechooserjavax.swing.plaf.basicjavax.swing.plaf.metaljavax.swing.plaf.multijavax.swing.plaf.nimbusjavax.swing.plaf.synthjavax.swing.tablejavax.swing.text.htmljavax.swing.text.html.parserjavax.swing.text.rtfjavax.swing.treejavax.swing.undojdk.accessibilityjdk.unsupported.desktopsun.awt.dndsun.swingjava.awt.im.spi.InputMethodDescriptorjavax.accessibility.AccessibilityProviderjavax.imageio.spi.ImageInputStreamSpijavax.imageio.spi.ImageOutputStreamSpijavax.imageio.spi.ImageReaderSpijavax.imageio.spi.ImageTranscoderSpijavax.imageio.spi.ImageWriterSpijavax.print.PrintServiceLookupjavax.print.StreamPrintServiceFactoryjavax.sound.midi.spi.MidiDeviceProviderjavax.sound.midi.spi.MidiFileReaderjavax.sound.midi.spi.MidiFileWriterjavax.sound.midi.spi.SoundbankReaderjavax.sound.sampled.spi.AudioFileReaderjavax.sound.sampled.spi.AudioFileWriterjavax.sound.sampled.spi.FormatConversionProviderjavax.sound.sampled.spi.MixerProvidersun.swing.InteropProvidersun.awt.datatransfer.DesktopDatatransferServiceImplsun.awt.www.content.MultimediaContentHandlerssun.print.PrintServiceLookupProvidersun.print.PSStreamPrinterFactorycom.sun.media.sound.MidiInDeviceProvidercom.sun.media.sound.MidiOutDeviceProvidercom.sun.media.sound.RealTimeSequencerProvidercom.sun.media.sound.SoftProvidercom.sun.media.sound.StandardMidiFileReadercom.sun.media.sound.StandardMidiFileWritercom.sun.media.sound.AudioFileSoundbankReadercom.sun.media.sound.DLSSoundbankReadercom.sun.media.sound.JARSoundbankReadercom.sun.media.sound.SF2SoundbankReadercom.sun.media.sound.AiffFileReadercom.sun.media.sound.AuFileReadercom.sun.media.sound.SoftMidiAudioFileReadercom.sun.media.sound.WaveFileReadercom.sun.media.sound.WaveFloatFileReadercom.sun.media.sound.WaveExtensibleFileReadercom.sun.media.sound.AiffFileWritercom.sun.media.sound.AuFileWritercom.sun.media.sound.WaveFileWritercom.sun.media.sound.WaveFloatFileWritercom.sun.media.sound.AlawCodeccom.sun.media.sound.AudioFloatFormatConvertercom.sun.media.sound.PCMtoPCMCodeccom.sun.media.sound.UlawCodeccom.sun.media.sound.DirectAudioDeviceProvidercom.sun.media.sound.PortMixerProvidersun.util.logging.internal.LoggingProviderImpljava.transaction.xajava.sql.Driverjavax.xmljavax.xml.catalogjavax.xml.datatypejavax.xml.namespacejavax.xml.parsersjavax.xml.streamjavax.xml.stream.eventsjavax.xml.stream.utiljavax.xml.transform.domjavax.xml.transform.saxjavax.xml.transform.staxjavax.xml.transform.streamjavax.xml.validationjavax.xml.xpathorg.w3c.domorg.w3c.dom.bootstraporg.w3c.dom.eventsorg.w3c.dom.lsorg.w3c.dom.rangesorg.w3c.dom.traversalorg.w3c.dom.viewsorg.xml.saxorg.xml.sax.extorg.xml.sax.helperscom.sun.org.apache.xml.internal.dtmcom.sun.org.apache.xml.internal.utilscom.sun.org.apache.xpath.internalcom.sun.org.apache.xpath.internal.compilercom.sun.org.apache.xpath.internal.functionscom.sun.org.apache.xpath.internal.objectscom.sun.org.apache.xpath.internal.resjavax.xml.datatype.DatatypeFactoryjavax.xml.parsers.DocumentBuilderFactoryjavax.xml.parsers.SAXParserFactoryjavax.xml.stream.XMLEventFactoryjavax.xml.stream.XMLInputFactoryjavax.xml.stream.XMLOutputFactoryjavax.xml.transform.TransformerFactoryjavax.xml.validation.SchemaFactoryjavax.xml.xpath.XPathFactoryorg.xml.sax.XMLReader                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ,  xs    