*/, int iterations/*=11*/,
                          @Cast("cvflann::flann_centers_init_t") int centers_init/*=cvflann::FLANN_CENTERS_RANDOM*/, float cb_index/*=0.2f*/ );
    public KMeansIndexParams( ) { super((Pointer)null); allocate(); }
    private native void allocate( );
}

@Namespace("cv::flann") public static class LshIndexParams extends IndexParams {
    static { Loader.load(); }
    /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
    public LshIndexParams(Pointer p) { super(p); }

    public LshIndexParams(int table_number, int key_size, int multi_probe_level) { super((Pointer)null); allocate(table_number, key_size, multi_probe_level); }
    private native void allocate(int table_number, int key_size, int multi_probe_level);
}

@Namespace("cv::flann") public static class SavedIndexParams extends IndexParams {
    static { Loader.load(); }
    /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
    public SavedIndexParams(Pointer p) { super(p); }

    public SavedIndexParams(@Str BytePointer filename) { super((Pointer)null); allocate(filename); }
    private native void allocate(@Str BytePointer filename);
    public SavedIndexParams(@Str String filename) { super((Pointer)null); allocate(filename); }
    private native void allocate(@Str String filename);
}

@Namespace("cv::flann") public static class SearchParams extends IndexParams {
    static { Loader.load(); }
    /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
    public SearchParams(Pointer p) { super(p); }
    /** Native array allocator. Access with {@link Pointer#position(long)}. */
    public SearchParams(long size) { super((Pointer)null); allocateArray(size); }
    private native void allocateArray(long size);
    @Override public SearchParams position(long position) {
        return (SearchParams)super.position(position);
    }

    public SearchParams( int checks/*=32*/, float eps/*=0*/, @Cast("bool") boolean sorted/*=true*/ ) { super((Pointer)null); allocate(checks, eps, sorted); }
    private native void allocate( int checks/*=32*/, float eps/*=0*/, @Cast("bool") boolean sorted/*=true*/ );
    public SearchParams( ) { super((Pointer)null); allocate(); }
    private native void allocate( );
}

@Namespace("cv::flann") @NoOffset public static class Index extends Pointer {
    static { Loader.load(); }
    /** Pointer cast constructor. Invokes {@link Pointer#Pointer(Pointer)}. */
    public Index(Pointer p) { super(p); }
    /** Native array allocator. Access with {@link Pointer#position(long)}. */
    public Index(long size) { super((Pointer)null); allocateArray(size); }
    private native void allocateArray(long size);
    @Override public Index position(long position) {
        return (Index)super.position(position);
    }

    public Index() { super((Pointer)null); allocate(); }
    private native void allocate();
    public Index(@ByVal Mat features, @Const @ByRef IndexParams params, @Cast("cvflann::flann_distance_t") int distType/*=cvflann::FLANN_DIST_L2*/) { super((Pointer)null); allocate(features, params, distType); }
    private native void allocate(@ByVal Mat features, @Const @ByRef IndexParams params, @Cast("cvflann::flann_distance_t") int distType/*=cvflann::FLANN_DIST_L2*/);
    public Index(@ByVal Mat features, @Const @ByRef IndexParams params) { super((Pointer)null); allocate(features, params); }
    private native void allocate(@ByVal Mat features, @Const @ByRef IndexParams params);
    public Index(@ByVal UMat features, @Const @ByRef IndexParams params, @Cast("cvflann::flann_distance_t") int distType/*=cvflann::FLANN_DIST_L2*/) { super((Pointer)null); allocate(features, params, distType); }
    private native void allocate(@ByVal UMat features, @Const @ByRef IndexParams params, @Cast("cvflann::flann_distance_t") int distType/*=cvflann::FLANN_DIST_L2*/);
    public Index(@ByVal UMat features, @Const @ByRef IndexParams params) { super((Pointer)null); allocate(features, params); }
    private native void allocate(@ByVal UMat features, @Const @ByRef IndexParams params);

    public native void build(@ByVal Mat features, @Const @ByRef IndexParams params, @Cast("cvflann::flann_distance_t") int distType/*=cvflann::FLANN_DIST_L2*/);
    public native void build(@ByVal Mat features, @Const @ByRef IndexParams params);
    public native void build(@ByVal UMat features, @Const @ByRef IndexParams params, @Cast("cvflann::flann_distance_t") int distType/*=cvflann::FLANN_DIST_L2*/);
    public native void build(@ByVal UMat features, @Const @ByRef IndexParams params);
    public native void knnSearch(@ByVal Mat query, @ByVal Mat indices,
                       @ByVal Mat dists, int knn, @Const @ByRef(nullValue = "cv::flann::SearchParams()") SearchParams params);
    public native void knnSearch(@ByVal Mat query, @ByVal Mat indices,
                       @ByVal Mat dists, int knn);
    public native void knnSearch(@ByVal UMat query, @ByVal UMat indices,
                       @ByVal UMat dists, int knn, @Const @ByRef(nullValue = "cv::flann::SearchParams()") SearchParams params);
    public native void knnSearch(@ByVal UMat query, @ByVal UMat indices,
                       @ByVal UMat dists, int knn);

    public native int radiusSearch(@ByVal Mat query, @ByVal Mat indices,
                                 @ByVal Mat dists, double radius, int maxResults,
                                 @Const @ByRef(nullValue = "cv::flann::SearchParams()") SearchParams params);
    public native int radiusSearch(@ByVal Mat query, @ByVal Mat indices,
                                 @ByVal Mat dists, double radius, int maxResults);
    public native int radiusSearch(@ByVal UMat query, @ByVal UMat indices,
                                 @ByVal UMat dists, double radius, int maxResults,
                                 @Const @ByRef(nullValue = "cv::flann::SearchParams()") SearchParams params);
    public native int radiusSearch(@ByVal UMat query, @ByVal UMat indices,
                                 @ByVal UMat dists, double radius, int maxResults);

    public native void save(@Str BytePointer filename);
    public native void save(@Str String filename);
    public native @Cast("bool") boolean load(@ByVal Mat features, @Str BytePointer filename);
    public native @Cast("bool") boolean load(@ByVal Mat features, @Str String filename);
    public native @Cast("bool") boolean load(@ByVal UMat features, @Str BytePointer filename);
    public native @Cast("bool") boolean load(@ByVal UMat features, @Str String filename);
    public native void release();
    public native @Cast("cvflann::flann_distance_t") int getDistance();
    public native @Cast("cvflann::flann_algorithm_t") int getAlgorithm();
}

  // namespace cv::flann

// #endif


}
US Federal Reserve Reduces Pricing on State and Local Government Emergency Loans
On Tuesday, the US Federal Reserve announced that it will be lowering the cost of emergency loans for states and cities, after receiving a swarm of backlash that the facility’s loans were priced well above attainability.
The Municipal Liquidity Facility was put in place on May 26, with the goal of providing much needed financial support to state and local governments that became heavily overwhelmed amid the coronavirus pandemic. The facility set aside a total of $500 billion worth of loans, with pricing based on the borrower’s credit rating. Those eligible governments that had a credit rating of AAA/AAA- would be charged 150 basis points, while those with below investment grade rating would have to take on pricing of 590 points.
However, the Fed was soon faced with a barrage of criticism, as state